android studio 编译后 app-debug.apk 和 app-release.apk 的区别

AS版本:Android studio 3.2.1

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

 

adb install Y:\test\debug\app-debug.apk
Y:\test\debug\app-debug.apk: 1 file pushed. 2.0 MB/s (9533549 bytes in 4.548s)
        pkg: /data/local/tmp/app-debug.apk
Failure [INSTALL_FAILED_TEST_ONLY]
 

adb install Y:\test\debug\app-release.apk
Y:\test\debug\app-release.apk: 1 file pushed. 2.0 MB/s (7958040 bytes in 3.748s)
        pkg: /data/local/tmp/app-release.apk
Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]
 

adb install Y:\test\debug\pt2259_debug.apk   (用platform签过名)
Y:\test\debug\pt2259_debug.apk: 1 file pushed. 2.0 MB/s (8906761 bytes in 4.158s)
        pkg: /data/local/tmp/pt2259_debug.apk
Failure [INSTALL_FAILED_TEST_ONLY]
 

adb install Y:\test\debug\pt2259_release.apk     (用platform签过名)
Y:\test\debug\pt2259_release.apk: 1 file pushed. 2.0 MB/s (7962337 bytes in 3.757s)
        pkg: /data/local/tmp/pt2259_release.apk
Success
 

 

 总结:

1. app-debug.apk只能通过run app运行到目标设备,如果把这个apk通过adb install安装到目标设备,则报错:INSTALL_FAILED_TEST_ONLY

2. adb install只能安装release版apk

3. 系统权限签名:
签名工具存放在系统源码的目录  out/host/linux-x86/framework/signapk.jar
签名文件存放在系统源码的目录  build/target/product/security/
签名方法:java  -jar  signapk.jar  platform.x509.pem  platform.pk8  old.apk  new.apk

4. INSTALL_FAILED_SHARED_USER_INCOMPATIBLE报错是因为没有系统权限签名,即没有用platform.pk8和platform.x509.pem进行权限签名。

5.  android studio中如下签名不是权限签名,是java包名唯一性签名,即为了防止他人反编译用同样包名篡改apk。简而言之,没有同样的.jks签名文件,则同样包名的apk无法覆盖安装同包名的apk。

 

 

Android Studio编译APK的过程如下: 1. 首先,确保你已经完成了项目的开发,并且代码没有错误。如果项目有错误,你需要先解决它们。 2. 确认你的项目配置正确,包括你的build.gradle文件和AndroidManifest.xml文件。 3. 在Android Studio中,点击菜单栏中的"Build"选项,然后选择"Build Bundle(s) / APK(s)"。 4. 弹出一个窗口,你可以选择构建APK的方式。你可以选择构建Debug版本或者Release版本。一般来说,Debug版本用于调试和测试,而Release版本是最终发布的版本。 5. 选择构建类型后,点击"Next"按钮。 6. 在接下来的窗口中,你可以选择构建APK的目标设备和目标操作系统版本。你可以选择所有设备和操作系统版本,或者根据需要进行选择。 7. 点击"Finish"按钮开始编译APK编译过程可能需要一些时间,取决于你的项目的大小和复杂度。 8. 一旦编译完成,你可以在项目的根目录下的/app/build/outputs/apk/文件夹中找到生成的APK文件。根据你选择的构建类型,可能会生成多个APK文件,包括debugrelease版本。 请注意,生成的APK文件需要进行签名才能在设备上安装和运行。对于debug版本,Android Studio会自动进行签名。对于release版本,你需要使用Android Studio提供的签名工具或者自己创建一个签名文件进行签名。 希望以上信息能帮助到你。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Android studio 利用gradle快速编译apk](https://blog.csdn.net/qq_16628781/article/details/49365139)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值