Android APT:error:attribute';包装';in标记不是有效的Java包名称:';com.mypackage.name.app';

Android APT:error:attribute';包装';in标记不是有效的Java包名称:';com.mypackage.name.app';,android,android-gradle-plugin,android-manifest,package-name,java-package,Android,Android Gradle Plugin,Android Manifest,Package Name,Java Package,我有一个应用程序,我正试图用我的原始包名编译它,非常类似于这样:com.mypackage.name\uuu.app' 到目前为止,该应用程序编译成功,我已将其迁移到Gradle的最新版本,并使用API 24进行编译。以前我使用的是Gradle和API 23的旧版本 现在,在尝试编译该应用程序时,我遇到以下错误: APT: error: attribute 'package' in tag is not a valid Java package name: 'com.mypackage.

我有一个应用程序,我正试图用我的原始包名编译它,非常类似于这样:
com.mypackage.name\uuu.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不允许在程序包名称的一部分末尾加下划线:

但是,如果您之前编译并发布到Google Play应用程序中,并且在程序包名称的一部分末尾带有下划线,会发生什么情况?例如,我发现这个例子:

它被发布到Google Play中,并带有此包名部分“
.tarifas\u taxi.


那个开发人员(和我)现在怎么能用下划线来编译我们的应用程序呢?

AAPT2不允许包名以“words”结尾或以下划线字符开头
在这里,对于包“com.mypackage.name\uux.app”,冒犯的词是“name\ux”。删除下划线或使用“NAMEYFOO”(下划线允许在单词中间)使之成为工作。 问题追踪器上有一个未解决的问题,AAPT2的所有者正在查看


更多信息:

这很可能会被标记为“按预期工作”,或者需要几个月的时间来修复,因此您最好的解决方案是将程序包名称更改为不包含以“\u”结尾的单词。