我已经工作了很长时间......我可以尝试使用 Mapbox 在 Android 上构建最基本的项目,但到目前为止还没有运气。
我如何构建它有两个限制。
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=调试 android-lib-x86-64
但不要得到它:
BUILDTYPE=调试 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 的步骤?