0

我有一个 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

4

0 回答 0