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

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


如果文件不全 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的大括号里面


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

⑥.配置混淆原则 把下面这个粘到你的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的大括号里面


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文件里面


#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已经完全导进来了 这会可以测试运行下 如果能顺利进入 代表配置成功

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容