游戏客户端和第三方包进行组合 第三方代码: 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中新建工程
AndroidProjectCreate.PNG
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.PNG
JAR包的名字与UnityAPK包的名字要相同 将导出的JAR包放入Unity的Plugins\Android\bin 将AndroidProject中的libs与res与AndroidManifest.xml文件放入Plugins\Android。
6.将Unity项目进行打包 设置
PlayerSettting.PNG
注意TargetAPLLevel要设置正确
Res.PNG
参考资料: https://www.cnblogs.com/msxh/p/7220741.html https://blog.csdn.net/lx520aa/article/details/77100423
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有