1、aar 是什么? 和 Jar有什么區別
-
aar 和 jar包 都是壓縮包,可以使用壓縮軟件打開
-
jar包 用于封裝 Java 類及其相關資源
-
aar 文件是專門為 Android 平臺設計的 ,可以包含Android的專有內容,比如AndroidManifest.xml 文件 , 資源文件 等等
2、在Android studio中創建 aar
2.1 創建項目
這個對于我來說很難,沒用過Android studio
,沒用過gradle
,搞起來一臉懵逼。接下來一步一步跟我來
打開Android studio,file->new project 創建一個項目承載這個模塊,接著選擇 Phone and Tablet
這里要注意選擇Java
作為編程語言,以及Groovy
作為gradle
的語言,接著finish
就好了
等待一會整個項目就完成了,這里我們切換到project
視圖,而不是默認的Android
視圖
2.2 清理項目
打開項目文件夾,直接刪除app
文件夾,然后打開settings.gradle
修改
去除 include ':app'
,最終整個項目結構如下
2.3 創建aar項目
file
-> new module
,然后選擇 Android Library
,如下圖
Finish
之后,最終整個項目如下圖
隨便創建一個類,接著我們開始打包aar
2.4 打包aar
最簡單的打包方式使用Android studio
內置的打包方式,
方式1:在 Android Studio 中
-
Build → Make Project
-
Build → Build Bundle(s) / APK(s) → Build APK(s)
方式2:使用gradle打包
打開右側 gradle邊欄,使用assemble
方式3:直接使用gradle命令打包
切換到當前項目的根目錄,使用
./gradlew assembleRelease
進行打包
2.5 打包所在地址
當前模塊的build/outputs目錄下有打包好的aar
把這東西交給unity同學使用就行了,
具體的使用可以看這篇文章:unity調試Android,C# 直接訪問Java代碼
3、關于gradle
gradle 咋說吶,不太懂,簡單理解就是和maven
同樣的東西
gradle 就是用編程的方式控制編譯的過程,這玩意太靈活了,對于我來說能用就完了
3.1 gradle同步
在最初的時候沒有gradle的工具菜單,都是使用方式三進行打包
設置完build.gradle
一般會彈出一個sync now
的按鈕,如果同步不成功 可以強制同步
File
-> Sync Project with Gradle File
s,這樣gradle
就可以了。
3.2 gradle文件說明
build.gradle(Project:LibContainer)
是整個項目的編譯文件,也就是會編譯所有模塊
build.gradle(Module:mylibrary)
是類庫的編譯文件,只會編譯當前模塊
settings.gradle
是整個項目的通用設置,類似Maven
的父 pom.xml
gradle.bat
是 gradle
的命令
rules.pro
是Android
用來混淆代碼的,可以無視
總體來說整個架構和Maven的父子模塊很類似