Facebook设置,在我的Android项目中使用暂存和prod版本

Facebook设置,在我的Android项目中使用暂存和prod版本,android,facebook,android-manifest,Android,Facebook,Android Manifest,我在Facebook中定义了两个版本的应用程序(prod版本和staging版本): 在清单中,我有以下正式设置: <!-- https://developers.facebook.com/docs/android/getting-started --> <meta-data android:name="com.facebook.sdk.ApplicationId" tools:replace="android:

我在Facebook中定义了两个版本的应用程序(prod版本和staging版本):

在清单中,我有以下正式设置:

<!-- https://developers.facebook.com/docs/android/getting-started -->
        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            tools:replace="android:value"
            android:value="@string/facebook_app_id" />
在my Gradle.properties中:

# Facebook identifier (app ID)
FACEBOOK_APP_ID="XXXXXXXX"
FACEBOOK_APP_ID_STAGING="YYYYYYYY"
因此,我如何在项目构建期间轻松切换到facebook应用程序prod staging,因为目前它已固定为always prod版本(请参阅清单摘录)


非常感谢大家

你可以用这种方式在app
build.gradle
文件中移动属性

defaultConfig {
    //this will be valid for release and debug buildTypes
    manifestPlaceholders = [facebook_app_id:"RELEASE_KEY_XXXX"]
    ...
}
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    staging {
        initWith debug
        manifestPlaceholders = [facebook_app_id:"STAGING_KEY_XXXX"]
    }
}
AndroidManifest.xml
中,您可以使用占位符:

<meta-data
     android:name="com.facebook.sdk.ApplicationId"
     tools:replace="android:value"
     android:value="${facebook_app_id}" />

如果要执行更高级的配置,可以阅读有关配置生成变体的更多信息

<meta-data
     android:name="com.facebook.sdk.ApplicationId"
     tools:replace="android:value"
     android:value="${facebook_app_id}" />