diff --git a/platform/android/src/asset_file_source.cpp b/platform/android/src/asset_file_source.cpp index 7eb200777..d2aab30a5 100644 --- a/platform/android/src/asset_file_source.cpp +++ b/platform/android/src/asset_file_source.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wshadow" @@ -59,7 +60,8 @@ public: struct zip_stat stat; ::zip_stat_init(&stat); - std::string path = std::string("assets/") + url.substr(8); + std::string path = std::string("assets/") + mbgl::util::percentDecode(url.substr(8)); + int ret = ::zip_stat(archive.archive, path.c_str(), 0, &stat); if (ret < 0 || !(stat.valid & ZIP_STAT_SIZE)) { reportError(Response::Error::Reason::NotFound, "Could not stat file in zip archive", callback);