1.OsmAnd 简介
OsmAnd 是利用 OpenStreetMap 的数据实现的一款离线移动地图和导航,可以很好的去探究地图的绘制流程
内部使用的数据是 OpenSrtreetMap
+ wikipedia
+ mapillary
其代码是开源的,链接见osmdroid-osmdroid
2.引入 OsmAnd 的正确姿势
mkdir osmandapp
cd osmandapp
repo init -u https://github.com/osmandapp/OsmAnd-manifest.git -m android_build.xml
repo sync -d
cd android/OsmAnd
../gradlew --refresh-dependencies clean assembleFullLegacyFatDebug
包很大,have a coffee
3.遇到的问题
3.1 直接使用 git clone https://github.com/osmandapp/Osmand.git
发现编译失败
github 上只是资源的汇总,具体构建参考 OsmAnd 编译
3.2 gradle 编译出现 outOfMemory
修改 gradle.properties
,
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
3.3 osm-java::test task failure
删除了 OpeningHoursParserTest.java
文件