Я работал очень долго … пытаясь построить самый простой проект на Android с Mapbox, который я могу, но пока безуспешно.
Там 2 ограничения на то, как я его строю.
1) Сборка из исходного кода
2) Приложение должно быть отлаживаемым в исходный код C ++ / C
Я использовал следующие инструкции:
https://github.com/mapbox/mapbox-gl-native/blob/master/INSTALL.md и другие веб-страницы, связанные здесь.
Эти страницы не объясняют, как создать тестовое приложение, они только рассказывают, как создать библиотеку. Я уже следовал за ними и построил библиотеку. Я создал приложение, используя:
https://www.mapbox.com/help/first-steps-android-sdk/
но он падает, когда я запускаю его внутри библиотечной функции C ++.
Кажется разумным полагать, что разработчики Mapbox должны делать это, но я понятия не имею, как. Я даже не могу собрать рабочий пример с использованием исходного кода библиотеки Mapbox, не говоря уже об отладке.
Я нашел следующий документ, в котором утверждается, что он помогает отладить приложение Android на C / C ++, но либо он неясен, либо недостаточно информации для отладки исходной библиотеки с помощью этого метода.
http://tools.android.com/tech-docs/new-build-system/gradle-experimental
Пример проекта, который делает это, был бы весьма полезен. Даже тот, который строит за работой (не падает) простой пример из источник без отладки двинул бы меня в правильном направлении. Мне все еще нужно будет его отладить, но, по крайней мере, я бы знал, как создать рабочий пример из исходного кода.
Я попросил Mapbox о помощи. Обычно они отвечают, задавая мне вопросы в ответ: «Вам действительно нужно создать исходный код?» После того, как я отвечу на несколько их вопросов, они говорят, что ответят мне. После нескольких недель отсутствия ответа я спрашиваю, есть ли у них ответ на мой вопрос, и у них нет памяти о разговоре, и цикл начинается заново. Кажется, они слишком заняты, чтобы отвечать на мой вопрос.
Любая помощь в этой простой, но неуловимой задаче будет принята с благодарностью.
Спасибо.
Митч
ОБНОВИТЬ:
Я могу получить проект для сборки сейчас, но все равно не повезло, запустив его или отладив. Я нашел страницу, которая выглядела так, как будто она может помочь:
https://github.com/mapbox/mapbox-gl-native/blob/master/platform/android/DISTRIBUTE.md
Эти инструкции не работают и сообщают, что файл jni.h не найден. Я попытался исправить это
BUILDTYPE=Debug make apackage -I$JAVA_HOME/include
Однако это создает похожую ошибку:
../../include/mbgl/gl/gl.hpp:30:14: фатальная ошибка: файл ‘GLES2 / gl2.h’ не найден
Стоит ли собирать из Android Studio, чтобы отладка работала или с помощью командной строки?
ОБНОВИТЬ:
Также получите ошибку, вызвав:
BUILDTYPE = Отладка make android-lib-x86-64
но не получайте это с:
BUILDTYPE = Отладка make android-lib-x86
Кроме того, при запуске под Android Studio происходит сбой следующей строки:
static {
System.loadLibrary("mapbox-gl");
}
Внутри:
mapbox-gl-native/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
Означает ли это, что в инструкциях от Mapbox отсутствует шаг для помещения библиотеки в apk?
Документы по созданию Mapbox GL Native для Linux были только что обновлены:
https://github.com/mapbox/mapbox-gl-native/blob/master/platform/android/CONTRIBUTING_LINUX.md
Вы сможете создать тестовое приложение и установить его на телефон / эмулятор, следуя инструкциям.
Протестировано на свежей установке Ubuntu 16.04 LTS.
Других решений пока нет …