aapt:
-f 如果编译出来的文件已经存在,强制覆盖。
-m 使生成的包的目录放在-J参数指定的目录。
-J 指定生成的R.Java的输出目录
-S res文件夹路径(可以添加多个资源)
-A assert文件夹的路径
-M AndroidManifest.xml的路径
-I 某个版本平台的android.jar/依赖库的路径
-F 具体指定apk文件的输出
将工程的资源编译R.java文件
aapt package -m -J <R.java目录> -S <res目录> -I <android.jar目录> -M <AndroidManifest.xml目录>
将工程的资源编译编译到一个包里
aapt package -f -S <res目录> -I <android.jar目录> -A<assert目录> -M <AndroidManifest.xml目录> -F <输出的包目录>
多资源整合例子:
res:资源目录
ForRes:资源目录
./aapt package -f -S res -S ForRes -M AndroidManifest.xml --auto-add-overlay -I android.jar -F ./myres.apk
两个资源整合进myres.apk
--auto-add-overlay:整合覆盖重复资源 res覆盖ForRes资源
value下的attrs.xml不会自动整合覆盖,需要另外处理
依赖其它库资源例子:
使用constraint-layout-1.0.2.aar依赖库(-I为添加依赖库)
aapt package -f -S res -S ForRes -M AndroidManifest.xml --auto-add-overlay -I android.jar -I constraint-layout-1.0.2.aar -F ./myres.apk
当引用v7/v4等其它库的资源时,使用aapt编译时需要添加为依赖基础库,否则会出现以下错误
res/values-v26/styles.xml:14: error: Error: No resource found that matches the given name: attr 'android:keyboardNavigationCluster
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。