android studio 3.0 -Aapt2Exception

系统打包工具异常,什么鬼?

解决方案:

  在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文件时的速度会更快。对齐的作用主要是为了减少运行时内存的使用。

   

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值