欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

在 Android Studio 中將 AAR 包發(fā)布到 Maven 本地倉庫,通常涉及以下幾個步驟,環(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'
}

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

apply plugin: 'maven-publish'

2. 配置 publishing 任務

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

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

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

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

3. 發(fā)布到本地 Maven 倉庫

運行以下代碼:

./gradlew publishToMavenLocal

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

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

這里容易遇到問題,沒遇到還好,遇到了那就需要解決一下了。

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

說明 publications {} 這個部分在 android {} 里面不被識別。

解決方案:移動 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 {}` 出錯
afterEvaluate {
    publishing {
        publications {
            release(MavenPublication) {
                from components.release
                groupId = 'com.shuaici.lib'
                artifactId = 'scc'
                version = '1.0.0'
            }
        }
    }
}

為什么要用 afterEvaluate?

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

3.2 bash: ./gradlew: Permission denied

這表示 gradlew 腳本沒有執(zhí)行權限??梢园凑找韵路椒ń鉀Q:

1. 運行 chmod +x gradlew

2. ./gradlew publishToMavenLocal

3. 如果還是報錯,嘗試使用 sh ./gradlew publishToMavenLocal

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

解決方案:

1. 臨時切換 Java 版本 ;

2. 永久修改 Java 版本;

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

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

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

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

如果你想在 另一個項目 中使用這個 AAR,編輯 build.gradle

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

然后你就正常調用SDK中的內容就行了。

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

相關文章

  • android 實現圓角圖片解決方案

    android 實現圓角圖片解決方案

    現在我們就來看看怎么樣把圖片的四角都變成圓形的,為什么要這樣做那,可能是為了美化界面吧,下面我們就來看看代碼吧
    2012-11-11
  • Android GridView簡單實例

    Android GridView簡單實例

    這篇文章主要為大家詳細介紹了Android GridView簡單實例,簡單實現九宮格效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android設置重復文字水印背景的方法

    Android設置重復文字水印背景的方法

    這篇文章主要為大家詳細介紹了Android設置重復文字水印背景的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Kotlin中的密封類和密封接口及其應用場景

    Kotlin中的密封類和密封接口及其應用場景

    在Kotlin中,密封類和密封接口是用于表示受限類型層次結構的特殊類和接口。密封類和密封接口可以在一定程度上限制類型的繼承層次,使編譯器能夠更好地檢測代碼中的錯誤,并增強代碼的可讀性和可維護性
    2023-05-05
  • 一文詳解Android?FCM接入

    一文詳解Android?FCM接入

    這篇文章主要為大家介紹了Android?FCM接入詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Android開發(fā)技巧之在a標簽或TextView控件中單擊鏈接彈出Activity(自定義動作)

    Android開發(fā)技巧之在a標簽或TextView控件中單擊鏈接彈出Activity(自定義動作)

    a標簽以及TextView自動識別的特殊文本(網址、電話號、Email等),這些都可以通過單擊來觸發(fā)不同的動作;但如果讀者想在單擊鏈接時執(zhí)行任意自定義的動作,那么將要介紹的一定是你想要的了
    2013-01-01
  • Android編程實現簡單的UDP Client實例

    Android編程實現簡單的UDP Client實例

    這篇文章主要介紹了Android編程實現簡單的UDP Client,結合實例形式分析了Android實現UDP Clinet客戶端的實現技巧,需要的朋友可以參考下
    2016-04-04
  • 淺談Android插件化

    淺談Android插件化

    插件化技術最初源于免安裝運行 Apk的想法,這個免安裝的 Apk 就可以理解為插件,而支持插件的 app 我們一般叫 宿主,下面就跟著小編一起學習Android插件化吧,希望能幫助到你
    2021-09-09
  • Java和Android的LRU緩存及實現原理

    Java和Android的LRU緩存及實現原理

    本文主要介紹 Java和Android的LRU緩存及實現原理,這里整理了詳細的資料,有興趣的小伙伴可以參考下便于學習理解
    2016-08-08
  • Android基于TextView不獲取焦點實現跑馬燈效果

    Android基于TextView不獲取焦點實現跑馬燈效果

    這篇文章主要介紹了Android基于TextView不獲取焦點實現跑馬燈效果,結合實例形式分析了Android基于TextView實現跑馬燈的功能與布局相關技巧,需要的朋友可以參考下
    2017-02-02

最新評論