美文网首页
Unity中使用C#调用Android接口

Unity中使用C#调用Android接口

作者: 道阻且长_行则将至 | 来源:发表于2017-10-22 00:26 被阅读72次

    1.首先打开Eclipse,新建一个项目,项目名称为Timee(由于为了演示方便,Workspace已经有一个项目叫Timee,所以这里会报错,请无视):

    image.png

    注意:这里的Package Name很重要,之后在Unity打包的时候,写的包名不能和它一样,不然会报错(血的教训)。

    image.png

    比如像我这样在Unity端的包名后面加一个“2”,我这里API选用了API 14,即Android 4.0
    另外注意:创建Android项目的时候尽量用Android 4.0及以上版本的SDK,要不然Unity打包的时候它会报各种各样的“can not find Android theme"的错误。

    2.MainActivity的代码,继承自UnityPlayerActivity(必须导入Unity提供的classes.jar包,在网上可以下载,在Unity的安装目录也可以找到)。

    image.png

    由于程序一启动,首先创建MainActivity的实例,并且回调onCreate()等方法。我们的Unity的主界面是靠scene去渲染,所以删除MainActivity中setContentView()。(以下代码已经删除该方法)

    image.png

    3.新建一个SubActivity用于跳转功能,其中对应的layout文件没什么要求,我这里就是初始的“Hello World”。

    image.png

    4.将这个Android项目作为Library(项目名称点右键进入Properties选项)

    image.png

    5.关掉Project->Build Automatically选项,然后Clean一下项目,再点击Build Project重新Build一下。

    image.png
    1. 打包我们Android项目,按道理来说,打包的东西只需要class就可以,但是我们的项目中除了自己的class还有自动生成的
      gen目录下面的东西,还有其他资源,为了不遗漏,干脆全部打包。res AndroidManifest.xml也被打包,这些只不过是垃圾而已。
    image.png

    7.将导出的jar包导入Unity的bin文件夹下,如图(名字随意,我改成了class.jar):

    image.png

    8.将Eclipse中Android项目的AndroidManifest.xml文件照图中修改

    image.png

    并且拷贝到Unity中如下图一样的位置:

    image.png

    9.Eclipse中其余的文件夹照上图中的位置搬运,共需搬运assets,libs,res三个文件夹(如下图)

    image.png

    10.在Unity中创建一个脚本,名字随意,我的叫AndroidAPI,用于调用转移到Unity的jar包里面的方法

    image.png

    挂载在一个游戏物体上,例如Main Camera:

    image.png

    11.编辑这个脚本:

    image.png

    12.以上内容必须在真机中测试,所以接下来是打包,打包之前进行一些Player Setting的设置:

    image.png

    12.导出为Android APK:

    image.png

    PS:如果出现以下错误

    image.png

    解决方法:
    找到sdk文件夹:把build-tools里大于23.0.3的全移除掉,像24.0.0, 25.0.2...

    image.png

    13.安装到手机,就可以运行了

    相关文章

      网友评论

          本文标题:Unity中使用C#调用Android接口

          本文链接:https://www.haomeiwen.com/subject/zaowuxtx.html