+-

我正在使用 Android Studio 2.1.2版,我正在尝试将Google Cloud Messaging应用到我的应用中.
为了能够做到这一点,我必须获得一个Google Services json文件(配置文件)才能添加到我的项目中.
要从Google Api控制台面板获取此文件,我需要提供我的应用名称和应用的应用包名称.这是我的问题开始的地方.
在我的应用程序中,Manifest文件中的包名称与应用程序级build.gradle文件中的applicationId不同.在Google Play商店中,正在使用applicationId.
说明我的意思,在我的清单文件中;
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
在我的gradle文件中;
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId 'com.menu.jkrk'
minSdkVersion 16
targetSdkVersion 23
versionCode 3
versionName "1.0"
}
现在,哪一个提供谷歌作为包名来获取配置文件?
其次,哪个应该用于请求在我的清单文件中允许使用C2D_MESSAGE格式;
<application-package-name> + ".permission.C2D_MESSAGE
谢谢你的帮助.
最佳答案
将使用build.gradle中指定的应用程序标识.
AndroidManifest.xml中的条目被覆盖
您的AndroidManifest.xml将如下所示
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<receiver ...>
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
点击查看更多相关文章
转载注明原文:Android:哪一个用于包名? Manifest的packagename或Gradle applicationId? - 乐贴网