AndroidManifest.xml から BuildConfig 値にアクセスすることは可能ですか?
私の build.gradle ファイルには次の内容が含まれています。
defaultConfig {
applicationId "com.compagny.product"
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
// Facebook app id
buildConfigField "long", "FACEBOOK_APP_ID", FACEBOOK_APP_ID
}
FACEBOOK_APP_ID
gradle.properties ファイルで定義されています:
# Facebook identifier (app ID)
FACEBOOK_APP_ID=XXXXXXXXXX
アプリで Facebook Connect を使用するには、AndroidManifest.xml に次の行を追加する必要があります。
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/applicationId"/>
次のように、Gradle で定義された@string/applicationId
BuildConfig フィールドに置き換えます。FACEBOOK_APP_ID
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="FACEBOOK_APP_ID"/>
BuildConfig を使用してそれは可能ですか? そうでない場合、どうすればこれを実現できますか?
ベストアンサー1
交換する
buildConfigField "long", "FACEBOOK_APP_ID", FACEBOOK_APP_ID
と
resValue "string", "FACEBOOK_APP_ID", FACEBOOK_APP_ID
それからプロジェクトを再構築する(Android Studio -> ビルド -> プロジェクトの再ビルド)。
2 つのコマンドはどちらも、プロジェクトのビルド中に生成された値 (最初のケースでは Java 定数、2 番目のケースでは Android リソース) を生成しますが、2 番目の方法では、string
構文を使用してアクセスできるリソース値が生成されます@string/FACEBOOK_APP_ID
。つまり、マニフェストでもコードでも使用できます。