我有一个 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 模块导入到我的应用程序中,该模块是我项目的一部分。在使用 Jack 之前,一切都很好。
现在,当我尝试构建应用程序时,我收到了将模块“ cdmsdk ”的依赖项解析到我的应用程序“ cdmandroidclient ”的错误。
错误示例:
错误:E:\Workspace\CDMAndroidClient\app\src\main\java\com\mycompany\cdmandroidclient\service\CdmService.java:16:无法解析导入com.mycompany.cdmsdk.heartbeat.Security
我不明白发生了什么,因为主要的应用程序依赖项没有改变,并且仍然使用以下方式引用 SDK:
compile project(path: ':cdmsdk')
正如我所说,Gradle 构建失败,在任务期间:app:compileDebugJavaWithJack
任何想法 ?非常感谢 :) !
编辑:这与 Javac 和 Java 7 完全相同......不知道我改变了什么,但我的应用程序不能再使用 cdmsdk 依赖项...... wtf