[英]How to debug apk signed for release?
我有一個已簽名並上傳到 Android Market 並安裝在手機上的 apk。 我想在我的手機上運行這個版本的 apk(通過 Eclipse)來調試它。 我以前做過這個(並且記得它是使用其中一個 Android 開發工具;也許是 Dalvik 調試監視器)但不幸的是不記得如何去做,並且無法在網上找到任何文章。 有誰知道如何做到這一點?
注意:我在清單中設置了
android:debuggable="true"
並在我的手機上啟用了 USB 調試。
我知道這是一個老問題,但未來的參考。 在帶有 Gradle 的 Android Studio 中:
buildTypes {
release {
debuggable true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
線debuggable true
對我來說是訣竅。
在 Gradle 1.0 之前,它是runProguard
而不是minifyEnabled
。 看這里。
確保android:debuggable="true"
在清單文件的application
標記中設置,然后:
除了 Manuel 的方式,你仍然可以使用 Manifest。
在 Android Studio stable 中,您必須在AndroidManifest
文件中的application
中添加以下 2 行:
android:debuggable="true"
tools:ignore="HardcodedDebugMode"
第一個將啟用已簽名 APK 的調試,第二個將防止編譯時錯誤。
在此之后,您可以通過“將調試器附加到 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 {
release {
debuggable true
signingConfig signingConfigs.config
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
如果您決定調試已經上市但未指定為可調試的apk,並且您不想再次發布它。 所以請按照以下步驟操作;
apktool d <APK_PATH>
)application
標簽中設置android:debuggable="true"
apktool b <MODIFIED_PATH>
)如果您需要運行不可調試的 apk,此答案會有所幫助:
運行已簽名的 apk:
adb install C:\appPath\app\release\app-release.apk
然后將 LogCat 中的下拉列表更改為 Error。
您現在可以看到錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.