在 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
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 |
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 包 |
氣溫:17.0°F / -8.0°C 這在哪裡呢?不像在台灣
回覆刪除