Java模块在Android工作室内引用

时间:2014-10-19 13:43:01

标签: android gradle android-studio

我试图在Android Studio中编译Java模块。 我也在模块中引用android.jar。所以,是的,模块应该是Java,但使用android.jar作为编译参考。 这个android.jar的版本SDK是无关紧要的(我想,但它是19个东西)。

(你可能会问为什么我需要android.jar而不是使用Android模块而不是Java?这是重构我们的Android项目的中间步骤。)

我面临的问题: enter image description here

错误:找不到符号变量SDK_INT

apply plugin: 'java'
dependencies {
    compile project(':ATTLogger')
    compile project(':BandwidthController')
    compile project(':iwpstack')
    compile files('libs/android.jar')
}

你知道 - IT并不想识别android.jar中明确存在的一些代码。 是的,它看到导入android.os.Build;并没有抱怨它。

这是我的bukd.gradle:

如果你碰巧解决了我已经浪费半天的麻烦,请帮忙。 谢谢!

1 个答案:

答案 0 :(得分:0)

如果它只是一个Java代码(没有任何Android API调用),那么你可以使它成为一个JAR,而无需向android.jar添加依赖。否则,如果您调用Android API,则应将其设为AAR模块。 来自http://developer.android.com/sdk/installing/studio-build.html#projectModules

  • Java库模块包含可重用的代码。构建系统为Java库模块生成JAR包。
  • Android库模块包含可重复使用的特定于Android的代码和资源。构建系统为库模块生成AAR(Android ARchive)包。
  • Android应用程序模块包含应用程序代码,可能依赖于库模块,尽管许多Android应用程序只包含一个应用程序模块。构建系统为应用程序模块生成APK包。

因此,要解决您的问题,您应该跳过此“中间步骤”并立即将其设为Android模块。