[Unity] 使用 Android Studio 匯出 JAR

如何透過 Android Studio 匯出 JAR 給 Unity 使用

Overview

1. 下載 Andriod Studio
2. 建立新專案
3. 切換專案列表顯示方式為 Project
4. 複製原始碼到 app/src/main/java/package_id 下
5. 複製新的 build script 到 app 下的 build.gradle 中
6. Sync project
7. 複製 Unity classes.jar 到專案
8. 執行 Build Script
9. 輸出完成


1. 下載 Andriod Studio
2. 建立新專案

這裡要設定好你的 package id
待會會需要再設定原始碼路徑
另外不需設定 Activity

[Unity] Android Studio JAR

[Unity] Android Studio JAR

3. 切換專案列表顯示方式為 Project

[Unity] Android Studio JAR

4. 複製原始碼到專案中

路徑為 app/src/main/java/package_id

[Unity] Android Studio JAR

5. 複製新的 build script 到 app 下的 build.gradle 中

貼上 script 後,需要再修改你的
(a) 原始碼路徑
(b) 輸出路徑與名稱

[Unity] Android Studio JAR

apply plugin: 'com.android.library'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
sourceSets {
main {
java {
srcDir 'src/main/java/com.scissor.test/'
}
}
}
defaultConfig {
minSdkVersion 16
targetSdkVersion 23
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
}

task deleteOldJar(type: Delete) {
delete 'release/LocalNotification.jar'
}

task exportJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('release/')
include('classes.jar')

rename('classes.jar', 'LocalNotification.jar')
}

exportJar.dependsOn(deleteOldJar, build)
6. Sync project

這時點下 Sync project 會出現錯誤:
找不到 package com.unity3d.player

[Unity] Android Studio JAR

7. 複製 Unity classes.jar 到專案

Mac 下的路徑為

/Applications/Unity/PlaybackEngines/AndroidPlayer/Variations/mono/Release/Classes/classes.jar

[Unity] Android Studio JAR

8. 執行 Build Script

Android Studio 右側打開 Gradle
專案名稱/other/exportJar
雙擊執行

[Unity] Android Studio JAR

9. 輸出完成

YA!結束了!
成功後會在 app/release 下看到你的 JAR!
接下來再把他複製到 Unity 專案下的 Plugins/Android 中
就可以進行測試囉!

[Unity] Android Studio JAR

3 則留言

發佈留言

AllEscort