我一直在使用Skobbler SDK 2.5.1版在我的应用上预先捆绑地图。当我想将我的应用程序上传到Play商店时,由于libpng的安全漏洞,我被要求升级到最新的SDK版本3.0.2,现在我似乎无法理解该机制的工作原理。 。 我已经按照"如何"中的教程进行了操作。部分https://developer.skobbler.com/getting-started/android与我之前版本的完成方式相同:在我的应用中"资产"文件夹,我已插入旧的" SKMaps.zip"文件,包含所需的包文件和元文件
在我的主要活动中,我已插入以下代码:
private void unpackMaps() {
progressDialog = ProgressDialog.show(this, "Just a sec",
"Unpacking maps, this might take a minute or two...", false, false);
String mapResourcesDirPath =
Methods.getMapResourcesDirPath(MyActivity.this)
SKMapsInitSettings mapsInitSettings = new SKMapsInitSettings();
mapsInitSettings.setMapResourcesPath(mapResourcesDirPath)
mapsInitSettings.setConnectivityMode(SKMaps.CONNECTIVITY_MODE_OFFLINE);
mapsInitSettings.setPreinstalledMapsPath(mapResourcesDirPath +"PreinstalledMaps");
mapsInitSettings.setCurrentMapViewStyle
(new SKMapViewStyle(mapResourcesDirPath + "daystyle/", "daystyle.json"));
SKMaps.getInstance().initializeSKMaps(getApplication(), this);
}
这似乎并没有将prebundeled地图复制到apps资源目录,就像我之前使用过的代码一样:
private void unpackMaps() {
progressDialog = ProgressDialog.show(this, "Just a sec",
"Unpacking maps, this might take a minute or two...", false, false);
String mapResourcesDirPath =
Methods.getMapResourcesDirPath(MyActivity.this);
final SKPrepareMapTextureThread prepThread =
new SKPrepareMapTextureThread(MyActivity.this,
mapResourcesDirPath, "SKMaps.zip", MyActivity.this);
prepThread.start();
}
我长期以来一直对此感到头疼,任何解释新机制的帮助都应该取代旧的SKPrepareMapTextureThread
会很棒