我已经工作了很长时间......我试图用Mapbox在Android上构建最基本的项目,但到目前为止还没有运气。
我如何构建它有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库源构建一个工作示例,更不用说调试它了。
我找到了以下文档声称可以帮助调试C / C ++ Android应用程序,但要么不清楚,要么没有足够的信息来完成使用此方法调试源库。
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 = Debug make android-lib-x86-64
但是没有得到它:
BUILDTYPE = Debug 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的步骤?
答案 0 :(得分:2)
在Linux上构建Mapbox GL Native的文档刚刚更新:
https://github.com/mapbox/mapbox-gl-native/blob/master/platform/android/CONTRIBUTING_LINUX.md
您应该能够构建测试应用程序并按照说明安装在手机/模拟器上。
在全新安装的Ubuntu 16.04 LTS上测试。