修改代码以适应Android Studio

时间:2017-10-18 23:22:42

标签: android eclipse android-studio ant android-gradle

我的Android项目有不同的配置(例如google,amazon)。 Gradle允许生成BuildConfig参数,可以在运行时检查,但这不是我真正想要的。我希望在项目中有一个特定的代码(方法,类等)存在或不存在(不仅仅是绕过),具体取决于配置。

这是我在Eclipse中实现的方法。我在Eclipse项目中有一个文件夹(名为 platform-specific ),BuildPath中的不包含以及几个Ant脚本(make-google,make-amazon),将相关文件从特定于平台的文件夹复制到src文件夹,并从src文件夹中删除不相关的文件。

由于Eclipse提供了一个Ant窗口来查看所有脚本,我可以运行一个特定的脚本并重新配置项目以适应所选的配置。

有没有办法在Android Studio中执行此操作?我知道Gradle允许运行甚至导入Ant脚本,但它不像'true'Ant那样方便,我找不到选择要运行的脚本的方法。也许Gradle提供了自己的方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

  

对于两种口味它会起作用,但是如果我说3种口味,模块1出现在口味1和2中,则口味1和3中的模块2,是否意味着复制每个文件夹中的那些模块?因此,每次我修改代码这样的模块时,我都需要在另一个文件夹中复制修改。

如果您整理代码,则不然。

您似乎一般使用“模块”。 Android Studio具有该术语的特定定义(Gradle将其称为子项目)。你可以利用这些来帮助你的事业。

假设您创建了googleamazonyandex产品口味。然后:

  • 所有三个共同的代码都在src/main/

  • 任何单一风味独有的代码都会进入该风味的源集(例如src/yandex/)。

  • 由两种风格共享的任何代码都会进入一个库模块,该模块使用特定于特定风格的依赖项(例如yandexCompileamazonCompile)添加到相应的风格中。

在所有情况下,都有一个代码副本。它是否可以进入应用程序模块(例如,app/)或进入库模块取决于哪种口味需要该代码。对于这样的场景,依赖注入将帮助您管理为每种风格连接在一起的代码。