Unity项目导入Android Studio 作为Android项目的一部分

1.首先说下Unity生成的AS项目的大概结构 如下所示看看有没有不全的


Unity项目导入Android Studio 作为Android项目的一部分_第1张图片
Unity项目导入Android Studio 作为Android项目的一部分_第2张图片
Unity项目导入Android Studio 作为Android项目的一部分_第3张图片
Unity项目导入Android Studio 作为Android项目的一部分_第4张图片
Unity项目导入Android Studio 作为Android项目的一部分_第5张图片

如果文件不全 Unity重新生成项目

2.文件齐全 以导入Moudle的方式把Unity生成的项目当成一个单独项目导入Studio 正常运行就下一步 不能正常运行 重新打包

3.开始配置项目

①.把unity3d的src-main-libs里面的unity-classes.jar拷入项目的libs目录下 然后 add as library

②.把unity3d的src-main-assets和jniLibs文件夹直接拷入到项目的src-main下,和java同一级别

③.把unity3d的src-main-res的资源文件直接拷入项目的资源里,这里注意不要覆盖文件,出现冲突就打开文件把代码粘进去

④.在项目的包名路径下创建一个包名叫unity的package,把unity3d的src-main-java-包名最里面的三个java文件粘进去,注意修改包名

⑤.配置gradle

配置到android-defaultConfig的大括号里面


配置到android的大括号里面


Unity项目导入Android Studio 作为Android项目的一部分_第6张图片

(这里要注意 名字可能不一样项目也不同 记住指定)

⑥.配置混淆原则 把下面这个粘到你的proguard-rules.pro文件里面

1.首先说下Unity生成的AS项目的大概结构 如下所示看看有没有不全的

need-to-insert-img

如果文件不全 Unity重新生成项目

2.文件齐全 以导入Moudle的方式把Unity生成的项目当成一个单独项目导入Studio 正常运行就下一步 不能正常运行 重新打包

3.开始配置项目

①.把unity3d的src-main-libs里面的unity-classes.jar拷入项目的libs目录下 然后 add as library

②.把unity3d的src-main-assets和jniLibs文件夹直接拷入到项目的src-main下,和java同一级别

③.把unity3d的src-main-res的资源文件直接拷入项目的资源里,这里注意不要覆盖文件,出现冲突就打开文件把代码粘进去

④.在项目的包名路径下创建一个包名叫unity的package,把unity3d的src-main-java-包名最里面的三个java文件粘进去,注意修改包名

⑤.配置gradle

配置到android-defaultConfig的大括号里面


ndk {    abiFilters"armeabi","armeabi-v7a","x86","mips"}

配置到android的大括号里面


Unity项目导入Android Studio 作为Android项目的一部分_第7张图片

packagingOptions {    exclude"jniLibs/armeabi-v7a/libmain.so"    exclude"jniLibs/armeabi-v7a/libmono.so"    exclude"jniLibs/armeabi-v7a/libunity.so"    exclude"jniLibs/x86/libmain.so"    exclude"jniLibs/x86/libmono.so"    exclude"jniLibs/x86/libunity.so"}

(这里要注意 名字可能不一样项目也不同 记住指定)

⑥.配置混淆原则 把下面这个粘到你的proguard-rules.pro文件里面


Unity项目导入Android Studio 作为Android项目的一部分_第8张图片

#Unuty3D-dontwarn bitter.jnibridge.**-keep class bitter.jnibridge.** { *; }-dontwarn com.unity3d.player.**-keep class com.unity3d.player.** { *; }-dontwarn com.fmod.**-keep class com.fmod.** { *; }-keep class 你的包名.unity.** { *; }

⑦.在unity的路径下新建一个empty activity继承UnityPlayerActivity,这里不推荐使用Kotlin,可能会出现问题,一般命名为UnityActivity ,注册在AndoidManifest.xml里面 然后打开unity3d的src-main-AndroidManifest.xml 把里面的

android:screenOrientation

android:launchMode

android:configChanges

属性复制到主项目的UnityActivity里

⑧.给UnityActivity对应的activity_unity.xml加个id

android:id="@+id/activity_unity"

然后 onCreate方法

this.rlMain = findViewById(R.id.activity_unity);

rlMain.addView(mUnityPlayer);

mUnityPlayer.requestFocus();

unity已经完全导进来了 这会可以测试运行下 如果能顺利进入 代表配置成功

你可能感兴趣的:(Unity项目导入Android Studio 作为Android项目的一部分)