在同一个代码库上构建两个不同的 android 应用程序,仅在 const 上有所不同
Building two different android apps on the same codebase that only differ by const
我正在构建两个 android 应用程序,它们依赖相同的代码库,但它们从中获取文件的服务器地址不同。
到目前为止,我已经创建了两行服务器地址常量,并使用第一个常量构建应用程序一次,第二个使用第二个常量构建应用程序。
有什么方法可以使我的应用程序编译两次,一次使用第一个常量,第二次使用第二个常量?
我正在使用 Android 工作室和 Gradle 构建。
谢谢!
您可以使用 product flavors 教 Gradle 构建您的应用程序的两个独立副本,其中您的服务器地址在 BuildConfig
:
中定义
android {
// other stuff here
productFlavors {
flavorOne {
buildConfigField "String", "URL", '"https://..."'
}
flavorTwo {
buildConfigField "String", "URL", '"https://..."'
}
}
}
在您的 Java 代码中,请参考 BuildConfig.URL
以使用 URL。
是的,您可以使用 Build Variants。您可以将这些字符串移动到变体目录下的资源中,构建将拉入正确的字符串。
这里是link关于如何设置它们的完整文档:https://developer.android.com/studio/build/build-variants.html
我正在构建两个 android 应用程序,它们依赖相同的代码库,但它们从中获取文件的服务器地址不同。
到目前为止,我已经创建了两行服务器地址常量,并使用第一个常量构建应用程序一次,第二个使用第二个常量构建应用程序。
有什么方法可以使我的应用程序编译两次,一次使用第一个常量,第二次使用第二个常量?
我正在使用 Android 工作室和 Gradle 构建。
谢谢!
您可以使用 product flavors 教 Gradle 构建您的应用程序的两个独立副本,其中您的服务器地址在 BuildConfig
:
android {
// other stuff here
productFlavors {
flavorOne {
buildConfigField "String", "URL", '"https://..."'
}
flavorTwo {
buildConfigField "String", "URL", '"https://..."'
}
}
}
在您的 Java 代码中,请参考 BuildConfig.URL
以使用 URL。
是的,您可以使用 Build Variants。您可以将这些字符串移动到变体目录下的资源中,构建将拉入正确的字符串。
这里是link关于如何设置它们的完整文档:https://developer.android.com/studio/build/build-variants.html