我正在尝试按照https://developer.android.com/studio/build/building-cmdline#bundletool-build中所述的说明,使用android app bundle
从命令行构建bundletool
一个基本上是从Android Studio创建的简单android项目,用于调查哪个项目已在Android Studio上成功编译。
具有编译资源的步骤是可以的,但是在使用aapt2的链接步骤中失败了。经过aapt2-3.4.0-5326820-windows
命令:
set ANDROID_TOOL=%ANDROID_SDK%/platforms/android-26/android.jar
%AAPT2% link --proto-format -o output.apk -I %ANDROID_TOOL% --manifest %CURRENT_DIR%/app/src/main/AndroidManifest.xml -R @compiled_resources.txt --auto-add-overlay -v
compiled_resources.txt
包含我之前处理过的.flat编译资源的列表。
错误:
error: resource style/Theme.AppCompat.Light.DarkActionBar (aka com.example.doandominh.simpleaab:style/Theme.AppCompat.Light.DarkActionBar) not found.
I:\RnD\AAB\SimpleAAB\\app\src\main\res\values\styles.xml:6: error: style attribute 'attr/colorPrimary (aka com.example.doandominh.simpleaab:attr/colorPrimary)' not found.
I:\RnD\AAB\SimpleAAB\\app\src\main\res\values\styles.xml:7: error: style attribute 'attr/colorPrimaryDark (aka com.example.doandominh.simpleaab:attr/colorPrimaryDark)' not found.
I:\RnD\AAB\SimpleAAB\\app\src\main\res\values\styles.xml:8: error: style attribute 'attr/colorAccent (aka com.example.doandominh.simpleaab:attr/colorAccent)' not found.
error: failed linking references.
我认为这取决于'com.android.support:appcompat-v7:26.1.0'之类的东西,但是我不知道如何将它们添加到aapt2链接参数中。
有人以前遇到过这个问题吗?任何评论都将受到高度赞赏。
答案 0 :(得分:1)
tldr:您还需要编译AppCompat资源,因为您是手工构建所有这些资源,并传递它们以与本地资源相同的方式链接(顺序很重要,可以保持正确的覆盖/覆盖)。
Android Gradle插件在应用程序级别处理资源的方式是: