【发布时间】:2016-01-02 13:07:34
【问题描述】:
我有两个应用程序共享相同的功能,除了图像、图标、颜色、应用程序名称和包更改以及在网络活动时调用的 URL。
在 iOS 中,我们可以利用 targets 的强大功能从一个源代码轻松创建两个不同的应用程序。
这里是 link 如何在 iOS 中进行操作
但是如何在android中实现它
【问题讨论】:
标签: android eclipse android-studio adt branding
我有两个应用程序共享相同的功能,除了图像、图标、颜色、应用程序名称和包更改以及在网络活动时调用的 URL。
在 iOS 中,我们可以利用 targets 的强大功能从一个源代码轻松创建两个不同的应用程序。
这里是 link 如何在 iOS 中进行操作
但是如何在android中实现它
【问题讨论】:
标签: android eclipse android-studio adt branding
您应该利用 product flavors 来实现这一点。
在您的 build.gradle 中,您将像这样定义风味:
android {
productFlavors {
brand1 {
// ...
}
brand2 {
// ...
}
}
}
然后您可以创建风味特定的资源。例如,如果您正在创建一个名为ic_launcher.png 的图标,您通常会将其放在诸如main/res/drawable-xhdpi/ic_launcher.png 之类的位置。相反,您可以将brand1 版本放在brand1/res/drawable-xhdpi/ic_launcher.png,将brand2 版本放在brand2/res/drawable-xhdpi/ic_launcher.png。
当您运行gradlew build 时,它将构建所有变体。您还可以通过指定变体名称来构建特定变体,如下所示:gradlew assembleBrand1Debug。在 Android Studio 中,您可以使用“构建变体”窗格选择要查看的变体。
【讨论】:
applicationId。如果需要修改清单,可以为每种风味定义不同的清单。