一、準備工作
非常重要,準備工作沒有做好會導緻後面一堆報錯!
1.安裝JDK8,配置java環境(因為Unity和AndroidStudio的JDK版本問題在打包的時候踩過坑,最後選擇在Oracle直接下載下傳JDK8供Unity和AndroidStudio使用)
2.檢查Unity使用的Gradle版本
打開目錄:Unity本機的安裝目錄/Editor/Data/PlaybackEngines/AndroidPlayer/Tools/gradle/lib
檢視目前所使用的Unity的gradle版本,記住以便于在Android Studio中設定

3.檢查Unity中使用的SDK目錄與JDK目錄,在Unity和AndroidSutdio中使用同樣的JDK(都不使用自帶的JDK)
二、打包
1.建立Android Studio工程,選擇Empty Activity -> Next
2.繼續填寫,完成下面兩步後點選Finish
①由于害怕後續出問題,是以直接将Package name改成與Unity中Player Setting->Other Setting->Identification->Package Name 一緻
②Minimum SDK與Player Setting->Other Setting->Identification->Minimum API Level 一緻
3.打開 File -> Project Structure
①選擇Project,根據Unity的Gradle版本修改項目所使用的Gradle Version和Plugin Version
②選擇SDK Location,修改JDK位置
③選擇Modules->Properties,根據上面設定的Plugin版本搜尋一下Build Tools Version要什麼版本,同時修改Complie Version,然後選擇Modules->Default Config,修改Target SDK version,完成後點選Apply -> OK
4.進入目錄:Unity安裝目錄/Editor/Data/PlaybackEngines/AndroidPlayer/Variations/mono/Release/Classes,複制classes.jar到目錄:目前Android項目/app/libs 中,并在Android Studio中找到app/libs中的該檔案,右鍵選擇Add As Library
5.修改build.gradle檔案,修改後如圖
//将apply plugin: 'com.android.application'修改為
apply plugin: 'com.android.library'
//注釋或删掉下面的代碼
applicationId "com.DefaultCompany.Shadow"
6.修改AndroidMainfest.xml檔案,修改後如圖,删除 android:icon、android:theme、android:roundIcon三行,新增圖中<meta-data />該行
7.修改MainActivity.java檔案
//将 import com.androidx.appcompat 修改為
import com.unity3d.player.UnityPlayerActivity;
//将MainActivity修改為繼承UnityPlayerActivity
public class MainActivity extends UnityPlayerActivity
//注釋或删除setContentView(R.layout.activity_main);
8.修改res檔案夾
①删除res檔案夾中的 drawable、drawable -v24、drawable-anydpi-v26檔案夾
②删除res/layout檔案夾下的activity_main.xml
③删除res/values檔案夾下的styles.xml
④将mipmap-xxxx檔案夾都改成drawable-xxx檔案夾
修改後如圖
9.以上完成後點選 Sync Project with Gradle Files,然後Make Project,将app/build/outputs/aar下的app-debug.aar與app/src/main下的AndroidMainfest.xml複制到需打包的Unity項目的Assets/Plugins/Android檔案夾下,修改aar檔案字尾為.zip後打開aar檔案,删除libs目錄下的classes.jar,再關閉aar檔案将字尾修改回.aar
10.打開Player Setting ->Publishing Settings,設定keystore與key,将Minify中的設定改為gradle
11.打開Build Settings,Build System設定為Gradle,點選Build進行打包