使用Java创建Android应用程序时,可以将类放入com.example.appName
但是,在Android XML清单文件中,您还要在那里指定包。
据我了解,上传Android应用的Google Play商店使用套餐名称作为您应用的唯一标识符。
那么,哪个包名实际上标识了您的app / APK文件?您的代码中的包名称是否可以与清单中的包名称不同?
答案 0 :(得分:7)
只有AndroidManifest.xml
中的包名称有效且不得更改。您放入Java类的包可以是任何东西。
答案 1 :(得分:2)
Play商店从清单文件中选取标识符。
如果您的源文件进入同一个包或其他内容,这无关紧要。
因此,您可以将源文件管理/排列到任何所需的任意包中。
通常,将源文件放在与清单文件相同的包/子包中更容易,因此从清单文件中引用它们更容易,因为您不必指定您的活动/服务的完全限定类名等。
答案 2 :(得分:1)
which package name actually identifies your app/APK file?
Play商店将只采用Android清单包。比如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"
答案 3 :(得分:1)
Android XML清单文件包是Google Play商店所理解的,因为当您在Google Play商店中上传Android应用程序时,Google Play商店只会读取此文件。
所以,如果你的src包和manifest不同,那么它就没有任何问题。
由于
答案 4 :(得分:0)
我只想补充几点观察: * AndroidManifest的字段包也用于生成类的包(例如R类) *如果您在项目中使用谷歌地图v2,请注意授权中使用的包,因为需要相同。如果你不这样做,它将不会获取地图但在logcat中没有错误消息。 (今天和昨天刚刚发过这个问题)
googlemap v2版本8.1.1 谷歌播放服务4.4.52
答案 5 :(得分:0)
这里的答案似乎与我的经历有点不同。
在Android Studio中,Build.Gradle中的applicationId是重要属性,不应更改。
我们的Manifest软件包名称与我们的applicationId不同,我将它们更改为相同,并且能够毫无错误地将APK上传到Google Play。