使用 Mapbox 和 Project Tango 的 Unity 项目

Unity project with Mapbox and Project Tango

正在尝试为使用 Unity 中的 Mapbox-sdk 的 Tango 创建应用程序。目标是可视化结合增强现实的 3D 模型。尝试为在 Unity 中同时使用 Mapbox 和 Tango 的项目构建 apk 时,出现以下错误:

Error: Error while saving blame file, build will continue
Error: The prefix "tools" for attribute "tools:overrideLibrary" associated with an element type "uses-sdk" is not bound.
UnityEditor.HostView:OnGUI()

AndroidSDKToolsException: Unable to merge android manifests. See the Console for more details. 
UnityEditor.Android.AndroidSDKTools.DetectErrorsAndWarnings (System.String logMessages, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommand (System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommand (System.String[] sdkToolCommand, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommand (System.String[] sdkToolCommand, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.MergeManifests (System.String target, System.String mainManifest, System.String[] libraryManifests, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit)
UnityEditor.Android.PostProcessor.Tasks.GenerateManifest.MergeManifests (UnityEditor.Android.PostProcessor.PostProcessorContext context, System.String targetManifest, System.String mainManifest)
UnityEditor.Android.PostProcessor.Tasks.GenerateManifest.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.HostView:OnGUI()

即使项目是"empty"也会出现这些错误,我唯一做的就是导入Mapbox和Unity。

有人知道怎么解决吗?

导入 Tango 和 Mapbox 包后出现一些冲突。

为了解决它们,您应该在位于 Assets>Plugins>AndroidAndroidManifest.xml 中添加 tools:node="merge"xmlns:tools="http://schemas.android.com/tools"(避免合并清单冲突)并删除重复的 support-v4-23.4.0.aar 同一文件夹中的库(Mapbox 资产中包含更新版本)。

还记得配置 Build Settings (File>Build Settings):

  • 选中 AndroidSwitch Platform 按钮
  • 点击Player Settings按钮
    • 为您的 Android 应用设置 Package Name
    • Minimum API level 设置为 17(Tango 需要它)

截图:

使用该设置,单击 Build & Run 后会正确生成 .apk,如果您已连接设备,您应该会在其上看到应用程序 运行。