applicationIdと同様のグローバル変数を作成したい。 これはbuild.gradleに設定された値で、マニフェストで使用されます。出来ますか?マニフェストファイルで使用できるgradleのグローバル変数を設定する
10
A
答えて
17
あなたがそれらを設定することができ、例えば私は別の製品の風味のために
productFlavors {
production {
applicationId = "com.myapp.app"
resValue "string", "authority", "com.facebook.app.FacebookContentProvider5435651423234"
}
development {
applicationId = "com.myapp.development"
resValue "string", "authority", "com.facebook.app.FacebookContentProvider2134564533421"
}
qa {
applicationId = "com.myapp.qa"
resValue "string", "authority", "com.facebook.app.FacebookContentProvider29831237981287319"
}
}
そしてマルコの答えは思えますが、この
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="@string/authority"
android:exported="true" />
0
Manifest
の文字列を使用する場合は、直接strings.xml
にすることができます。このよう 、
<string name="variable_name">value</string>
10
のようにそれを使用し、それを設定しています現在、文字列リソースファイルに変数を追加する必要のない優れたソリューションがあります。
manifest merger accepts placeholders:カスタムプレースホルダの交換のために
、 構成するには、次のDSLを使用するプレースホルダ値:
android {
defaultConfig {
manifestPlaceholders = [ activityLabel:"defaultName"]
}
productFlavors {
free {
}
pro {
manifestPlaceholders = [ activityLabel:"proName" ]
}
}
は、次の宣言でプレースホルダを置き換えます:
<activity android:name=".MainActivity" android:label="${activityLabel}" >
また、これらの文字列をグルービー機能で操作することもできます。あなたは自分のマニフェストでのGradleに設定されたアプリケーションIDを使用したい場合は
+0
これはより便利なソリューションです。ありがとうございました。 –
13
、あなたは簡単に使用することができます。
$ {APPLICATIONID}例えば
:
<provider
android:authorities="${applicationId}.ShareFileProvider" ... >
...
</provider>
を
カスタム変数で同じ動作が必要な場合は、次のようにマニフェストプレースホルダを使用できます。
android {
defaultConfig {
manifestPlaceholders = [hostName:"www.example.com"]
}
}
そして、あなたのマニフェストで:
<intent-filter ... >
<data android:scheme="http" android:host="${hostName}" ... />
...
</intent-filter>
は、より多くの情報のためhttps://developer.android.com/studio/build/manifest-build-variables.htmlを参照してください。
関連する問題
- 1. コールバックでグローバル変数を設定する
- 2. pythonでデコレータを使ってグローバル変数を設定する
- 3. Jenkinsのグローバル変数を設定する
- 4. 変数を自由に使用できるようにデータセットからグローバル環境に変数を設定する
- 5. C++ VS 2017グローバル変数の設定 - デバッグでブレークポイントのみを使用するプログラム
- 6. AngularJsでグローバル定数を設定する
- 7. のAndroid Gradleのグローバル定数
- 8. Swiftグローバル変数を設定する
- 9. グローバル変数を設定するCodeigniter
- 10. 変数をグローバルに設定する
- 11. Jenkinsグローバル変数を設定する - init.groovy.d
- 12. Gradleのグローバル変数宣言
- 13. vuejsの設定:グローバル変数を使用していますか?
- 14. JS onload()関数内でグローバル変数を設定する
- 15. SpringでStrutsでグローバル変数を設定する
- 16. SQLでグローバル変数を定義して使用する方法
- 17. クロムエクステンションのスクリプト間でグローバル変数を設定する
- 18. イベントトリガでJSのグローバル変数を設定する - Google Maps API
- 19. Perlでグローバル変数の値を設定する
- 20. Zeppelinノートブックでグローバル変数を設定することはできますか?
- 21. mochaでグローバル変数 'before'に変数を設定しますか?
- 22. 私のgitlab-ciファイルにGradle設定変数を使用することはできますか?
- 23. Mavenリポジトリをグローバルに設定するためのGradleのベストプラクティス
- 24. Ionic2でグローバル変数を設定する方法は?
- 25. Ajaxがループ内でグローバル変数を設定する
- 26. スレッド内でグローバル変数を設定する - C#
- 27. OpenCart 2.3.0.2でグローバル変数を設定する方法は?
- 28. JQuery/javascriptでグローバル変数を設定する方法
- 29. Pythonフラスコでグローバル変数を設定する方法は?
- 30. jQuery/JavaScriptでグローバル変数を設定する方法は?
gradleはビルドシステム/ IDEの一部で、実際の使用例を説明すると – droidev
とは関係ありません。私は助けることができると思います。 – droidev
可能な複製http://stackoverflow.com/questions/17197636/それでは、Javaで使用可能な変数を宣言することが可能です。 –