导入模块后,Android项目无法使用Gradle构建

时间:2019-03-30 10:20:30

标签: android android-gradle android-library android-module

我创建了一个android应用,我想包含vokaturi模块。我用vokaturi.gradle更改了"com.android.library"文件,并在":vokaturi"文件中加入了settings.gradle模块,并在主应用程序模块中添加了implementation project(':vokaturi'),当我尝试同步时主应用模块收到错误

Could not find :OpenVokaturi-Android:.
Required by:
    project :app > project :vokaturi
Search in build.gradle files  

这是我的主要app.gradle文件的外观。

    apply plugin: 'com.android.application'
    android {
        compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.afinity"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    }
    dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation project(':vokaturi')
    }

这就是vokaturi.gradle文件的样子

apply plugin: 'com.android.library'

android {
    compileSdkVersion 28
    defaultConfig {

        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
repositories {
    flatDir {
        dirs 'libs/aars'
    }
}
dependencies {
    implementation(name: 'OpenVokaturi-Android', ext: 'aar')
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

我不知道我做错了什么...我是android的新手,谢谢大家的帮助

1 个答案:

答案 0 :(得分:2)

文件的默认名称可能是-OpenVokaturi-3-0-android.aar,而不是OpenVokaturi-Android,这就是为什么您会收到该错误的原因。还有这个-

implementation(name: 'OpenVokaturi-3-0-android.aar', ext: 'aar')

不应位于vokaturi模块中,而应位于app.gradle文件中。将该行添加到您的应用gradle文件中,然后将vokaturi直接作为aar文件包含在内。