2021年2月8日 星期一

Android Studio - 將模組(Module)製作成 JAR 包(十七)

Android Studio - 將模組(Module)製作成 JAR 包(十七):

在 Android Studio 複雜系統中,將 Module 產生成為 JAR(Java ARchive / library Module),使到在不同的 Project上,可以輕鬆使用其他 library Module,也可以分享 Module,但保護 Module 原程式的完整性。

將模組(Module)製作成 JAR 包
  • 操作系統:Windows 7 64-bit 版本 開發環境:Android Studio 4.0.1 版本
  • Gradle 版本:6.1.1
  • 手機測試版本:API 19
  • 原程式:C:\Development\Development_Android\Android_Project\ Module - 2 Include JAR
  • 程式:C:\Development\Development_Android\Android_Project\ Module - 2 Include JAR
Android Studio 用建立的 Library 來實踐建立 JAR 的方式,方法如下:

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 JAR (Java Archive)" ;  //測試 JAR File

   }

}


3﹒修改 build.gradle (Module:mylibrary)

Gradle Scripts / build.gradle (Module:mylibrary) 修改:

//Copy類型

task makeJar(type: Copy) {

    //刪除存在 jar

    delete 'libs/mysdk.jar'

    //設置拷貝的檔

    from('build/intermediates/compile_library_classes_jar/debug')

    //打進jar包後的檔目錄

    into('libs/')

    //將classes.jar放入build/libs/目錄下

    //include ,exclude參數來設置過濾

    include('classes.jar')

    //重命名

    rename ('classes.jar', 'mysdk.jar')

}

 

makeJar.dependsOn(build)

//在終端執行生成JAR包

// gradlew makeJar


4﹒在右邊 Gradle Panel 執行 Task,直至完成。
Gradle Panel→mylibrary→others→雙擊 makeJar

Gradle Panel的 makeJar Task
5﹒Copy Library JAR Module 至 lib
Copy C:\Development\Development_Android\Android_Working\Module\mylibrary\libs\mysdk.jar→C:\Development\Development_Android\Android_Working\Module\app\libs

6﹒在 app 加入 Module
Project Structure(Ctrl+Shift+Alt+S)→Dependencies→app→ + →Jar Dependency→Add Jar /Aar Dependency→libs\mysdk.jar→apply→OK

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

dependencies {

    implementation files('libs\\mysdk.jar')

}


7﹒Gradle 完成 Sync 後,便可以執行程式(Run)。
將模組(Module)製作成 JAR 包
2021年 2月 8日(Mon)天氣報告
氣溫:17.0°F / -8.0°C @ 08:00
風速:每小時 18 公里
相對濕度:百分之 58%
天氣:晴

沒有留言:

張貼留言