最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android Studio將AAR包發(fā)布到Maven本地倉(cāng)庫(kù)的流程步驟

 更新時(shí)間:2025年03月20日 10:12:14   作者:帥次  
Android AAR文件是Android Archive文件的縮寫(xiě),是一種Android應(yīng)用程序存檔文件格式,類似于JAR文件格式,它在Android Studio中被廣泛使用,本文給大家介紹了Android Studio將AAR包發(fā)布到Maven本地倉(cāng)庫(kù)的流程步驟,需要的朋友可以參考下

在 Android Studio 中將 AAR 包發(fā)布到 Maven 本地倉(cāng)庫(kù),通常涉及以下幾個(gè)步驟,環(huán)境如下:

distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
 
classpath 'com.android.tools.build:gradle:8.7.0'

1. 配置 build.gradle.kts(或 build.gradle)

在 library 模塊的 build.gradle.kts(或 build.gradle)中,添加以下 Maven 發(fā)布插件:

plugins {
    id 'com.android.library'//打lib包
    id 'maven-publish'
}

對(duì)于 build.gradle(Groovy 版本),可以這樣添加:

apply plugin: 'maven-publish'

2. 配置 publishing 任務(wù)

在 build.gradle.kts 文件中,添加以下 publishing 配置:

publishing {
    publications {
        create<MavenPublication>("release") {
            from(components["release"])
            groupId = "com.shuaici.lib"
            artifactId = "scc"
            version = "1.0.0"
        }
    }
}

對(duì)于 build.gradle(Groovy),使用:

publishing {
    publications {
        release(MavenPublication) {
            from components.release
            groupId = 'com.shuaici.lib'
            artifactId = 'scc'
            version = '1.0.0'
        }
    }
}

3. 發(fā)布到本地 Maven 倉(cāng)庫(kù)

運(yùn)行以下代碼:

./gradlew publishToMavenLocal

這將在 ~/.m2/repository/com/yourcompany/library/your-library/1.0.0/ 目錄下生成 AAR 文件。例如我剛才打包的地址為~/.m2/repository/com/shuaici/lib/scc/1.0.0/,這個(gè)是隱藏文件夾。

這個(gè)地址是可以自定義的,但是不推薦修改。

這里容易遇到問(wèn)題,沒(méi)遇到還好,遇到了那就需要解決一下了。

3.1 Could not find method publications() for arguments...

說(shuō)明 publications {} 這個(gè)部分在 android {} 里面不被識(shí)別。

解決方案:移動(dòng) publications {} 代碼到 afterEvaluate {} 里

在 com.android.library 插件的 Gradle 7.0+ 版本中,publications {} 不能直接放在 android {} 代碼塊里,需要在 afterEvaluate {} 里定義:

plugins {
    id 'com.android.library'
    id 'maven-publish'
}
 
android {
    namespace 'com.shuaici.lib'
    。。。。。。
}
 
// 這里用 `afterEvaluate`,避免 `publications {}` 出錯(cuò)
afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                from components.release
                groupId = 'com.shuaici.lib'
                artifactId = 'scc'
                version = '1.0.0'
            }
        }
    }
}

為什么要用 afterEvaluate

  • publications {} 需要 components.release,但 android {} 還沒(méi)完全加載時(shí),components.release 可能為空,導(dǎo)致 Gradle 解析失敗。
  • afterEvaluate {} 確保 android {} 配置完成后再執(zhí)行 publications {},避免 components.release 為空的問(wèn)題。

3.2 bash: ./gradlew: Permission denied

這表示 gradlew 腳本沒(méi)有執(zhí)行權(quán)限。可以按照以下方法解決:

1. 運(yùn)行 chmod +x gradlew

2. ./gradlew publishToMavenLocal

3. 如果還是報(bào)錯(cuò),嘗試使用 sh ./gradlew publishToMavenLocal

3.3 Android Gradle plugin requires Java 17 to run. You are currently using Java 11.

解決方案:

1. 臨時(shí)切換 Java 版本 ;

2. 永久修改 Java 版本;

3. 在 gradle.properties 指定 Java 版本:

org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-17.0.9.jdk/Contents/Home

如果不清楚自己放的位置,可通過(guò)以下方式找到。 

 4. 使用發(fā)布的 AAR 依賴

如果你想在 另一個(gè)項(xiàng)目 中使用這個(gè) AAR,編輯 build.gradle

repositories {
    mavenLocal()  // 讓 Gradle 從本地 Maven 倉(cāng)庫(kù)查找依賴
    mavenCentral()  // 遠(yuǎn)程 Maven 倉(cāng)庫(kù)(如果本地找不到,會(huì)去這里找)
}
 
dependencies {
    implementation 'com.shuaici.lib:scc:1.0.0'  // 依賴本地倉(cāng)庫(kù)發(fā)布的 AAR
}

然后你就正常調(diào)用SDK中的內(nèi)容就行了。

以上就是Android Studio將AAR包發(fā)布到Maven本地倉(cāng)庫(kù)的流程步驟的詳細(xì)內(nèi)容,更多關(guān)于Android Studio AAR包發(fā)布到Maven的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

安宁市| 南郑县| 格尔木市| 织金县| 五河县| 绥德县| 大埔县| 江津市| 鄂托克旗| 宝兴县| 肇东市| 仙居县| 太谷县| 沁阳市| 桑日县| 会东县| 从化市| 大名县| 巴林右旗| 伊金霍洛旗| 远安县| 祁阳县| 五河县| 井陉县| 民和| 安丘市| 静宁县| 卢氏县| 彭泽县| 德化县| 张家港市| 永城市| 安国市| 上栗县| 长治县| 建湖县| 古丈县| 舟曲县| 思南县| 庄浪县| 金阳县|