开发工具:Unity 2019.1.9 AndroidStudio 3.6.3
最近项目中需要将Unity嵌入到Android和IOS中,因为之前做过,但是没有做笔记,今天就重新记录下。
Unity
-
首先我们将Unity项目打包成Android资源包  -
然后我们就得到了这样文件  -
修改build.gradle文件 (1).apply plugin: ‘com.android.application’ 改为 apply plugin: ‘com.android.library’ (2).删除或注释 applicationId ‘com.x.y’,其中’com.x.y’是你项目的package id。 (3).删除或注释 bundel这段,不然导入Android Studio时会报 Could not find method bundle() 的错误
bundle {
language {
enableSplit = false
}
density {
enableSplit = false
}
abi {
enableSplit = true
}
}
(4).删除或注释 useProguard false
buildTypes {
debug {
minifyEnabled false
//useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'
signingConfig signingConfigs.debug
jniDebuggable true
}
release {
minifyEnabled false
//useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'
signingConfig signingConfigs.debug
}
}
- 打开AndroidManifest.xml文件 删除或注释
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Unity部分就算完成了。
Android
-
创建新工程 SDK最低版本和Unity保持一致! -
导入Unity资源  -
将添加进来的Unity资源关联到主项目中     -
在activity_main.xml中添加按钮  -
在MainActivity.java中添加按钮事件
package com.xzyby.flutterexpoparkse;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void OnClick(View v)
{
Intent intent = new Intent(this,UnityPlayerActivity.class);
startActivity(intent);
}
}
-
按钮绑定事件  -
修改主项目app的build.gradle文件 找到图片中的地方 classpath 'com.android.tools.build:gradle:3.4.0’  让它与Unity打包出来的build.gradle文件 **classpath ‘com.android.tools.build:gradle:3.4.0’**保持一致。不然会导致点击按钮闪退的问题 -
在主项目中的AndroidManifest.xml中内添加tools:replace=“android:icon, android:theme”  -
打包运行
案例下载:https://download.csdn.net/download/weixin_42208093/20817092
|