在我的 Android 项目中使用暂存和生产版本设置 Facebook
Facebook setup with staging and prod version in my Android project
我在 Facebook 中定义了我的应用程序的 2 个版本(生产版本和暂存版本):
在清单中我有这个官方设置:
<!-- 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" />
在我的 Gradle:
// Facebook app id
resValue "string", "facebook_app_id", FACEBOOK_APP_ID
resValue "string", "facebook_app_id_staging", FACEBOOK_APP_ID_STAGING
在我的 Gradle.properties:
# Facebook identifier (app ID)
FACEBOOK_APP_ID="XXXXXXXX"
FACEBOOK_APP_ID_STAGING="YYYYYYYY"
那么如何在项目构建期间轻松切换到 facebook App prod <-> staging,因为目前它已固定为始终 prod 版本(请参阅清单摘录)。
非常感谢你们!
您可以通过这种方式将属性移动到应用 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}" />
如果您想执行更高级的配置,您可以阅读更多here关于配置构建变体的内容
我在 Facebook 中定义了我的应用程序的 2 个版本(生产版本和暂存版本):
在清单中我有这个官方设置:
<!-- 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" />
在我的 Gradle:
// Facebook app id
resValue "string", "facebook_app_id", FACEBOOK_APP_ID
resValue "string", "facebook_app_id_staging", FACEBOOK_APP_ID_STAGING
在我的 Gradle.properties:
# Facebook identifier (app ID)
FACEBOOK_APP_ID="XXXXXXXX"
FACEBOOK_APP_ID_STAGING="YYYYYYYY"
那么如何在项目构建期间轻松切换到 facebook App prod <-> staging,因为目前它已固定为始终 prod 版本(请参阅清单摘录)。
非常感谢你们!
您可以通过这种方式将属性移动到应用 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}" />
如果您想执行更高级的配置,您可以阅读更多here关于配置构建变体的内容