在 Unity 裡面若需要動用到 Android 的功能時,這時候就必須要動到 Android Plugins 了。
而 Android Plugins 有個基本用法,就是將功能打包成 JAR 檔,並添加到 Unity 的 Assets/Plugins/Android 資料夾裡面,再透過 AndroidManifest.xml 檔去做相關設定後,就可以輕鬆呼叫使用了!
這邊會分成幾篇文章,一步一步進行講解跟問題排除,我比較喜歡一步一步來,因為這樣子出錯的話,也比較容易知道是哪個環節有問題!
PS:這邊使用的是 Android Studio 開發工具,而不是 Eclipse 喔!
以下開始講解如何使用 Android Studio 匯出 JAR 檔:
步驟一:
File > New > New Project 建立新的專案。
專案名稱隨意,這邊我取名為 Test,而 Company Domain 因為會上架到 Google Play 上,所以必須取一個不會跟別人一樣的名稱,才不會衝突
這邊我選擇的最低限制 Android SDK 版本為 API 9,限制越低,表示有越多的 Android 裝置能夠運行你的 App。
這邊 Android Studio 也很貼心的告訴你,若使用該版號,則差不多有 99.7% 的裝置能夠運行你的 App
最後我選擇了 Add No Activity,反正我們只是要匯出 JAR 檔,也用不到內建的 Activity。
步驟二:
將顯示方式改為 Project,其實改不改都沒差,只是改了之後,會跟 Eclipse 顯示方式比較像一點,習慣而已。
這是 1.X 版的位置
這是 2.X 版的位置
接著打開 Test > app > src > main 仔細一看,是不是跟 Eclipse 非常類似呢!
步驟三:
打開 Test > app > src > build.gradle。
將不必要的 ID 跟 版號移除,並加入匯出的程式碼後,會變成......
// 這裡記得修改成 library
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
sourceSets {
main {
java {
srcDir 'src/main/java'
}
}
}
defaultConfig {
minSdkVersion 9
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'
}
// 移除舊的 jar 檔
task deleteOldJar(type: Delete) {
delete 'release/AndroidPlugin.jar'
}
// 匯出 jar 檔
task exportJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('release/')
include('classes.jar')
// 將匯出的 jar 檔重新命名
rename('classes.jar', 'AndroidPlugin.jar')
}
exportJar.dependsOn(deleteOldJar, build)
步驟四:
打開畫面最右邊的 Gradle 執行 Refresh。
步驟五:
開 Test > :app(Test 也可) > Tasks > other,執行 exportJar。
步驟六:
完成!
..\Test\app\release 底下的 AndroidPlugin.jar 就是我們匯出的 JAR 檔囉!
參考網站:http://www.thegamecontriver.com/2015/04/android-plugin-unity-android-studio.html
該教學的一系列文章:
Android Studio 匯出 JAR 檔
Android Studio 匯出 JAR 檔 - 加入 Unity classes.jar
Android Studio 匯出 JAR 檔 - 在 Unity 中調用 Android Function
Android Studio 匯出 JAR 檔 - 在 Android 中呼叫 Unity Method
可能會遇到的問題:
Android Studio 匯出 JAR 檔 - 呼叫 Function 無反應
Android Studio 匯出 JAR 檔 - broken class file

你好~~能否去请教您呢?我是Leo。 我在 Unity 裡加入 Android 资源,开发环境是android studio,我有依照你的步骤执行,可是错误显示需要re-package? 不知能否帮上忙?这问题实在困惑很久了~!谢谢,希望你能经快回复! Error building Player: CommandInvokationFailure: Failed to re-package resources. See the Console for details. C:\Users\deskuser\AppData\Local\Android\sdk\build-tools\23.0.2\aapt.exe package --auto-add-overlay -v -f -m -J gen -M AndroidManifest.xml -S "res" -I "C:/Users/deskuser/AppData/Local/Android/sdk\platforms\android-23\android.jar" -F bin/resources.ap_ --extra-packages com.beluga -S "C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res" stderr[ C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_confirm_unclick.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_return_unclick.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values-v21\styles.xml:1: error: Found text "> " where item tag is expected C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'. C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml:8: error: Error: No resource found that matches the given name: attr 'colorAccent'. C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml:6: error: Error: No resource found that matches the given name: attr 'colorPrimary'. C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml:7: error: Error: No resource found that matches the given name: attr 'colorPrimaryDark'. C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml:11: error: Error: No resource found that matches the given name: attr 'windowActionBar'. C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml:12: error: Error: No resource found that matches the given name: attr 'windowNoTitle'. C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml:14: error: Error retrieving parent for item: No resource found that matches the given name 'ThemeOverlay.AppCompat.Dark.ActionBar'. C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml:15: error: Error retrieving parent for item: No resource found that matches the given name 'ThemeOverlay.AppCompat.Light'. ] stdout[ Configurations: (default) v21 xhdpi-v4 xxxhdpi-v4 w820dp-v13 zh-rTW Files: drawable\acc_edittext_in_qs.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\acc_edittext_in_qs.xml drawable\advert.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\advert.png drawable\btn_confirm_click.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_confirm_click.png drawable\btn_confirm_click_eff.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_confirm_click_eff.xml drawable\btn_confirm_unclick.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_confirm_unclick.png drawable\btn_return_click.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_return_click.png drawable\btn_return_eff.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_return_eff.xml drawable\btn_return_unclick.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_return_unclick.png drawable\custom_btn_genoa.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\custom_btn_genoa.xml drawable\edit_text_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\edit_text_bg.xml drawable\edit_text_default_bg2.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\edit_text_default_bg2.xml drawable\edittext_default_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\edittext_default_bg.xml drawable\gpassword.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\gpassword.png drawable\guser.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\guser.png drawable\login_btn_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\login_btn_bg.xml drawable\mp_btn_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\mp_btn_bg.xml drawable\qs_btn_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\qs_btn_bg.xml drawable\su_btn_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\su_btn_bg.xml layout\login_page.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\layout\login_page.xml layout\modify_password_page.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\layout\modify_password_page.xml layout\payment_layout.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\layout\payment_layout.xml layout\quick_sign_up_page.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\layout\quick_sign_up_page.xml layout\sign_up_page.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\layout\sign_up_page.xml mipmap\beluga_background.jpg Src: (xxxhdpi-v4) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\mipmap-xxxhdpi\beluga_background.jpg mipmap\bg.png Src: (xxxhdpi-v4) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\mipmap-xxxhdpi\bg.png mipmap\ic_done.png Src: (xxxhdpi-v4) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\mipmap-xxxhdpi\ic_done.png mipmap\ic_launcher.png Src: (xhdpi-v4) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\mipmap-xhdpi\ic_launcher.png Src: (xxxhdpi-v4) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\mipmap-xxxhdpi\ic_launcher.png values\colors.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\colors.xml values\dimens.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\dimens.xml Src: (w820dp-v13) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values-w820dp\dimens.xml values\integer.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\integer.xml values\string.xml Src: (zh-rTW) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values-zh-rTW\string.xml values\strings.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\strings.xml values\styles.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml Src: (v21) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values-v21\styles.xml AndroidManifest.xml Src: () AndroidManifest.xml Resource Dirs: Type drawable drawable\acc_edittext_in_qs.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\acc_edittext_in_qs.xml drawable\advert.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\advert.png drawable\btn_confirm_click.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_confirm_click.png drawable\btn_confirm_click_eff.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_confirm_click_eff.xml drawable\btn_confirm_unclick.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_confirm_unclick.png drawable\btn_return_click.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_return_click.png drawable\btn_return_eff.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_return_eff.xml drawable\btn_return_unclick.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\btn_return_unclick.png drawable\custom_btn_genoa.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\custom_btn_genoa.xml drawable\edit_text_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\edit_text_bg.xml drawable\edit_text_default_bg2.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\edit_text_default_bg2.xml drawable\edittext_default_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\edittext_default_bg.xml drawable\gpassword.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\gpassword.png drawable\guser.png Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\guser.png drawable\login_btn_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\login_btn_bg.xml drawable\mp_btn_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\mp_btn_bg.xml drawable\qs_btn_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\qs_btn_bg.xml drawable\su_btn_bg.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\su_btn_bg.xml Type layout layout\login_page.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\layout\login_page.xml layout\modify_password_page.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\layout\modify_password_page.xml layout\payment_layout.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\layout\payment_layout.xml layout\quick_sign_up_page.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\layout\quick_sign_up_page.xml layout\sign_up_page.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\layout\sign_up_page.xml Type mipmap mipmap\beluga_background.jpg Src: (xxxhdpi-v4) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\mipmap-xxxhdpi\beluga_background.jpg mipmap\bg.png Src: (xxxhdpi-v4) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\mipmap-xxxhdpi\bg.png mipmap\ic_done.png Src: (xxxhdpi-v4) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\mipmap-xxxhdpi\ic_done.png mipmap\ic_launcher.png Src: (xhdpi-v4) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\mipmap-xhdpi\ic_launcher.png Src: (xxxhdpi-v4) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\mipmap-xxxhdpi\ic_launcher.png Type values values\colors.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\colors.xml values\dimens.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\dimens.xml Src: (w820dp-v13) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values-w820dp\dimens.xml values\integer.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\integer.xml values\string.xml Src: (zh-rTW) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values-zh-rTW\string.xml values\strings.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\strings.xml values\styles.xml Src: () C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values\styles.xml Src: (v21) C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\values-v21\styles.xml Including resources from package: C:\Users\deskuser\AppData\Local\Android\sdk\platforms\android-23\android.jar applyFileOverlay for drawable trying overlaySet Key=app_banner.png trying overlaySet Key=app_icon.png applyFileOverlay for layout applyFileOverlay for anim applyFileOverlay for animator applyFileOverlay for interpolator applyFileOverlay for transition applyFileOverlay for xml applyFileOverlay for raw applyFileOverlay for color applyFileOverlay for menu applyFileOverlay for mipmap Processing image: C:\Users\deskuser\Desktop\UnityCallBeluga\Temp\StagingArea\android-libraries\unity-android-resources\res\drawable\advert.png Processing image: res\drawable-xhdpi\app_banner.png Processing image: res\drawable\app_icon.png Processing image: C:\Users\deskuse
以上是报错讯息,请你过目!~
你好,這是 Build Tools Version 版本的問題唷! 你試著在專案上點擊滑鼠右鍵 > Open Module Settings > Modules 底下的 app。 或者 File > Project Structure > Modules 底下的 app。 選擇 Properties 頁籤,將 Build Tools Version 版號改成 22.0.0 試看看。 若還是不行的話,也可以再修正為 21.0.0、20.0.0 試試看。 不過還是建議你,可以先將 Android SDK 更新到最新唷! 希望有幫到你!
好的~~我试试看~谢谢~
不客氣,希望有幫到你!
截圖縮圖好模糊...
HI,滑鼠移到圖片上面,圖片會再放大喔! 我看了一下,基本上解析度都還可以,不知道你指的是不是這張? https://pic.pimg.tw/gn02214231/1447998425-841750500_n.jpg?v=1448429632 我再把它們拆開好了,會比較清楚一點。
請問一下 我照著做到步驟五都順利,有出現BUILD SUCCESSFUL,但是步驟六 Test\app沒有出現release資料夾,也沒有 AndroidPlugin.jar,請問大概會是哪裡出錯了呢@@感謝
你好~ 請問 build.gradle 檔案內匯出 jar 方法,匯出的路徑是跟範例相同嗎? // 匯出 jar 檔 task exportJar(type: Copy) { from('build/intermediates/bundles/release/') into('release/') include('classes.jar') // 將匯出的 jar 檔重新命名 rename('classes.jar', 'AndroidPlugin.jar') } 相同的話,才會匯出到 ..\Test\app\release 底下喔。 Test 是範例的專案名稱,jar 只會匯出到你的專案目錄下,並不會出現在 Android Studio 裡面。 所以如果執行正常的話,jar 檔案應該是會出現在你專案內的 app\release 底下的~ 該範例為 Android Studio 1 建立的,但我使用 Android Studio 2 去開啟並且匯出 jar,結果也都是正常的。 或許你可以試著下載範例,並且試著匯出 jar 看看,看是不是能成功匯出。 希望有幫到你,謝謝。
謝謝版主無私分享 我也有遇到 Weli Hong Chen 的問題,也是更新build SDK 版本解決的哦!!
有幫到忙就好,謝謝!
再廢話一下 無法產生jar,還有可能一個原因 和build.gradle(專案那個,不是APP那個) 版本也有關係 如果要用版主的範例,最快的方去是將專案的gradle-wrapper.jar copy過去, 但為何原來開發環境無法產生jar,看起來可能性很多, 只是提供自己實測的結果
正解XD~ 其實真的遇到問題,可以先下載範例直接執行看看。 至少可以先確定環境是否安裝正確。