“com.example restricted”Google Play错误;即使更改包名称

时间:2014-10-03 20:02:19

标签: java android gradle android-gradle

我去Android Studio发布了我的第一个Android应用程序。当我上传到Google Play时,我收到了此错误:

  

上传失败:您需要使用其他包名称,因为“com.example”受到限制。

当我重命名包名时,它仍然给我错误信息。我尝试制作一个新包并将所有内容移动到那个,但错误仍然存​​在。我删除了com.example包的任何痕迹。我还确保将Android Manifest.xml更改为新包。

唯一仍然说旧包名称的是BuildConfig.java,其中包含此行,后跟剩余的旧包名:

public static final String PACKAGE_NAME = "com.example"

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

1 个答案:

答案 0 :(得分:5)

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

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

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

android {
    defaultConfig {
        applicationId "com.yourdomain.yourapp"
    }
}

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

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

从Gradle插件版本0.11 release notes

  

0.11中用户可见的一个变化是我们已经弃用了   packageName和packageNameSuffix设置,并将它们重命名为   applicationId和applicationIdSuffix。这样做的目的是使   很明显,这个应用程序ID与包解耦   清单中的声明,特别是R类和   BuildConfig类,以及应用程序内的所有实现类,   可以自由重命名和重构;你只需要保持   applicationId一样。如果打开build.gradle文件,则lint为   突出显示这些已弃用的调用并提供要更新的快速修正   它们。