app-debug.apk 和 app-release.apk 的核心區別在AndroidManifest.xml 。
生成app-debug.apk時,編譯器會自動在該apk的AndroidManifest.xml中添加android:debuggable="true"
生成app-release.apk時,編譯器會自動在該apk的AndroidManifest.xml中去掉 android:debuggable
make project(ctrl+F9) 生成app-debug.apk
run app (shift + F10)生成app-debug.apk
擴展資料:
1、 app-debug.apk只能通過run app運行到目標設備,如果把這個apk通過adb install安裝到目標設備,則報錯:INSTALL_FAILED_TEST_ONLY2. adb install只能安裝release版apk
2、系統權限簽名:
簽名工具存放在系統源碼的目錄?out/host/linux-x86/framework/signapk.jar
簽名文件存放在系統源碼的目錄?build/target/product/security/
簽名方法:java?-jar?signapk.jar?platform.x509.pem?platform.pk8?old.apk?new.apk
3、INSTALL_FAILED_SHARED_USER_INCOMPATIBLE報錯是因為沒有系統權限簽名,即沒有用platform.pk8和platform.x509.pem進行權限簽名。
4、 android studio中如下簽名不是權限簽名,是java包名唯壹性簽名,即為了防止他人反編譯用同樣包名篡改apk。簡而言之,沒有同樣的.jks簽名文件,則同樣包名的apk無法覆蓋安裝同包名的apk。