pub fn android_install_res<Asset: Read>(
open_res: impl FnOnce() -> Option<Asset>,
)Expand description
Helper function for adapting Android assets to the cross-platform res API.
To implement Android resource extraction, bundle the resources in a tar that is itself bundled in assets/res.tar inside the APK.
On startup, call this function, it handles resources extraction and versioning.
ยงExamples
#[unsafe(no_mangle)]
fn android_main(app: zng::view_process::default::android::AndroidApp) {
zng::env::init!();
zng::view_process::default::android::init_android_app(app.clone());
zng::env::android_install_res(|| app.asset_manager().open(c"res.tar"));
// zng::view_process::default::run_same_process(..);
}The open_res closure is only called if this is the first instance of the current app version on the device, or if the user
cleared all app data.
The resources are installed in the res directory, if the tar archive has only a root dir named res it is stripped.
This function assumes that it is the only app component that writes to this directory.
Note that the tar file is not compressed, because the APK already compresses it. The cargo zng res tool .zr-apk
tar resources by default, simply place the resources in /assets/res/.