我使用gradle爲2個小型android應用程序創建了不同的風格,我只想知道如果我可以編輯build.gradle中的xml文件的應用程序名稱,對於我不同的口味。如何更改構建gradle文件中的android應用程序名稱
回答
你是什麼意思?app name
?清單中的應用程序包名稱或它在啓動器中顯示的應用程序名稱?
如果是前者,這樣做:
android {
productFlavors {
flavor1 {
packageName 'com.example.flavor1'
}
flavor2 {
packageName 'com.example.flavor2'
}
}
}
有可能覆蓋應用程序的名稱很好,但你必須提供一個香味覆蓋資源來代替。
因此,創建下列文件:
src/flavor1/res/values/strings.xml
src/flavor2/res/values/strings.xml
在他們身上只覆蓋包含您的應用程序名稱(在一個字符串資源,你的主清單使用活動標籤通過類似@string/app_name
)。您也可以根據需要提供不同的翻譯。
您可以使用resValue
,例如。
debug {
resValue 'string', 'app_name', '"MyApp (Debug)"'`
}
release {
resValue 'string', 'app_name', '"MyApp"'
}
確保您AndroidManifest使用android:label="@string/app_name"
的應用,並從strings.xml中刪除APP_NAME,因爲它會產生衝突的gradle產出的產生strings.xml
當它試圖將它們合併。
這實際上是一個非常好的答案。我不知道人們爲什麼會根據手動創建'strings.xml'的內容來投票,但resValue應該是正確的方法,因爲您可以將實際值放入'gradle.properties'中。 –
這個答案是基於湯姆的,它的工作效果最好,你可以與gradle.properties
一起工作,在構建過程中允許進一步的動畫。
在build.gradle
:
debug {
resValue 'string', 'app_name', APP_NAME
}
在gradle.properties
:
APP_NAME="Template 1"
其實...爲了更明確的解釋;
在主的build.gradle:
ext {
APP_NAME = "My Fabulous App"
APP_NAME_DEBUG = "My Fabulous App debug"
}
在應用的build.gradle:
android {
buildTypes {
debug {
manifestPlaceholders = [appName: APP_NAME_DEBUG]
}
release {
manifestPlaceholders = [appName: APP_NAME]
}
}
}
所以在AndroidManifest.xml
<application
...
android:label="${appName}"
>
是可能的。瞧!你有不同的應用程序名稱用於發佈和調試。
在我看來,這是最好的方法,因爲它允許爲發佈版本('manifestPlaceholders = [appName:「@ string/app_name」]')提供一個本地化的應用程序名稱,以及用於調試版本的非本地化應用程序名稱。 – mtotschnig
- 1. 如何更改每個Gradle構建類型的應用程序名稱
- 2. 更改Android應用程序的名稱
- 3. Xamarin.Forms更改Android應用程序名稱
- 4. 如何更改android中的應用程序名稱
- 5. 更改默認名稱PG構建應用程序中的PhoneGap構建
- 6. 如何在構建設置中更改Mac應用程序的名稱?
- 7. 在gradle上構建android應用程序
- 8. 更改應用程序文件的名稱(.C文件)
- 9. 如何更改Android應用程序名稱和現有應用程序的ID?
- 10. Jenkins Xcode構建參數以更改應用程序名稱
- 11. 如何更改Android應用的名稱?
- 12. 如何更改Android應用程序名稱?
- 13. 更改Facebook應用程序的名稱
- 14. 更改應用程序的名稱
- 15. 更改SSMS的應用程序名稱
- 16. 更改軟件包名稱後,Android應用程序崩潰
- 17. 無法更改設置中的Android應用程序名稱
- 18. 在android studio中更改應用程序的公司名稱
- 19. Android中的應用程序計費包名稱更改
- 20. 如何將文本更改爲應用程序名稱
- 21. 如何更改商店中的應用程序包名稱?
- 22. 如何更改VisualVM中的應用程序名稱?
- 23. 即使更改應用程序名稱和apk文件名稱後應用程序更換?
- 24. 如何從android應用程序讀取json文件的名稱?
- 25. 如何更改Java應用程序的進程名稱
- 26. iPhone更改應用程序名稱
- 27. 應用程序名稱更改
- 28. WP7更改應用程序名稱
- 29. 更改應用程序名稱
- 30. 更改Facebook應用程序名稱
確切地說,我正在尋找一個解決方案來覆蓋應用程序名稱,我使用複製方法,因此我有一個新的文件夾包含一個新的string.xml修改,包含新的應用程序名稱!問題是我如何避免這個新文件的創建。我喜歡只是爲了取代它。 – wissem46
這是做到這一點的最佳方式。黑客周圍編輯文件不是一個好主意,因爲它會破壞增量構建的檢測。 –
find app/src/freefacebook/res/values/strings.xml -type f -exec perl -pi -w -e's/My_Application/free_facebook/g'{} \; – wissem46