一、准备工作
非常重要,准备工作没有做好会导致后面一堆报错!
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进行打包