在 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
如果需要打包的中沒有引入任何的協力廠商依賴庫,或者打包出來的 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 |
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 包 |
沒有留言:
張貼留言