如何处理不同风格的Android项目中的不同jar?

时间:2015-05-28 10:03:32

标签: android gradle

This post解释如何在项目的不同productFlavor中包含不同的依赖项。

我做到了,但是现在我怎样才能处理我自己的代码,从一个不包含在我的项目中的jar中调用代码?

示例

admob.jar有一个Aaa.class,只包含在免费风格中。当我编译 pro 时,它会失败,因为Aaa.class不在类路径中。

我不会使用反思(它效率低,耗时长)。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

正如linked post中提到的,你可以使用flavor来包含不同的依赖项,但是你也可以在一个风格中包含特定的src文件:

创建目录src/pro/java/src/free/java/

src / pro / java中的所有源文件只能在" pro"中编译。使用为" pro"定义的依赖项的风味风味。

src / free / java中的所有源文件只能在" free"中编译。使用为" free"定义的依赖关系的味道风味。

现在假设你有一个java源文件SomeClass.java在admob.jar中调用一些代码。您可以执行以下操作:

  1. SomeClass.java放入src/free/java/SomeClass.java
  2. SomeClass.java
  3. 中的重复src/pro/java/SomeClass.java
  4. src/pro/java/SomeClass.java
  5. 删除对admob.jar的所有调用
  6. 如果你做得恰当:你的项目的两种风格都应该编译
  7. 提示:尝试组织代码,使重复的​​类减少到最低限度。