Android中每个界面都是一个activity;
Unity打包出来的只有一个Mainactivity;
Android 提供一个SDK 给 Unity;Unity中的plugins 将其它的的程序整合到这 然后Unity打包出来的MainActivity使用
创建一个库 Android Library
在第一个com.........testLibrary下,右键 new 一个空的Activity
Res下的 layout 文件删掉 SetContenView()方法,留着也没用
在testLibrary库下,放入Class.jar=======》Add as Library
Class.jar 在 Editor=====》data=====》playbackEngines=====》AndroidPlayer====》variaations====》mono=====》release=====》class.jar。
把app下的<application> 代码部分 </application> 把代码部分复制到自己建的项目中
然后把爆红的删掉
删android:them="@style/appTheme">时,后面的 > 留下
Android:label = "应用名字" 。
<meta-data android:name="unityplayer.UnityActivity" android:value=”true“/> 用来标记unity用的
MainActivity extends UnityPlayerActivity; 会自动导入 com.unity3d.player.unityPlayerActivity。
improt Android support v7.app.appcompathActivity 删掉
在JAVA 的 MainActivity 中写一个加法的方法
public int add( int a,int b) { return a+b;}
在安卓视图中选中自己建的项目 make module testlibrary
Intermediates======>bundles=======>debug=========>libs和res复制到zhuo桌面
intermediates======>manifests=======>full=======>debug=======>androidManifest 复制到桌面
在AndroidManifest中修改一下包名 包名全部小写
新建untiy工程, 设置成 Android 平台 包名设置成一样的
新建文件夹 Plugins=======》Android 把zhuo桌面上的文件夹导进来
AndroidJavaClass jc = new AndroidJavaClass ( " com.unity3D.player.unityPlayer" );
获得 com.unity3D.player 下的 unityPlayer 类
AndroidJavaObject jo = jc.getstatic <AndroidJavaObject >( ” currentActivity“);
获得类下的对象,拿到了As中的MainActivity; jo = MainActivity
jo.call<int>("add",1,2); 方法名,参数数组
新建工程 module App一般不用,做参考
new 一个一个module
1,导入Unity的Class,放入libs下;
2,如果需要导入资源,在src下新建一个assets;
make module build
只复制一个外面的class到unity中
在unity中,调用到这个方法,括号后面可以加参数,调用方法的参数
适用于让安卓做一些事情用不到任何安卓的资源,纯代码就可以实现。
java中,静态方法,
在unity中调用
安卓中的打印:
log.e(tag:"UnityAndroidTest",msg:"errorTest");
ctrl+B 到达类的定义处
C#调用SDK中的的打印消息
在Unity中
unity打包安卓的时候即使是空工程也会把安卓SDK完整的包含进去
显示浮动kuan框
新建项目,创建一个library 创建空的activity
拷贝<application></application>中的内容
在</intent-filter>后面添加
<meta-data android:name="unitypalyer.unityActivity" android:value="true"/>
在MainActitity中
public class MainActivity extends UnityPlayerActivity
{ }
删掉 import android.support.v7.app.AppCompatActivity;
然后build一下,
把Manifest拷贝到unity的Plugins下的Android中,unity发包包名保持一致
把AAR拷贝到桌面
更改AAR中的设置
libs下的class删掉,
外面的class移进去,最后记得把 外面的多余的Class 删掉
AAR中编辑manifest
删掉,不删打出包来会出现俩图标
然后放回去,
unity 中 调到安卓平台 修改包名 包名中没有大写
新建一个Unity工程,然后选用安卓开发平台,改变包名
unity中的接口:继承自AndroidJavaProxy;
模拟一个构造方法: base中 类名$接口名
再下面是接口的方法