最近公司項目做好上線後,有需求單獨對某個功能子產品打包成元件sdk的形式,提供給其它第三方應用調用。
Android 目前實作打包生成sdk的三種方式:
一、jar包(依賴檔案打包jar包不能包含資源檔案)
二、依賴檔案夾(就是上面那種将整個檔案夾拷貝到其他位置,讓項目進行依賴,好處是可以對源檔案進行更改,壞處是檔案太大容易出問題)
三、aar包(aar可以包含資源檔案)
目前我們是用的第三種方法實作打包sdk的流程如下:
1.打開項目,如果要設定aar 打成混淆包,可進入 build 檔案裡設定如下:
buildTypes {
release {
minifyEnabled true //代碼混淆
zipAlignEnabled true //資源壓縮
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
然後點選右側Gradle,選中要打包的library這裡示範的是打K線圖kchartlib,
Tasks>build>assenble 輕按兩下執行指令開始打包;
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxSNBpmTuVzVhRDZtJGcxcVYxQmMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZwpmL5AjM0ITNzUTM4AzMwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2. 幾秒過後,aar包已經打好,進入kchartlib 源碼 選擇build>outputs>aar>kchartlib-release.aar 包。
生成release 包
3.引用打好的aar 包,建立一個項目ChartSdk,将打好的aar包libs目錄裡,然後在build.gradle檔案裡加上:
dependencies {
implementation(name: 'kchartlib-release', ext: 'aar')
}
repositories { flatDir { dirs 'libs' }
}
至此已經成功引入。
4.如果你想在一個新項目裡ChartSdk,在library引用aar,項目又引用library,操作如下:
在主項目的build.gradle 添加library目錄路徑的引用。
5.如果library裡使用了一些第三方的注解架構主項目也使用了時,就會編譯失敗。如引用butterknife,下篇我将給大家講解如果解決這個包的引用沖突問題。
更多Android 學習交流請加群:413893967