【发布时间】:2012-02-19 18:54:24
【问题描述】:
我已经阅读了我找到的关于如何将针对 Android 的 Unity3D 项目集成到 eclipse 中的所有文档。我想这样做的原因是能够在我自己的“普通”Android 应用程序中调用 Unity3D Activity。
好吧,我尝试按照listed on this tutorial 的步骤进行操作。 使用我能想象到的所有组合,我做了以下事情:
我使用了 Unity Android 项目并构建了它(在 Unity IDE),然后将
/Temp/StagingArea/文件夹复制到另一个位置。我创建了一个新的 Android 项目,使用从现有源创建, 设置
StagingArea复制文件夹的位置。这将是 Android 库项目。检查属性上的“是库”-> 安卓。再次,我创建一个Android项目,导入之前创建的 Android 库项目和
classes.jar。我将
asset文件夹内容从库项目移动到 “活动”项目。它有两个子文件夹,bin和libs。我修改生成的 Activity 以扩展
UnityPlayerActivity和 删除 onCreate 方法的 setContent 行。更改 包以匹配 Unity Player 捆绑包 ID。将对应的行添加到manifest中,基本上就是那些在 图书馆项目。
所以一切编译都没有错误,我可以运行项目,显示启动画面,然后是黑屏,正确播放 Unity 场景的声音。 logcat 显示以下错误:
01-26 16:51:46.415: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.415: E/Unity(2299): Unable to find QCARWrapper
01-26 16:51:46.415: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.415: E/Unity(2299): Unable to find QCARWrapper
01-26 16:51:46.415: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.415: E/Unity(2299): Unable to find QCARWrapper
01-26 16:51:46.415: I/Unity(2299): StopQCAR
01-26 16:51:46.415: I/Unity(2299): UnityEngine.Debug:Internal_Log(Int32, String, Object)
01-26 16:51:46.415: I/Unity(2299): UnityEngine.Debug:Log(Object)
01-26 16:51:46.415: I/Unity(2299): UnityEngine.MonoBehaviour:print(Object)
01-26 16:51:46.415: I/Unity(2299): TrackerBehaviour:StopQCAR()
01-26 16:51:46.415: I/Unity(2299): TrackerBehaviour:OnApplicationPause(Boolean)
01-26 16:51:46.415: I/Unity(2299):
01-26 16:51:46.415: I/Unity(2299): (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/Export/Generated/UnityEngineDebug.cpp Line: 34)
01-26 16:51:46.425: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.425: E/Unity(2299): Unable to find QCARWrapper
01-26 16:51:46.425: I/Unity(2299): DllNotFoundException: QCARWrapper
01-26 16:51:46.425: I/Unity(2299): at (wrapper managed-to-native) TrackerBehaviour:stopTracker ()
01-26 16:51:46.425: I/Unity(2299): at TrackerBehaviour.StopQCAR () [0x00000] in <filename unknown>:0
01-26 16:51:46.425: I/Unity(2299): at TrackerBehaviour.OnApplicationPause (Boolean pause) [0x00000] in <filename unknown>:0
顺便提一下……阅读这两个 SO 问题:1 和 2。他们似乎已经成功了,因此可以按照这些步骤(或类似步骤)来实现。
我还发现了有用的this topic on the Unity3D forum,它基本上以更清晰的方式描述了相同的过程。
有人遇到过这个问题吗?有什么建议或替代方案吗?
问候。
【问题讨论】: