目录
1.2 打开Preference,对Jdk,Sdk,Ndk等进行设置
2.1 将unity生成文件中的unityLibrary复制到项目根目录里
2.2 在setting.gradle文件中将unityLibrary添加为模块
2.4 添加ndk,在local.properties文件中添加ndk路径
2.7 修改apply plugin: 'com.android.library'
1.新建一个unity项目
对项目做一定设置
1.1 打开project settings,按图修改
1.2 打开Preference,对Jdk,Sdk,Ndk等进行设置
这个地方,我自定义了gradle,让其跟android项目保持一致,以免导入到android中进行额外的修改,排除不必要的麻烦。
1.3 准备导出
首选切换到android平台,然后勾选上Export Project框,最后点击导出。生成的文件如图所示。
2.新建一个android项目
准备将unity生成的文件集成到android中
2.1 将unity生成文件中的unityLibrary复制到项目根目录里
如图所示
此时,在没有进行下一步前,这个文件夹还是个普通文件夹,没有library的标志。
2.2 在setting.gradle文件中将unityLibrary添加为模块
2.3 在主项目中的build.gradle中添加依赖
2.4 添加ndk,在local.properties文件中添加ndk路径
这个路径在unity的编辑器中有显示,直接复制过来即可
2.5 添加unityStreamingAssets
在gradle.properties文件中添加unityStreamingAssets这行
unityStreamingAssets=.unity3d, google-services-desktop.json, google-services.json, GoogleService-Info.plist
至此已经完成unity在android中的集成。
2.6 添加一个string
<string name="game_view_content_description">Game view</string>
在主项目里的main》res》values》strings.xml中添加这一行,否则运行时会报错
2.7 修改apply plugin: 'com.android.library'
在unityLibrary里面的build.gradle中将apply plugin: 'com.android.library'修改为
plugins{ id 'com.android.library' }
apply plugin: 'com.android.library'
plugins{
id 'com.android.library'
}
2.8为了避免冲突,修改manifest文件
这里将unitylibrary中的intent注释掉。
3.显示unity
3.1 添加跳转逻辑
文章参考:
移动端之Unity嵌入Android项目开发【 http://t.csdnimg.cn/A57Ku】
https://github.com/Rebecca-yh/UnitySceneFragment
补充
1.集成unity后,发现打开unity的资源加载很慢。
需要在android项目app里面的build.gradle里面添加如下代码
android {
aaptOptions {
noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.unityexp'] + unityStreamingAssets.tokenize(', ')
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
}
}