Android Google ARCore尝鲜记录

昨晚体验了一把Google前几天对外发布的ARCore,它不像原先推出的Tango需要特定的硬件设备支持(关键是Tango的价格好贵),只需要一台手机即可完成所有操作,以下是一些尝鲜体验的记录。

官网资料

根据目前的Google AR( https://developers.google.com/ar/ )文档描述,当前支持的开发环境只有Android Studio、Unity、Unreal、Web四种。

每个开发环境都有一份新手入门指引,没有太多深入内容,都是手把手教你跑个Hello World那种,只要按着步骤操作即可。

环境准备

体验Android ARCore时,需要先做下面这些准备:

  • 拉取Google在Github上开源的arcore-android-sdk项目代码,地址: https://github.com/google-ar/arcore-android-sdk
  • Android Studio 2.3 + Android 7.0(或以上)的手机一台,由于目前这个Android ARCore SDK刚刚推出,Google没有做太多设备的兼容,目前仅支持这些型号:Google Pixel 、 Google Pixel XL 、 Samsung Galaxy S8 (SM-G950U, SM-G950N, SM-G950FD, SM-G950FD, SM-G950W, SM-G950U1)。

做完以上准备后只需要插上手机,编译工程到手机上,即可开始你的AR体验之旅。

对于没有上面列出的支持设备的用户,别气馁,下面还有转机。

看看代码

编译成功后,看了一下项目的结构,整个工程只有以下两个module

其中libraries下仅放着一个优化过后的arcore_client.aar,samples将arcore_client.aar和obj-0.2.1.jar作为依赖。

arcore_client.aar和obj-0.2.1.jar主要都是一些数学计算相关的代码,核心都在so文件里面,不过so并不在项目本身和arcore_client.aar中,主要由前面安装的arcore-preview.apk提供,由arcore_client.aar封装向上提供JNI调用接口。

继续折腾

如果你不是官方指定的几款体验机型,又想尝鲜怎么破,有一种思路是通过反编译arcore_client.aar修改检测设备是否为支持设备(isSupported方法)的代码

然后重新代码成aar引入即可,这样可以通过代码运行监测,但实际能否支持运行还要看设备。有位外国老哥就是这么干的( https://github.com/tomthecarrot/arcore-for-all ),一些试过此法的人也给予了反馈,从目前来看,有些不在官方指定机型范围的机子还是能够正常运作的。

想象

以上是个人粗浅的尝鲜记录,从贵价的Tango,到只需手机即可体验AR,AR的普及相信不会太久。想想生活中有多少场景可以用上AR:购物、教学、见见在异地的亲人、游戏… 不过在这个Android碎片化到还能再碎的时代,估计Android开发者们又有不少坑要填了…还是iOS的同学幸福啊…最后,放一个ARCore的介绍视频供大家欣赏。

本文为技术视界原创作品,转载请注明原文出处,欢迎关注技术视界公众号。

推荐文章