我有一个Android项目,我使用的是Android Studio。在这个项目中,我有主应用程序(cdmandroidclient)和SDK(cdmsdk),它是核心库。
我最近在我的Android项目中添加了一个用Java 8构建的库。所以我不得不将一些东西改成我的Gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.mycompany.cdmandroidclient"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
jackOptions {
enabled true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile project(path: ':cdmsdk')
compile 'com.android.support:appcompat-v7:24.2.0'
}
正如您所看到的,我导入了我的应用程序cdmsdk模块,这是我项目的一部分。在使用杰克之前,一切都很好。
现在,当我尝试构建应用时,我遇到了将模块“ cdmsdk ”的依赖关系解析到我的应用“ cdmandroidclient ”中的错误。
错误的例子:
错误:E:\工作区\ CDMAndroidClient \应用\ SRC \主\的java \ COM \ myCompany中\ cdmandroidclient \服务\ CdmService.java:16: 无法解析导入com.mycompany.cdmsdk.heartbeat.Security
我不明白发生了什么,因为主应用依赖关系没有改变,仍然引用SDK:
compile project(path: ':cdmsdk')
Gradle构建失败正如我所说,在任务期间:app:compileDebugJavaWithJack
有什么想法吗?非常感谢你:)!
编辑:这与Javac和Java 7完全相同...不知道我改变了什么,但我的应用程序不能再使用cdmsdk依赖... wtf