diff --git a/shell/platform/android/apk_asset_provider.cc b/shell/platform/android/apk_asset_provider.cc index 4cf6da16dc64f0510a456cbcdb219c7bec715635..268897ef5c58f06b06ce10d142dd690a7afa7f10 100644 --- a/shell/platform/android/apk_asset_provider.cc +++ b/shell/platform/android/apk_asset_provider.cc @@ -10,7 +10,8 @@ namespace blink { APKAssetProvider::APKAssetProvider(JNIEnv* env, jobject jassetManager, std::string directory) - : directory_(std::move(directory)) { + : java_asset_manager_(env, jassetManager), + directory_(std::move(directory)) { assetManager_ = AAssetManager_fromJava(env, jassetManager); } diff --git a/shell/platform/android/apk_asset_provider.h b/shell/platform/android/apk_asset_provider.h index 70ddbe454bc615322bcd4bf65d595a14061631b6..7c3f8e12a23b2f2183b69230350bc38c7e70a4f8 100644 --- a/shell/platform/android/apk_asset_provider.h +++ b/shell/platform/android/apk_asset_provider.h @@ -9,6 +9,7 @@ #include #include "flutter/assets/asset_resolver.h" +#include "flutter/fml/platform/android/scoped_java_ref.h" #include "lib/fxl/memory/ref_counted.h" namespace blink { @@ -21,6 +22,7 @@ class APKAssetProvider final : public AssetResolver { virtual ~APKAssetProvider(); private: + fml::jni::ScopedJavaGlobalRef java_asset_manager_; AAssetManager* assetManager_; const std::string directory_; @@ -36,4 +38,4 @@ class APKAssetProvider final : public AssetResolver { } // namespace blink -#endif // FLUTTER_ASSETS_APK_ASSET_PROVIDER_H \ No newline at end of file +#endif // FLUTTER_ASSETS_APK_ASSET_PROVIDER_H