- 新建Android項目,修改為Module
新建一個android項目
給項目命名,這里命名為MyLibrary,作為可引用的Module項目
點擊下一步,選擇一個Activity,點擊ok
下面將這個android工程改為Module庫:
在app的gradle下進行設置:
(1)將apply plugin: ‘com.android.application’ 改為apply plugin: ‘com.android.library’;
(2)注釋或刪掉applicationId "com.library.mylibrary";
然后sync
- 添加並引用Module
新建一個Android工程調用剛剛的Module,輸入項目名稱,代表當前的可運行的應用程序,點擊下一步,直到完成。
在MyApplication項目中,點擊File--New--Import Module,如下圖:
點擊文件瀏覽按鈕,選擇我們剛剛建立的MyLibrary項目,勾選Import,給Module name重新命名(因為當前的項目程序名稱是app,不能重復),然后Finish即可,如下圖:
此時我們發現項目里並沒有導入的Module,如下圖,還需要進行設置
在setting.gradle中將Module包含進來,在include后加上‘:applibrary’, applibrary就是我們剛剛重新命名的Mudule name,如下圖:
然后sync一下,就會看到導入進來的model啦,如下圖:
等等,還沒有完成呢
下面給app添加依賴module
在app上右鍵,選擇Open Module Settings,如下圖:
點擊右邊綠色“+”號,選第3個, 選擇自己的module加入,點擊OK,如下圖:
然后就加入成功了,此時不要忘了點擊OK,如下圖:
然后在app的gradle的dependencies下,添加implementation project(':applibrary'),然后sync,如下圖:
下面開始調用添加的Module,在MyApplication的MyActivity中調用MyLibrary項目的MainActivity,代碼如下:
開始運行程序,首先進入MyApplication的頁面,如下:
點擊click me,跳轉到MyLibrary的頁面,如下:
注意:
(1)MyApplication的gradle的dependencies下引用的包的版本號要與MyLibrary一致;
(2)兩個項目中的AndroidManifest.xml文件中的圖標,主題等要一致;
(3)被調用的Library庫中不能使用switch…case語句,改為if…else
(4)Android引用aar包后會出現兩個圖標的解決辦法
在需要打包的manifest.xml中去掉intent-filter里的內容,如圖紅框中:
(5)在調用的地方java文件和資源文件的命名不要和打包項目里的文件重名,否則也會報錯。
------------END----------
(拂樹濃舒碧,縈花薄蔽紅)