一、安装Android Studio。


Android Studio3.0版本。


Android Studio 3.1 (Beta)版本。当然现在最新的已经是 Android Studio 3.2 Canary 5。这个更新比较快,直接选最新的。但是最好安装时选择与稳定版并行安装,可以使用两个版本开发同一项目。


(如果有资源下载不了就跳墙去获取,方法问度娘)



二、下载ARcore SDK。


获取方式:


1.下载压缩包解压。


2.github上获取。

git clone https://github.com/google-ar/arcore-android-sdk.git


Android Studio中打开 。



三、安装Android SDK。


Android SDK7版本(API level 24)。


Android SDK8.1版本(API level 27),Google APIs Intel x86 Atom System Image (Level 27, Version 4)。


怎么下载?


在Tools中打开SDK Manager菜单栏,在SDK Platforms中选中右下角show packages Details。然后选中Android 8.1 (Oreo)下的Google APIs Intel x86 Atom System Image (Level 27, Version 4)。




android anr解决方案 android acore_google



在SDK Tools中选中Android Emulator (Version 27.1.12)。这个更新也比较快,最好选最新的。



android anr解决方案 android acore_ARcore_02

然后点击OK。

四、创建Android模拟器。


创建一个 Pixel 或者 Pixel 2,最主要的是要点开Show Advanced Settings。然后设置后置相机的选项为 VirtualScene。



android anr解决方案 android acore_Android_03




android anr解决方案 android acore_google_04



五、创建好后,启动模拟器,并运行AR程序。


启动:



android anr解决方案 android acore_android anr解决方案_05



看到8.1的系统:



android anr解决方案 android acore_Android_06



运行AR演示程序:



android anr解决方案 android acore_Android模拟器_07



可以看到界面:



android anr解决方案 android acore_Android_08





android anr解决方案 android acore_android anr解决方案_09



界面上会有提示,怎么去在虚拟场景中移动,跟着提示体验即可。



六、开发AR程序需要注意的事项


1.确保程序中打开AR的配置项。


1.目前有两个选项:必须( AR Required )和可选( AR Optional )。


必须意味着你的应用程序在没有AR的情况下无法使用,并且仅在支持ARcore的设备上使用你的应用。设置如下:



android anr解决方案 android acore_Android_10



可选意味着你的应用程序包含一个或多个AR功能,如果设备支持ARCore,该功能将被激活。这说明该应用程序也可以在不支持ARCore的设备上安装和运行。设置如下:



android anr解决方案 android acore_android anr解决方案_11



2.添加构建依赖。


build.gradle文件中添加:



android anr解决方案 android acore_Android_12




android anr解决方案 android acore_google_13



2.确保在app的 build.gradle文件中添加:



android anr解决方案 android acore_android anr解决方案_14




android anr解决方案 android acore_android anr解决方案_15


不过不用担心,demo程序中已经自己添加完成了。



3.运行时检查。


ArCoreApk.requestInstall()。检查是否安装了一个兼容版本的ARCore(它可能过时了,或者已经被用户手动删除),并提示用户。



android anr解决方案 android acore_Android模拟器_16



下面的流程图说明了前面代码示例中的逻辑:



android anr解决方案 android acore_google_17



requestInstall()返回 INSTALL_REQUESTED,当前程序暂停并提示用户安装或更新ARcore。当用户再次返回到程序执行的时候会再次运行onResume()。



android anr解决方案 android acore_android anr解决方案_18



当AR配置为可选状态(optional)时,检查是否支持ARcore。



ArCoreApk.checkAvailability()来确定当前设备是否支持ARcore。如果设备不支持ARcore,应用程序应该禁用 AR-related功能并且隐藏相关的UI元素。


android anr解决方案 android acore_Android模拟器_19


下面的流程图说明了前面代码示例中的逻辑:



android anr解决方案 android acore_ARcore_20



总之,如果用户想要使用AR服务,你的应用程序就要确保安装了ARcore。