【问题标题】:Android app package name安卓应用包名
【发布时间】:2013-12-24 03:41:29
【问题描述】:

使用 Java 创建 Android 应用程序时,您将类放入包中,例如 com.example.appName

但是,在 Android XML 清单文件中,您还可以在其中指定包。

据我了解,上传 Android 应用的 Google Play 商店使用包名称作为您应用的唯一标识符。

那么,哪个包名真正标识了您的应用/APK 文件?代码中的包名可以与清单中的包名不同吗?

【问题讨论】:

    标签: java android android-manifest


    【解决方案1】:

    只有AndroidManifest.xml 中的包名才算数,不得更改。放置 Java 类的包可以是任何东西。

    【讨论】:

    • 那么代码中的包名和manifest是完全独立的吗?而且代码中的包名基本都被忽略了?
    • @LiamFlaherty 他们不会被忽略。例如,您的清单必须说明您的活动的完整 (java) 包名称。只要它们相同,您就可以编写诸如“.MainActivity”之类的简短内容,它会假定您的意思是“[包名称] .MainActivity”,如果它们不同,则必须写下完整路径。 Java 包名:根据需要组织代码。清单包名称:Play 商店应用标识符。
    【解决方案2】:

    Play 商店从清单文件中提取包作为标识符

    你的源文件是放在同一个包还是别的包里真的没关系。

    因此,您可以将源文件管理/安排到您想要的任意包中。

    通常,更容易将源文件与清单文件放在同一个包/子包中,这样从清单文件中引用它们就更容易了,因为您不必指定活动/服务的完全限定类名

    【讨论】:

      【解决方案3】:
      which package name actually identifies your app/APK file?
      

      play store 将只接受 Android manifest 包。喜欢package="com.example.appName"

       can the package names in your code be different to the package name in the manifest?
      

      是的,您可以为您的代码使用不同的包,但需要在 manifest.xml 中声明时提供绝对包名

      android:name="org.demo.MyFile"
      

      【讨论】:

      • 所以manifest中的包名不能和代码中的任何包名完全不同?
      【解决方案4】:

      Android XML manifest 文件包被 Google Play Store 理解,因为当你在 google play store 上传 android 应用程序时,Google Play Store 只读取这个文件。

      所以,如果您的 src 包和清单不同,那么它不会产生任何问题。

      谢谢

      【讨论】:

        【解决方案5】:

        我只想添加更多观察: * AndroidManifest 的字段包也用于生成类的包(例如 R 类) * 如果您在项目中使用谷歌地图 v2,请注意授权中使用的包,因为需要相同。如果您不这样做,它将不会获取地图,但不会在 logcat 中显示错误消息。 (今天和昨天刚刚碰到这个问题)

        googlemap v2 版本 8.1.1 谷歌播放服务 4.4.52

        【讨论】:

          【解决方案6】:

          这里的答案似乎与我的经验有些不同。

          在 Android Studio 中,Build.Gradle 中的 applicationId 是重要属性,不应更改。

          我们的 Manifest 包名称与我们的 applicationId 不同,我将它们更改为相同并且能够将 APK 上传到 Google Play 而不会出错。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-05-19
            • 2021-12-08
            相关资源
            最近更新 更多