Android - 如何拥有第二套资源?
Android - How to have second set of resources?
我有一个应用程序必须为两个不同的客户打上烙印。应用程序设计、代码、用法和流程是相同的。目前,品牌纯粹是改变 android 资源以使用不同的颜色和字体。他们也可能会使用不同的可绘制对象和布局。还有一些资源对于两个品牌都是相同的。
目前,我们只有两个不同的项目,它们具有重复的代码文件和不同的资源文件集。
是否可以在一个项目中包含所有资源(公共资源、品牌 1 资源和品牌 2 资源)并有一个编译时标志来决定使用哪一组资源?
编辑:
我正在寻找类似于基于屏幕尺寸和密度的不同布局和资源集的东西。
您可以使用 build variants 实现此目的。您只需为每个客户端创建两种风格,在适当的 sourceSets 中更改需要更改的任何资源,然后选择您的风格和构建。
看看this。我正在通读它,关于如何提供替代资源,它也可能对您有所帮助。
谢谢,
使用 Android 工作室。
在 android 工作室中,您将在项目中有 flavor
文件夹。
可以根据口味放资源。
示例:
Project-
flavor-
demo-
| src-
| res-
| drawable-
| ic_launcher.png
brand1-
| src-
| res-
| drawable-
| ic_launcher.png
brand2-
src-
res-
drawable-
ic_launcher.png
并在您的 gradle 文件中这样指定。
android{
....
productFlavors {
demo {
applicationId "com.example.app.demo"
versionName "1.0.3"
}
brand1 {
applicationId "com.example.app.brand1"
versionName "1.0"
}
brand2 {
applicationId "com.example.app.brand2"
versionName "1.4"
}
}
...}
您可以选择 android 左侧的 Build Variant studio.It 将根据您选择的风格选择资源。
请注意:AndroidStudio 运行缓慢。你应该至少有 8gb 内存。
我有一个应用程序必须为两个不同的客户打上烙印。应用程序设计、代码、用法和流程是相同的。目前,品牌纯粹是改变 android 资源以使用不同的颜色和字体。他们也可能会使用不同的可绘制对象和布局。还有一些资源对于两个品牌都是相同的。
目前,我们只有两个不同的项目,它们具有重复的代码文件和不同的资源文件集。
是否可以在一个项目中包含所有资源(公共资源、品牌 1 资源和品牌 2 资源)并有一个编译时标志来决定使用哪一组资源?
编辑: 我正在寻找类似于基于屏幕尺寸和密度的不同布局和资源集的东西。
您可以使用 build variants 实现此目的。您只需为每个客户端创建两种风格,在适当的 sourceSets 中更改需要更改的任何资源,然后选择您的风格和构建。
看看this。我正在通读它,关于如何提供替代资源,它也可能对您有所帮助。
谢谢,
使用 Android 工作室。
在 android 工作室中,您将在项目中有 flavor
文件夹。
可以根据口味放资源。
示例:
Project-
flavor-
demo-
| src-
| res-
| drawable-
| ic_launcher.png
brand1-
| src-
| res-
| drawable-
| ic_launcher.png
brand2-
src-
res-
drawable-
ic_launcher.png
并在您的 gradle 文件中这样指定。
android{
....
productFlavors {
demo {
applicationId "com.example.app.demo"
versionName "1.0.3"
}
brand1 {
applicationId "com.example.app.brand1"
versionName "1.0"
}
brand2 {
applicationId "com.example.app.brand2"
versionName "1.4"
}
}
...}
您可以选择 android 左侧的 Build Variant studio.It 将根据您选择的风格选择资源。
请注意:AndroidStudio 运行缓慢。你应该至少有 8gb 内存。