【问题标题】:APT: error: attribute 'package' in tag is not a valid Java package name: 'com.mypackage.name_.app'APT:错误:标记中的属性“包”不是有效的 Java 包名称:“com.mypackage.name_.app”
【发布时间】:2020-04-06 02:55:43
【问题描述】:

我有一个应用程序,我正在尝试使用我的原始包名称进行编译,与此非常相似:com.mypackage.name_.app'

到目前为止,该应用程序编译成功,我将其迁移到最新版本的 Gradle,并且正在使用 API 24 进行编译。之前我使用的是旧版本的 Gradle 和 API 23。

现在,在尝试编译该应用程序时,我收到此错误:

    APT: error: attribute 'package' in tag is not a valid Java package name: 'com.mypackage.name_.app'.
    .
    .
    Failed to execute aapt
    com.android.ide.common.process.ProcessException: Failed to execute aapt
    .
    .
    Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:482)
    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:794)

我在这里发现 AAPT2 不允许在您的包名称的一部分末尾添加下划线:All of my android studio projects and all new ones give me errors coming from the debug android manifest file

但是,如果您之前编译并发布到 Google Play 中的应用程序包名称的一部分末尾带有下划线,会发生什么情况?例如我找到了这个例子:https://play.google.com/store/apps/details?id=com.mobincube.tarifas_taxi_.sc_35K1XV

它以这个包名部分“.tarifas_taxi_.”发布到 Google Play 中

那个开发者(和我)现在如何编译我们的应用程序,下划线在那个位置?

【问题讨论】:

    标签: android android-gradle-plugin android-manifest package-name java-package


    【解决方案1】:

    AAPT2 不允许以“单词”结尾或以下划线字符开头的包名称。
    这里对于包“com.mypackage.name_.app”,违规词是“name_”。去掉下划线或使用“name_foo”(单词中间允许下划线)使之有效。
    问题跟踪器上有一个未解决的问题,AAPT2 的所有者正在查看它。

    更多信息:https://issuetracker.google.com/68468089

    【讨论】:

    • 这很可能会被标记为“按预期工作”或需要几个月才能修复,因此对您来说最好的解决方案是将包名称更改为不包含以“_”结尾的单词.
    猜你喜欢
    • 2019-08-31
    • 2021-06-04
    • 2016-03-22
    • 2022-11-23
    • 2017-03-18
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多