1. ホーム
  2. android

[解決済み] AndroidManifest.xml ファイル内の BuildConfig 値にアクセスするにはどうすればよいですか?

2022-04-27 05:30:08

質問

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コネクトを使用するには、AndroidManifest.xmlに次の行を追加する必要があります。

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/applicationId"/> 

を置き換えたい。 @string/applicationId をBuildConfigフィールドで指定します。 FACEBOOK_APP_ID gradleで定義されている、このようなものです。

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="FACEBOOK_APP_ID"/> 

BuildConfigを使えば可能なのでしょうか?そうでない場合、どうすれば実現できますか?

解決方法は?

交換する

buildConfigField "long", "FACEBOOK_APP_ID", FACEBOOK_APP_ID

resValue "string", "FACEBOOK_APP_ID", FACEBOOK_APP_ID

では プロジェクトの再構築 (Android Studio -> Build -> Rebuild Project) を実行します。

この 2 つのコマンドはどちらもプロジェクトのビルド時に生成された値 (最初のケースでは Java 定数、2 番目のケースでは Android リソースで構成) を生成しますが、2 番目のメソッドは string リソース値にアクセスすることができます。 @string/FACEBOOK_APP_ID 構文を使用します。つまり、コード内だけでなく、マニフェスト内でも使用することができます。