seb*_*neo 8 android build gradle apk android-studio
我注意到使用这两个选项生成的apk之间的大小不同.
为什么会这样?
使用Build - > Build APK选项:
MyProject\app\build\outputs\apk\app-debug.apk(大小2.997 KB)
使用" 运行"应用选项:
MyProject\app\build\outputs\apk\app-debug.apk(大小3.300 KB)
谢谢.
Nis*_*han 11
当您通过Build-> Build APK创建构建时,apk将包含所有设备的所有资源.即对于ldpi,mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi.
但是如果您在设备/模拟器上运行应用程序,它将检测到手机的分辨率是什么,并将仅将具有该分辨率的资源添加到apk文件中.例如,如果您的设备是xhdpi,它将丢弃所有其他屏幕分辨率,并且仅包含xhdpi资源.
Build APK是运行:app:assembleDebugGradle任务的快捷方式(假设您在Build Variants窗口中激活了调试变量).
运行应用程序时,我们首先询问您要定位哪个设备,然后将信息传递给Gradle.除此之外,这可以让我们过滤掉不必要的资源.如果您启用了即时运行,我们还会将其他代码打包到APK中.
我的即时运行已关闭.
我使用了6MB的APK大小Run->Run 'App'和使用11MB的Build->Build APK签名和未签名的APK选项.Build->Generate Signed APK...选项还为我的应用程序提供了11MB APK.
我认为Android Studio会降低一些资源以使构建更快.
具有11MB大小的APK拥有更多资源,因此在游戏商店上传是更好的选择.
我曾经Build->Analyze Apk...分析过这两个APK,所以我发现了来自v4和v17库的一些额外的drawable,因为我发现了5.7mb的差异.
issue如果作为Android Studio 团队的成员,这个问题可能会得到更好的回答。我的猜测是您正在Instant RunAndroid Studio (AS) 内部使用。这可以解释较大的大小,因为 Instant Run 会为更改的代码生成代理类。
编辑Run要使用的构建配置gradle build,您应该能够删除额外的代码...但这将带来更长的构建/部署时间...如果调试构建的大小对您来说确实很重要,那么没关系,但对于大多数人来说这将毁掉 Android 团队最近为提高速度而对 DSL 所做的所有改进
| 归档时间: |
|
| 查看次数: |
4217 次 |
| 最近记录: |