Demo:Advanced
lib/:包含特定于处理器软件层的编译代码。该目录包含了每种平台的子目录,像armeabi,armeabi-v7a, arm64-v8a,x86,x86_64,和mips。大多数情况下我们可以只用一种armeabi-v7a,后面会讲到原因。
assets/:包含应用可以使用AssetManager对象检索的应用资源。
res/:包含未编译到的资源 resources.arsc,主要有图片资源文件。
META-INF/:包含CERT.SF和 CERT.RSA签名文件以及MANIFEST.MF 清单文件。
resources.arsc:包含已编译的资源。该文件包含res/values/ 文件夹所有配置中的XML内容。打包工具提取此XML内容,将其编译为二进制格式,并将内容归档。此内容包括语言字符串和样式,以及直接包含在resources.arsc文件中的内容路径 ,例如布局文件和图像。
classes.dex:包含以Dalvik / ART虚拟机可理解的DEX文件格式编译的类。
AndroidManifest.xml:包含核心Android清单文件。该文件列出应用程序的名称,版本,访问权限和引用的库文件。该文件使用Android的二进制XML格式。
作者:aserbao
链接:https://www.jianshu.com/p/fee82949ff84
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Lint,取720p的资源,放到xhdpi目录。
Refactor、Remove All Unused Resources,删除所有的无用资源。
增加shrinkResources资源压缩功能,当然minifyEnabled混淆自然要打开。
android {
...
buildTypes {
release {
shrinkResources true
minifyEnabled true
}
}
}
图片尽量采用使用webp格式,没有,使用jpg格式。
使用tinypng等图片压缩工具对图片进行压缩。
删除x86包下的so。
abiFilters "armeabi-v7a"
重新编译so文件,用更小的库代替。
使用provided可以保证实际打包中并不引用此第三方库,实现了控制APP大小的目标。
纯色的渐变的圆角的图片都可以用shape实现。
国内应用只支持中文,可设置
android {
defaultConfig {
resConfigs "zh"
}
}
尝试使用动态加载so库文件,插件化开发。
将大资源文件放到服务端,启动后自动下载使用。
349

被折叠的 条评论
为什么被折叠?



