无法在Android Studio 3中将外部项目导入为模块

时间:2018-05-18 13:35:56

标签: android gradle android-gradle android-studio-3.1

在升级到Android Studio 3(现在为3.1)并强制更新gradle之后,我已经在商店发布了一个应用程序我无法将我的外部项目作为模块导入。

我已经尝试删除所有模块并逐个添加它们,删除缓存,更改gradle版本和compileSdkVersion但它不起作用。

当我尝试同步gradle时,我会收到一些这样的消息:

  

无法解析':app @ produzioneDebug / compileClasspath'的依赖关系:无法使用transform ExtractAarTransform将文件'ShareLib-release.aar'转换为匹配属性{artifactType = android-explosion-aar}

这是在我的settings.gradle中使外部项目可用:

include ':app'

include ':ShareLib'
project(':ShareLib').projectDir = new File('..//ShareLib//')

这是我的build.gradle

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

repositories {
    jcenter()
    mavenCentral()
    mavenLocal()
    maven {
        url 'https://repo.spring.io/libs-milestone'
    }
    maven { url 'https://maven.fabric.io/public' }
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
def AAVersion = '4.4.0'

android {
    compileSdkVersion 26
    buildToolsVersion "27.0.3"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 3
        versionName "1.0.0.0"

        applicationId "com.xxx.app"

        // Enabling multidex support.
        multiDexEnabled true

        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["resourcePackageName": android.defaultConfig.applicationId]
            }
        }

    }

    signingConfigs {
        releaseSigning {
        ///
        }
    }

    buildTypes {

        debug {
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            zipAlignEnabled true
        }

        release {
            // proguard
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            shrinkResources false

            zipAlignEnabled true

            signingConfig signingConfigs.releaseSigning
        }
    }

    flavorDimensions "tier"

    productFlavors {

        dev {
            buildConfigField "String", "SERVICE_URL_BASE", "\"dev.xxx.com/xxx-rest\""
            applicationId "development.xxx.app"
        }

        coll {
            buildConfigField "String", "SERVICE_URL_BASE", "\"dev.xxx.com/xxx-rest\""
            applicationId "test.xxx.app"
        }

        prod {
            buildConfigField "String", "SERVICE_URL_BASE", "\"www.xxx.com/xxx-rest\""
            applicationId "com.xxx.app"
        }

    }


    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }

    dexOptions {
        javaMaxHeapSize "4g"
    }

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation project(path: ':shareLib', configuration: 'default')
//    implementation project(path: ':shareLib', configuration: 'default') {
//        exclude module: 'jsr305'
//    }
    //    compile fileTree(dir: 'libs', include: ['*.jar'])

    testImplementation 'junit:junit:4.12'
    implementation 'com.squareup:otto:1.3.8'
    implementation 'org.springframework.android:spring-android-rest-template:2.0.0.M3'
    annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
    implementation "org.androidannotations:androidannotations-api:$AAVersion"
    annotationProcessor "org.androidannotations:rest-spring:$AAVersion"
    implementation "org.androidannotations:rest-spring-api:$AAVersion"
    annotationProcessor "org.androidannotations:otto:$AAVersion"
    implementation "org.androidannotations:otto:$AAVersion"

    implementation 'com.github.bumptech.glide:glide:3.7.0'

    implementation 'com.android.support:support-v4:26.1.0'
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support:recyclerview-v7:26.1.0'

    // support AA on Android < 5
//    compile 'com.android.support:multidex:1.0.1'

    implementation 'com.github.markomilos:paginate:0.5.1'

    // mpandroid
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.0-beta1'

    // crashlytics fabric
    implementation('com.crashlytics.sdk.android:crashlytics:2.6.1@aar') {
        transitive = true
    }

    // recaptcha
    implementation ('android.lib.recaptcha:reCAPTCHA:2.0.0') {
        exclude group: 'com.android.support'

    }

    implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.0'

}

1 个答案:

答案 0 :(得分:0)

我已逐一解决了打开模块项目并为每个项目执行此操作:

  • 项目结构 - &gt;项目 - &gt; Gradle版本= 4.7
  • 设置 - &gt;构建,执行,部署 - &gt;编译器 - &gt;取消选中“按需配置”
  • 一旦您将.aar文件看到build / outputs / aar
  • ,就重建项目

然后对主项目模块重复这些步骤