Unity与Android的通信问题:Unity中调用Android的jar包后,Unity生成的apk安装后找不到可运行的程序... 10

近期在学习Unity与Android的通信,用的是Unity5.3.4和AndroidStudio工具。在AndroidStudio工程中添加了Unity的classes... 近期在学习Unity与Android的通信,用的是Unity5.3.4和Android Studio工具。在Android Studio工程中添加了Unity的classes.jar文件,并且集成了Unity的UnityPlayerActivity,然后在MainActivity中写了方法test,Build生成的res、libs(改成了debug生成的classes.jar)、MainAndroidManifest.xml三个导入到Unity的Plugins/Android文件夹下,然后在Unity的脚本中调用Android工程中写的方法函数test。Unity导出的apk安装在手机上,结果安装完成后不是可运行的程序,没有可运行的图标,不能打开...求大神指点 展开
 我来答
匿名用户
2016-06-18
展开全部
将Unity3D安装目录下的Unity\Editor\Data\PlaybackEngines\androidplayer\release\bin\classes.jar
拷贝到Android工程的libs文件夹里:
Unity3D:[3]Unity3D与Android交互的问题
右键单击classes.jar选择Build Path里面的Add to Build Path:
Unity3D:[3]Unity3D与Android交互的问题
Unity3D:[3]Unity3D与Android交互的问题
在MainActivity中继承UnityPlayerActivity。删除多余的方法,仅保留onCreate方法中的super.onCreate语句,如下:
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
添加要在unity中调用的方法,这里添加一个带一个参数的方法StartActivity来调用Android的Activity从而运行Android的代码。还添加了一个有返回值的方法GetInt,用来测试在Unity中获取android中方法的返回值。(貌似只能有一个UnityPlayerActivity,而且这个Activity不能是调用第三方SDK方法的Activity。UnityPlayerActivity只能作为Unity和Android交互的一个接口,在这里面再去调用其他的Activity)
package com.example.unitydemo;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

import com.unity3d.player.UnityPlayerActivity;

public class MainActivity extends UnityPlayerActivity {
private Context mContext = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
}

public void StartActivity(String name) {
Intent intent = new Intent(mContext, WelcomeActivity.class);
intent.putExtra("name", name);
this.startActivity(intent);
}

public int GetInt()
{
return 1;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式