Я прочитал всю документацию о том, как интегрировать проекты Unity3D, ориентированные на Android, в Eclipse. Причина, по которой я хочу это сделать, заключается в том, чтобы иметь возможность вызывать Unity3D Activity в моем собственном «обычном» Android-приложении.
Что ж, я попытался выполнить шаги , перечисленные в этом руководстве .
Используя все комбинации, которые я могу себе представить, я сделал следующее:
Я использовал проект Unity для Android и создал его (в рамках Unity
IDE), затем скопировал папку /Temp/StagingArea/
в другое место.
Я создал новый проект Android, используя создание из существующих источников,
установка местоположения папки StagingArea
для копирования. Это было бы
проект библиотеки Android. Проверьте "есть библиотека" по свойствам ->
Android.
Опять же, я создаю проект Android, импортирую созданный ранее
Проект библиотеки Android и classes.jar
.
I переместить содержимое папки asset
из проекта библиотеки в
Проект "Активность". Он имеет две подпапки, bin
и libs
.
Я изменяю сгенерированное действие для расширения UnityPlayerActivity
и
удалите строку setContent метода onCreate. Изменить
пакет, соответствующий идентификатору пакета Unity Player.
Добавьте соответствующие строки в манифест, в основном те, которые находятся на
Проект библиотеки.
Таким образом, все компилируется без ошибок, и я могу запустить проект, показать заставку, а затем черный экран, корректно воспроизводя звуки моей сцены 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 . Кажется, они преуспели, поэтому можно выполнить следующие шаги (или аналогичные).
Я также нашел полезной эту тему на форуме Unity3D , которая в основном описывает тот же процесс в более ясной форме.
Кто-нибудь сталкивался с этой проблемой? Любое предложение или альтернатива?
Привет.