android studio: 子模塊 Could not find aar 的問題


簡單說下遇到的問題:

主模塊app 依賴子模塊 lib_ffmpeg, 子模塊lib_ffmpeg 依賴一個aar: baidu-sdk.aar. 但是在編譯時 gradle 始終提示:cound not find baidu-sdk.aar. 可我在lib_ffmepg的build.gradle文件里已添加:

implementation(name: 'baidu-sdk', ext: 'aar')

 

解決辦法

1. 找到項目級別的build.gradle, 添加紅字部分:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }

        flatDir { dirs project(':lib_ffmpeg').file('libs') // 我的aar文件已放置到 lib_ffmpeg 模塊的libs目錄下
 }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2. 找到 lib_ffmepg的build.gradle文件,刪除(如果之前已添加):

implementation(name: 'baidu-sdk', ext: 'aar')

因為上述gradle文件里已指定:

implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])

完成上述兩步后,重新sync下項目就好了。第二步如果不做的話可能會報 Duplicate class 的錯誤。

 

參考鏈接:
1. 疑難雜症(一)集成優酷sdk[aar] library Module 依賴,找不到aar[Could not find :YoukuPlayerOpenSDK-release:.]
2. Android Studio多Module使用 aar 依賴包 丟包解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM