游戏客户端和第三方包进行组合
第三方代码: JAVA代码
游戏U3D代码
eclipse AndroidStudio
SDK接入实践:
准备:第三方包、eclipse、jdk、安卓SDK
第三方SDK接入:登录、支付、广告、监控等
接入
1.JAVA先打包成jar,放到U3D工程
2.U3D工程到处,放到JAVA,从JAVA打包APK
选用第一种:
将U3D jar 包放入Eclipse
流程
1.新建Android Project
在Eclipse中新建工程
2.Android Project中引入Class
在AndroidProject工程目录下新建libs,将Unity安装目录下的***\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes中的classes.jar放入Android工程的libs(没有创建一个)中。
3.在java中调用Unity的方法
java中的类继承UnityPlayerActivity,引入import com.unity3d.player.UnityPlayer;
import com.unity3d.player.UnityPlayerActivity;这两个包
在java代码中
public void RecFromU3D(String str) {
SendToU3D(str);
}
public void SendToU3D(String str) {
str = str + "Android Call U3D";
//返回给U3D
UnityPlayer.UnitySendMessage("GameObject", "OnReci", str);
}
4.在Unity中调java方法
private void OnGUI()
{
if (GUI.Button(new Rect(100,100,300,300),"SendMessage"))
{
//点击事件
using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
using (AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity"))
{
jo.Call("RecFromU3D", "Ce shi");
}
}
}
GUI.Label(new Rect(100, 400, 100, 300), m_str);
if(GUI.Button(new Rect(200, 400, 50, 50), "Rotate"))
{
Ro = true;
}
if (Ro)
{
cube.transform.Rotate(new Vector3(0, 1, 0) * Time.deltaTime*10);
}
}
public void OnReci(string str)
{
m_str = str;
}
5.将AndroidProject导出
JARExport.PNGJAR包的名字与UnityAPK包的名字要相同
将导出的JAR包放入Unity的Plugins\Android\bin
将AndroidProject中的libs与res与AndroidManifest.xml文件放入Plugins\Android。
6.将Unity项目进行打包
设置
注意TargetAPLLevel要设置正确 Res.PNG
参考资料:
https://www.cnblogs.com/msxh/p/7220741.html
https://blog.csdn.net/lx520aa/article/details/77100423
网友评论