Unity使用NDK在Android平台上引用C++代码的so文件(上)

本文详细介绍了如何在Unity项目中使用NDK将C++代码打包为so文件,并制作Android插件进行引用。通过创建Android项目,配置Unity的classes.jar引用,修改MainActivity代码,最终导出jar包并植入Unity项目,成功实现在Unity中调用Android原生C++代码。文章以简洁示例为起点,便于初学者理解。
摘要由CSDN通过智能技术生成

这是我的第一篇博文,在我刚开始实现本文功能是的,感悟真的是挺深的,为了给大家分享我的探索经验也为了以后自己方便查阅,写下此篇博文

学习一种新的东西,一定要从最简单的开始,把一切需要实现的功能做到最容易实现的地步,比如说引用外部一个方法,就要把这个方法做到最简单,比如说这个方法没有参数只是返回一个int类型的数字,而不是传入一个string或者是一个数组,只有这样才能避免了由于语言之间的差异性而产生的错误,这样在你不了解这个东西的时候,你不知错误到底出现在什么地方,当你把最简单的东西完成了,这时候你可以自己探索更复杂的东西了。

切入正题之前我所说的这些,在我看来也是以后学习少走弯路的实用方法。

我把这篇文章的知识分成几个部分:

一、原理(unity项目中是如何让Android调用C++代码)

unity项目打包成apk后其实就相当于一个Android原生的项目比如说有AndroidManifest.xml、res、lib等文件或文件夹,只是unity把游戏封装在一个继承Activity类的UnityPlayerActivity的类中启动的。Android项目中调用C++代码使用的是so文件的方式,并把so文件放入libs文件夹下面直接就可以在代码中引用。同样我们要在unity项目中植入一个Android的插件,实现的功能就是把插件中的Android项目的Activity同unity中的项目中的Activity合并为一个Activity,实现unity项目中有Android项目中的功能。完成这个以后,在unity项目中就可以引用so文件了

二、制作unity项目中的Android插件

我使用的是eclipse,用as也是相同的原理

1.首先创建一个Android的项目


包名要和unity项目中的包名相同,这样生成的插件才能保证两个activity可以合并在一起,项目的sdk版本最好设置在14以上,否则制作的插件要携带一个兼容包。下一步

到这要把图片中箭头所指的地方勾选上,这样unity才可以引用这个插件,剩下的可以一直next下去完成。

2.添加u

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值