提问者:小点点

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


这篇文章解释了如何在项目的不同ProductFlavor中包含不同的依赖项。

我做到了,但是现在我如何处理我自己的代码,从一个jar调用代码,这个jar没有包含在我的项目中?

实例

admob.jar有一个Aaa.class,并且仅包含在免费风味中。当我编译专业风格时,它会失败,因为aa.class不在类路径中。

我不想使用反射(它低效且耗时)。

有什么建议吗?


共1个答案

匿名用户

正如在链接帖子中提到的,您可以使用样式来包含不同的依赖项,但是您也可以在样式中包含特定的src文件:

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

src/pro/java中的所有源文件将仅使用为“pro”风格定义的依赖项以“pro”风格编译。

src/free/java中的所有源文件将仅使用为“自由”风格定义的依赖项以“自由”风格编译。

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

  1. lass.javasrc/free/java/某些lass.java
  2. 在src/pro/java/某物lass.java中复制某物lass.java
  3. 删除所有调用admob.jar从src/pro/java/某物lass.java
  4. 如果你做得正确:你的项目的两种风格都应该编译

提示:尝试以这样一种方式组织代码,将重复的类减少到最低限度。