android studio 3.0 -Aapt2Exception
16lz
2021-01-26
系统打包工具异常,什么鬼?
解决方案:
在gradle.properties文件里添加:android.enableAapt2=false 。解决!!!
那就有必要了解下AAPT了:
AAPT-Android Asset Packaging Tool(android资源打包工具);
对于怎么构建apk的,借用google官网的一张图,看一下流程:
流程简单说一下:
1.工程的资源文件(res下的文件),通过AAPT打包成R.java类文件(资源ID索引表),及arsc资源文件;
2.如果有AIDL(Android Interface definition Language),通过aidl工具,打包成java接口;
3.R.java和aidl.java通过java编译器编译成.class文件;
4.class文件和第三方jar或者library通过dx工具打包成dex文件。dx工具的主要作用是将java字节码转换成Dalvik字节码,在此过 程中会压缩常量池,消除一些冗余信息等;
5.apkbuilder工具会将所有没有编译的资源,.arsc资源,.dex文件打包到一个完成apk文件中中。
6.签名,5中完成apk通过配置的签名文件(debug和release都有),jarsigner工具会对齐签名。得到一个签名后的apk,signed.apk
7.zipAlign工具对6中的signed.apk进行对齐处理,所谓对齐,主要过程是将APK包中所有的资源文件距离文件起始偏移为4字节整数 倍,这样通过内存映射访问apk文件时的速度会更快。对齐的作用主要是为了减少运行时内存的使用。
更多相关文章
- tcping测试服务器TCP端口
- 转[Android]APK打包过程详解(二)
- 解决平台apk签名错误:no conscrypt_openjdk_jni in java.library.
- Android学习2
- android jni开发,用javah生成***.h头文件,用ndk在libs下生成***.so
- Android设备上使用WiFinspect抓取网络通讯包
- Android命令生成编译出build.xml文件
- Android(安卓)apk 二次打包植入广告
- android应用程序抓包