+-
Android:哪一个用于包名? Manifest的packagename或Gradle applicationId?
我正在使用 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? - 乐贴网