无法使用bundletool从命令行构建Android应用捆绑包

3

我正在尝试使用 bundletool 命令行构建 android app bundle ,并按照https://developer.android.com/studio/build/building-cmdline#bundletool-build中的说明进行操作。

使用 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链接参数中。

有人遇到过这个问题吗?欢迎任何评论。


你能分享一下你如何编译资源吗?我正在做同样的事情,以下命令有效: aapt2 compile --dir input/res -o temp_dir/compiled_resources 然后执行 aapt2 link --proto-format -o temporary.apk -I platforms/android-29/android.jar --manifest input/AndroidManifest.xml -R compiled_resources/*.flat --auto-add-overlay --java gen - Yigit Alparslan
1个回答

1
简而言之:由于你正在手动构建所有内容,因此还需要编译AppCompat资源,并将其传递给链接本地资源的方式相同(顺序很重要以保持正确的覆盖/覆盖效果)。
Android Gradle插件处理应用程序级别资源的方式是:
- 合并所有资源(本地应用程序、本地库、远程库、额外的资源源集等) - 使用“aapt2 compile”(带或不带PNG压缩)编译所有内容 - 将所有内容链接到APK中

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接