AndroidManifest.xml ファイル内の BuildConfig 値にアクセスするにはどうすればいいですか? 質問する

AndroidManifest.xml ファイル内の BuildConfig 値にアクセスするにはどうすればいいですか? 質問する

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_IDgradle.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/applicationIdBuildConfig フィールドに置き換えます。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。つまり、マニフェストでもコードでも使用できます。

おすすめ記事