2021年2月9日 星期二

Android Studio - 將模組(Module)製作成 AAR 包(十八)

Android Studio - 將模組(Module)製作成 AAR 包(十八):

在 Android Studio 複雜系統中,除了可以將 Module 產生成為 JAR(Java ARchive / library Module),也可以將 Module 產生成為 AAR(Andriod ARchive / library Module)。JAR 中只包含了 Class 檔與清單檔。AAR 檔其實就是一份 ZIP 包,AAR 中除了包含 JAR 中的 Class 檔還包含工程中使用的所有資源, Class 及 Res 資源檔全部包含。

將模組(Module)製作成 AAR 包
  • 操作系統:Windows 7 64-bit 版本 開發環境:Android Studio 4.0.1 版本
  • Gradle 版本:6.1.1
  • 手機測試版本:API 19
  • 原程式:C:\Development\Development_Android\Android_Project\ Module - 3 Include AAR
  • 程式:C:\Development\Development_Android\Android_Project\ Module - 3 Include AAR
Android Studio 用建立的 Library 來實踐建立 JAR 的方式,方法如下:
如果需要打包的中沒有引入任何的協力廠商依賴庫,或者打包出來的 aar 在其他專案中並不需要用到依賴的三方庫,可以使用該方式打包。

1﹒首先建立 New Project ,Project 命名為 Module。
File→New→New Project→Module→OK

MainActivity.java:

package bugworkshop.blogspot.module;

 

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.Toast;

import bugworkshop.blogspot.mylibrary.MyModuleTest;

 

public class MainActivity extends AppCompatActivity {

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

 

        Toast.makeText(MainActivity.this, MyModuleTest.ModuleString(),Toast.LENGTH_LONG).show();

     }

}


2﹒建立 Module 命名為 mylibrary。
File→New Module→Select a Module Type(選擇 Android Library)→Next→mylibrary→Finish
New→New→Java Class→MyModuleTest

MyModuleTest.java:

public class MyModuleTest {

   public static String ModuleString() {

       return "Test for AAR (Android Archive)" ;  //測試 AAR File

   }

}


3﹒在右邊 Gradle Panel 執行 Task,直至完成。
Gradle Panel→module→Tasks→build→雙擊 assemble

Gradle Panel的assemble Task
4﹒Copy Library AAR Module 至 lib
Copy C:\Development\Development_Android\Android_Working\Module\mylibrary\build\outputs\aar\mylibrary-debug.aar→C:\Development\Development_Android\Android_Working\Module\app\libs

5﹒在 app 加入 Module
Project Structure(Ctrl+Shift+Alt+S)→Dependencies→app→ + →Jar Dependency→Add Jar /Aar Dependency→libs\mylibrary-debug.aar→apply→OK

Gradle Scripts / build.gradle (Module:app):

dependencies {

    implementation files('libs\\mylibrary-debug.aar')

}


6﹒Gradle 完成 Sync 後,便可以執行程式(Run)。
將模組(Module)製作成 AAR 包
2021年 2月 9日(Tue)天氣報告
氣溫:27.0°F / -3.0°C @ 08:00
風速:每小時 16 公里
相對濕度:百分之 78%
天氣:多雲

沒有留言:

張貼留言