java - 基于项目的Android应用

标签 java android android-studio multiplication white-labelling

我开发了一个应用程序,我想针对不同的目标进行扩展。因此源代码将保持不变,但每个目标的一些变量会发生变化。 Xcode 可以通过添加一个新目标轻松地做到这一点。然后,您可以将所有单独的目标作为单独的应用程序运行,并且当您更改源代码中的某些内容时,它会影响所有目标。

这样的东西如何与 Android 一起使用?我正在使用最新的 Android Studio 进行开发。

最佳答案

Android Studio Tips and Tricks提倡构建变体是尚未完全实现的功能。然而,您可以使用 Gradle 本身来管理它,如 Gradle Plugin User Guide 中所述.您基本上可以定义变体并获得自动生成的 BuildConfig.java 文件。 例如,您可以像这样定义两种风格,发布和调试:

release {
   buildConfig "public static final String RELEASE = true;"
}
debug {
   buildConfig "public static final String RELEASE = false;"
}

在你的 android/buildVariants 部分进入 build.gradle ,这将在自动生成的 BuildConfig.java 中包含这个 boolean 变量,以便在你的应用程序中使用以在行为上有所不同.

另见 Using Build Flavors - Structuring source folders and build.gradle correctly还有这个blog post关于构建变体。

关于java - 基于项目的Android应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23470600/

相关文章:

java - Java 有静态顺序初始化失败吗?

java - 第一个列表已排序,另一个未排序,这是合并两个列表的更好方法

android - 如何通过长时间运行的 onDestroy 来管理停止服务?

Android-Studio 无法启动,NoClassDefFoundError com/intellij/openapi/diagnostic/Logger

android - 文件资源检查为红色,尽管 R 有效

Eclipse 中的 Java Swing JFontChooser "main not found"

java - 在不卡住主线程的情况下在 Espresso Android 中进行延迟测试

java - 如何从位于不同 svn 存储库中的 jar 文件填充我的 lib 文件夹?

android - JUnit5 没有生成 JUnit4 曾经生成的测试结果 TEST-*.xml

android - 谷歌素材库和设计支持库的区别