“ com.example受限” Google Play错误;即使更改软件包名称

ACl*_*mer 0 java android gradle android-gradle-plugin

我去从Android Studio发布我的第一个android应用程序。当我上传到Google Play时,出现以下错误:

上载失败:由于“ com.example”受到限制,因此您需要使用其他软件包名称。

当我重命名程序包名称时,它仍然给我错误消息。我尝试制作一个新软件包并将所有内容移至该软件包,但错误仍然存​​在。我已经删除了com.example软件包的所有痕迹。我还确保将Android Manifest.xml更改为新软件包。

唯一仍然显示旧软件包名称的是BuildConfig.java,它包含以下行,然后是我的旧软件包名称的其余部分:

public static final String PACKAGE_NAME = "com.example"
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮助我并回答这个帖子,我将不胜感激。我正在使用Ubuntu Linux 14.04.1。

Tan*_*.7x 5

这与Android Gradle插件中的最新更改有关,该更改将应用​​程序的标识符与Java包名称分开。

Android使用该应用程序的标识符来识别您的应用程序。它也用作Play商店网址中的标识符。它通常但不总是与Java包名称相同。

从Gradle插件的0.11版本开始,使用以下applicationId设置在build.gradle中设置应用程序ID :

android {
    defaultConfig {
        applicationId "com.yourdomain.yourapp"
    }
}
Run Code Online (Sandbox Code Playgroud)

设置此选项可以解决您的问题。

开发者控制台中的错误消息可能只是未更改以反映新术语。

从Gradle Plugin版本0.11 发行说明

用户对0.11的可见更改之一是,我们已弃用packageName和packageNameSuffix设置,并将它们重命名为applicationId和applicationIdSuffix。这样做的目的是清楚表明此应用程序ID与清单中的包声明脱钩,尤其是R类和BuildConfig类以及应用程序内的所有实现类都可以自由重命名和重构。您只需要保持applicationId不变即可。如果打开build.gradle文件,则lint会突出显示这些已弃用的调用,并提供快速修复程序来更新它们。