jar包只能打包Java文件,但是如果你的功能模塊中含有比較多的資源文件,圖片、布局文件等就不能打包成aar的格式了。如果資源文件很少,打成jar包還是比較簡便的。

1.無其他依賴的模塊打包成單個aar文件

1.新建工程,並且新建一個Module。

2f6a603b52d4247b1e0f85e5a8ff8492.png

選擇Android Library->Next

d34e54ba723866a6970e22581d7c6efe.png

填寫任意名字,選擇Finish

1e7aec1b56ce6af81f6e226dae0d95d3.png

2.將要打包的文件都按照文件夾的位置放入你的Module中【注意查看你的包名以及引用的類名,導入過程中可能需要重新導入引用類,建議將import和package先刪除,之后再Alt+Enter導入】

6ba7962ac7b2a7639e96e81ccdaa8074.png

3.查看Manifest等清單文件是否有遺漏,若沒有則點擊Build->Build APK。此時將會在myLibrary->build->outputs->aar中找到生成的aar文件

f9255c05ce2424c1078c79dd6cac07ac.png

2.有其他依賴項的Module打包成aar

2.1依賴中只有jar包

這個與一般的工程中導入第三方庫的方式一樣,導入成功以后,查看你需要打包的module的gradle文件就行了。如果成功導入gradle文件中dependency會出現compile'xxxx.jar'

然后根據上面編譯apk的方法形成你的aar文件。

2.2依賴中含有aar包

需要使用一個文件fat-aar.gradle←詳情可戳。

1.首先加入fat-aar.gradle文件,並且在Module的gradle的依賴,在與dependency同等級的地方加入

apply from:'fat-aar.gradle'

dependencies{

xxxxxxxxx

//如果是aar文件就用 name中只需要名字不需要后綴.aar

embedded(name:'xxxxx',ext:'aar')

//如果是jar文件就用 jar包所在的文件夾的名字/jar包名

compile 'lib/xxxx.jar'

}

然后build apk就行了

3.是否把jar包或者aar包打到新的aar包中

在module的gradle中的dependencies中 不需要打包的用provided編譯,需要打包的用compile編譯

有的時候如果把所有的依賴項都打包的話,加到新的工程中會出現重復依賴的錯誤,所以要對打包的依賴項進行判斷

dependencies{

//原有的aar文件不導入新的aar

provided (name:'xxxx',ext:'aar')

//原有的jar文件不導入新的aar

provided 'lib/xxxx.jar'

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐