TL;DR
- Android Studioとgradlew(またはgradleコマンド)とで、installDebugで使うdebug.keystoreが別になっているっぽかった
- ~/.android/debug.keystore を使うんじゃねぇのかよ!
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations - INSTALL_FAILED_UPDATE_INCOMPATIBLE になってウザい
- 環境変数 ANDROID_SDK_HOME を消したら直った
関連issue
Issue 162179 - android - Android Studio and Gradle wrapper use different default keystore - Android Open Source Project - Issue Tracker - Google Project Hosting
https://code.google.com/p/android/issues/detail?id=162179
嘆き
んー、やっぱgradlewつかってinstallDebugした時、 ~/.android/debug.keystore じゃない何かを使っているぞWTF
— あんどろいどりんご@3日目東シ58a (@mstssk) November 14, 2015
色々試した↓結果
原因わかったけど、これはundocumentedな挙動ではないのか…
— あんどろいどりんご@3日目東シ58a (@mstssk) November 14, 2015
それっぽいissueを見つける
Issue 162179 - android - Android Studio and Gradle wrapper use different default keystore Google Project Hosting https://t.co/O7cEYgcpXt
— あんどろいどりんご@3日目東シ58a (@mstssk) November 14, 2015
真理に至る
環境変数 ANDROID_SDK_HOME があると、gradlew installDebug コマンドでは $ANDROID_SDK_HOME/.android/debug.keystore を使いやがるので、 ~/.android/debug.keytore と違う署名になる
— あんどろいどりんご@3日目東シ58a (@mstssk) November 14, 2015
くっそおおおお
— あんどろいどりんご@3日目東シ58a (@mstssk) November 14, 2015