1

我一直在使用 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都会很棒

4

0 回答 0