【问题标题】:Apk was compiled manually but aapt reported an error手动编译apk但是aapt报错
【发布时间】:2019-04-06 09:38:46
【问题描述】:

我正在手动编译一个 apk。但是使用aapt的时候打包有错误。

在 Android Studio 中创建一个简单的项目。然后用aapt打包他的资源。 命令如下:

aapt package -f -m -J build -S res -M AndroidManifest.xml 
-I /SDK/platforms/android-28/android.jar

错误输出如下:

error: resource style/Theme.AppCompat.Light.NoActionBar (aka com.jz.myapplication:style/Theme.AppCompat.Light.NoActionBar) not found.
./res/values/styles.xml:6: error: style attribute 'attr/colorPrimary (aka com.jz.myapplication:attr/colorPrimary)' not found.
./res/values/styles.xml:7: error: style attribute 'attr/colorPrimaryDark (aka com.jz.myapplication:attr/colorPrimaryDark)' not found.
./res/values/styles.xml:8: error: style attribute 'attr/colorAccent (aka com.jz.myapplication:attr/colorAccent)' not found.
error: failed linking references.

【问题讨论】:

    标签: android aapt


    【解决方案1】:

    您缺少应用兼容库中的资源。

    如果您要使用某些库中的资源,则需要使用 -S 标志包含这些库中的所有资源及其传递依赖项。您还需要注意这些输入的顺序,因为它们会影响运行时的资源覆盖。

    如果您使用 Android Gradle 插件,所有这些都会自动为您完成。

    【讨论】:

    • Izabela 想通了,除此之外,由于使用支持库作为依赖项很难手动完成,您可以参考我的这个答案 stackoverflow.com/questions/54274657/…>,它描述了我们如何使用 android.jar 的通用主题。这样,您将独立于任何支持库,您将能够编译和创建 dex 文件并进一步进入 apk。确保您签署了您的 apk 以便在 Android 设备上运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2013-06-18
    • 1970-01-01
    • 2014-03-28
    • 2019-12-26
    • 2013-05-11
    相关资源
    最近更新 更多