Android 多包名,icon
本篇文章主要記錄下android 下的同一工程,打包時配置不同的包名,icon,名稱等資訊.
1: 多包名
首先講述下如何配置多包名.
在build.gralde的android 標籤下新增:
productFlavors{
xiaomi{
applicationId "com.test.usagetest"
}
huawei{
applicationId "com.test.usagetest1"
}
}
此時如果我們執行的話,會出現下面錯誤:
A problem occurred configuring project ':app'.
> All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
解決辦法:
defaultConfig新增一行程式碼:
flavorDimensions "versionCode"
此時編譯重新執行即可.
2: 多icon
-
修改manifest.xml
<application android:allowBackup="true" android:icon="${app_icon}" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.UsageTest">
將icon屬性由原來的"@mipmap/ic_launcher" 替換成$
-
修改build.gradle
productFlavors{ xiaomi{ applicationId "com.test.usagetest" manifestPlaceholders = [app_icon : "@mipmap/ic_launcher"] } huawei{ applicationId "com.test.usagetest1" manifestPlaceholders = [app_icon : "@mipmap/ic_launcher2"] } }
執行後可以看到icon已替換.
3:多名稱
修改方法與icon一致.
productFlavors{
xiaomi{
applicationId "com.test.usagetest"
manifestPlaceholders = [app_icon : "@mipmap/ic_launcher",
app_name : "test1"]
}
huawei{
applicationId "com.test.usagetest1"
manifestPlaceholders = [app_icon : "@mipmap/ic_launcher2",
app_name : "test2"]
}
}
4: 多資源
不同的包名對應不同的資原始檔.
配置res的不同路徑.
sourceSets{
xiaomi{
res.srcDir("src/main/res")
}
huawei{
res.srcDir("src/hw/res")
}
}
相同資源名稱下設定不同的值即可.
本文由部落格一文多發平臺 OpenWrite 釋出!