Android Marketに署名してアップロードし、携帯電話にインストールしたapkがあります。このリリースapkを(Eclipseを使用して)デバッグし、携帯電話で実行したいと思います。私は以前にこれを行いました(Android開発ツールの1つ、おそらくDalvik Debug Monitorを使用していたことを覚えています)が、残念ながらそれを行う方法を思い出せず、オンラインで記事を見つけることができませんでした。誰もこれをどのように行うことができるか知っていますか?
注: Ihaveマニフェストで
Android:debuggable="true"
を設定し、携帯電話でUSBデバッグを有効にしました。
マニフェストファイルのapplication
タグにAndroid:debuggable="true"
が設定されていることを確認してから、次の操作を行います。
これは古い質問ですが、今後の参考資料です。 Gradleを使用したAndroid Studioの場合:
buildTypes {
release {
debuggable true
runProguard true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
debuggable true
という行は私にとってのトリックでした。
更新:
Gradle 1.0以降は、minifyEnabled
ではなくrunProguard
です。 こちら を見てください
マニュエルの方法以外にも、マニフェストを使用できます。
Android Studio安定版では、application
ファイルのAndroidManifest
に次の2行を追加する必要があります。
Android:debuggable="true"
tools:ignore="HardcodedDebugMode"
1つ目は署名されたAPKのデバッグを有効にし、2つ目はコンパイル時エラーを防ぎます。
この後、「デバッガーを[Androidプロセスにアタッチ]ボタン」を使用してプロセスにアタッチできます。
私は以下を試してみましたが、うまくいきました:
release {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
以下をアプリbuild.gradleに追加し、指定されたリリースビルドバリアントを選択して実行します
signingConfigs {
config {
keyAlias 'keyalias'
keyPassword 'keypwd'
storeFile file('<<KEYSTORE-PATH>>.keystore')
storePassword 'pwd'
}
}
buildTypes {
debug {
debuggable true
signingConfig signingConfigs.config
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
既に市販されているがデバッグ可能に割り当てられていないデバッグyourapkを決定し、再度公開したくない場合。以下の手順に従ってください。
apktool d <APK_PATH>
)でApkを逆コンパイルしますapplication
タグにAndroid:debuggable="true"
を設定しますapktool b <MODIFIED_PATH>
)