Class FlutterLoader
- java.lang.Object
-
- io.flutter.embedding.engine.loader.FlutterLoader
-
public class FlutterLoader extends Object
Finds Flutter resources in an application APK and also loads Flutter's native library.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFlutterLoader.Settings
-
Constructor Summary
Constructors Constructor Description FlutterLoader()FlutterLoader(FlutterJNI flutterJNI)Creates aFlutterLoaderthat uses a default constructedExecutorService.FlutterLoader(FlutterJNI flutterJNI, ExecutorService executorService)Creates aFlutterLoaderwith the specifiedFlutterJNI.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanautomaticallyRegisterPlugins()Returns the configuration on whether flutter engine should automatically register plugins.voidensureInitializationComplete(Context applicationContext, String[] args)Blocks until initialization of the native system has completed.voidensureInitializationCompleteAsync(Context applicationContext, String[] args, Handler callbackHandler, Runnable callback)Same asensureInitializationComplete(Context, String[])but waiting on a background thread, then invokingcallbackon thecallbackHandler.StringfindAppBundlePath()StringgetLookupKeyForAsset(String asset)Returns the file name for the given asset.StringgetLookupKeyForAsset(String asset, String packageName)Returns the file name for the given asset which originates from the specified packageName.booleaninitialized()Returns whether the FlutterLoader has finished loading the native library.voidstartInitialization(Context applicationContext)Starts initialization of the native system.voidstartInitialization(Context applicationContext, FlutterLoader.Settings settings)Starts initialization of the native system.
-
-
-
Constructor Detail
-
FlutterLoader
public FlutterLoader()
-
FlutterLoader
public FlutterLoader(@NonNull FlutterJNI flutterJNI)Creates aFlutterLoaderthat uses a default constructedExecutorService.- Parameters:
flutterJNI- TheFlutterJNIinstance to use for loading the libflutter.so C++ library, setting up the font manager, and calling into C++ initialization.
-
FlutterLoader
public FlutterLoader(@NonNull FlutterJNI flutterJNI, @NonNull ExecutorService executorService)Creates aFlutterLoaderwith the specifiedFlutterJNI.- Parameters:
flutterJNI- TheFlutterJNIinstance to use for loading the libflutter.so C++ library, setting up the font manager, and calling into C++ initialization.executorService- TheExecutorServiceto use when creating new threads.
-
-
Method Detail
-
startInitialization
public void startInitialization(@NonNull Context applicationContext)Starts initialization of the native system.- Parameters:
applicationContext- The Android application context.
-
startInitialization
public void startInitialization(@NonNull Context applicationContext, @NonNull FlutterLoader.Settings settings)Starts initialization of the native system.This loads the Flutter engine's native library to enable subsequent JNI calls. This also starts locating and unpacking Dart resources packaged in the app's APK.
Calling this method multiple times has no effect.
- Parameters:
applicationContext- The Android application context.settings- Configuration settings.
-
ensureInitializationComplete
public void ensureInitializationComplete(@NonNull Context applicationContext, @Nullable String[] args)Blocks until initialization of the native system has completed.Calling this method multiple times has no effect.
- Parameters:
applicationContext- The Android application context.args- Flags sent to the Flutter runtime.
-
ensureInitializationCompleteAsync
public void ensureInitializationCompleteAsync(@NonNull Context applicationContext, @Nullable String[] args, @NonNull Handler callbackHandler, @NonNull Runnable callback)Same asensureInitializationComplete(Context, String[])but waiting on a background thread, then invokingcallbackon thecallbackHandler.
-
initialized
public boolean initialized()
Returns whether the FlutterLoader has finished loading the native library.
-
findAppBundlePath
@NonNull public String findAppBundlePath()
-
getLookupKeyForAsset
@NonNull public String getLookupKeyForAsset(@NonNull String asset)
Returns the file name for the given asset. The returned file name can be used to access the asset in the APK through theAssetManagerAPI.- Parameters:
asset- the name of the asset. The name can be hierarchical- Returns:
- the filename to be used with
AssetManager
-
getLookupKeyForAsset
@NonNull public String getLookupKeyForAsset(@NonNull String asset, @NonNull String packageName)
Returns the file name for the given asset which originates from the specified packageName. The returned file name can be used to access the asset in the APK through theAssetManagerAPI.- Parameters:
asset- the name of the asset. The name can be hierarchicalpackageName- the name of the package from which the asset originates- Returns:
- the file name to be used with
AssetManager
-
automaticallyRegisterPlugins
@NonNull public boolean automaticallyRegisterPlugins()
Returns the configuration on whether flutter engine should automatically register plugins.
-
-