Android release版本的APK、debug版本的APK以及通过AS直接调试安装到手机上的APK的区别

一.release版本的APK和debug版本的APK的区别

首先说明一下,这两个版本的APK是指通过AS打包出来的(Build->Generate Signed Bundle/APK ),用AS打包出来的APK是有强制你设置签名的。相信这两者的区别很多文章都说过了,主要有以下几点区别:

1.release为发行版本,debug为调试版本

发行版本即正常我们发布到市场上给用户使用的,debug版本就是我们内部调试用的。

2.release版本的APK会比debug版本的APK文件小

因为release版本是要发行给用户去用的,故而打包的时候AS会自动帮我们去进行优化(包括混淆操作,下面会讲),也不会包含任何调试的信息,所以它的体积会变小,运行速度也会比较快。详见下图,我自己打包的两个版本的APK,是不是很明显了。

3.混淆问题

详文见:Android正式包release版本跟测试包debug版本的区别 - 简书 (jianshu.com)

release版本的应用都是进行了混淆操作的,而debug版本的是没有的。

首先我们来简单讲一下什么是混淆

混淆就是对发布出去的程序进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能,而混淆后的代码很难被反编译,即使反编译成功也很难得出程序的真正语义。

被混淆过的程序代码,仍然遵照原来的档案格式和指令集,执行结果也与混淆前一样,只是混淆器将代码中的所有变量、函数、类的名称变为简短的英文字母代号,在缺乏相应的函数名和程序注释的情况下,即使被反编译,也将难以阅读,release版的还会进行混淆和用自己的keystore签名,以防止别人反编译后重新打包替换你的应用
同时混淆是不可逆的,在混淆的过程中一些不影响正常运行的信息将永久丢失,这些信息的丢失使程序变得更加难以理解。

其次,我们再来讲,为什么要混淆

混淆的作用不仅仅是保护代码,它也有精简编译后程序大小的作用。由于以上介绍的缩短变量和函数名以及丢失部分信息的原因,编译后jar文件体积大约能减少25%。所以混淆还有缩减apk大小的作用。

二. 通过AS直接调试安装到手机上的APK与上述release版本的APK和debug版本的APK的区别

1.通过AS直接调试安装到手机上的APK是没有经过签名的,无法给别的手机安装

没有经过签名所以如果你拿着这个安装包给别人去安装,别人的手机是安装不了的,安装的时候会说无法识别应用的备案情况安装失败,示例如下:

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中创建的APKAndroid Package)文件通常是在完成应用开发和测试后,用于在实际设备或模拟器上安装和运行的。下面是安装步骤: 1. **确保环境准备**: - 确保您的Android设备连接到电脑,或者开启USB调试模式并连接到电脑。 - 如果是模拟器,选择一个支持您目标API版本的AVD(Android虚拟设备)。 2. **编译APK**: - 在Android Studio中打开项目,点击菜单栏的"Build",然后选择"Generate Signed Bundle / APK"。如果您还没创建签名(keystore),系统会提示您设置。 - 选择"APK"作为生成类型,然后点击"Build"按钮。 3. **找到APK文件**: - 完成编译后,会在"buildoutputsapk"文件夹中找到打包好的APK文件(通常是app-debug.apk或app-release.apk)。 4. **安装APK**: - 如果是连接的设备,打开文件管理器,将APK直接拖拽到设备的"Download"或"Apps"文件夹。 - 或者,点击设备通知栏中的"连接设备"或"安装未知来源的应用"(可能需要在设置中启用)。 - 在设备上打开文件管理器,找到APK,点击安装。 5. **确认安装**: - 如果有安全提示,按照提示进行操作,比如输入设备密码或确认安装权限。 6. **首次启动**: - 安装完成后,您可以在设备的应用列表中找到新安装的应用并点击打开。 相关问题: 1. 如何在Android Studio中设置签名(keystore)? 2. 安卓设备如何开启USB调试模式? 3. 如果安装失败,可能有哪些常见问题?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值