我一直在使用 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);
}
这似乎不会将预捆绑的地图复制到应用程序资源目录,就像我之前使用的代码一样:
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
都会很棒