0805b8048f
Remove and create the kernel_blob.bin file in the flutter_assets directory: When Flutter compiles the source code, it creates the kernel_blob.bin file, a Dart Kernel Bytecode of the application. If kernel_blob.bin exists inside the flutter_assets directory, then the application source code can be extracted with nothing more than apktool. Not only is this a security risk, it's also redundant and a waste of space. Removing the kernel_blob.bin file generated for flutter-gallery saves 86M! Because this package is a reference package, and some applications may check if the kernel_blob.bin file exists, we also touch a blank kernel_blob.bin file. Do not use relative symlinks: Users may install their applications in any arbitaryt location, not necessarily in the /usr/share/flutter/${package_name} directory. Because flutter-gallery is a reference application, using exact symlinks to icudtl.dat and libflutter_engine.so is preferable. Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
58 lines
2.1 KiB
Makefile
58 lines
2.1 KiB
Makefile
################################################################################
|
|
#
|
|
# flutter-gallery
|
|
#
|
|
################################################################################
|
|
|
|
FLUTTER_GALLERY_VERSION = 2.10.2
|
|
FLUTTER_GALLERY_SITE = $(call github,flutter,gallery,v$(FLUTTER_GALLERY_VERSION))
|
|
FLUTTER_GALLERY_LICENSE = BSD-3-Clause
|
|
FLUTTER_GALLERY_LICENSE_FILES = LICENSE
|
|
FLUTTER_GALLERY_DEPENDENCIES = \
|
|
host-flutter-sdk-bin \
|
|
flutter-engine
|
|
|
|
FLUTTER_GALLERY_INSTALL_DIR = $(TARGET_DIR)/usr/share/flutter/gallery/$(FLUTTER_ENGINE_RUNTIME_MODE)
|
|
|
|
define FLUTTER_GALLERY_CONFIGURE_CMDS
|
|
cd $(@D) && \
|
|
FLUTTER_RUNTIME_MODES=$(FLUTTER_ENGINE_RUNTIME_MODE) \
|
|
$(HOST_FLUTTER_SDK_BIN_FLUTTER) clean && \
|
|
$(HOST_FLUTTER_SDK_BIN_FLUTTER) pub get && \
|
|
$(HOST_FLUTTER_SDK_BIN_FLUTTER) build bundle
|
|
endef
|
|
|
|
define FLUTTER_GALLERY_BUILD_CMDS
|
|
cd $(@D) && \
|
|
FLUTTER_RUNTIME_MODES=$(FLUTTER_ENGINE_RUNTIME_MODE) \
|
|
$(HOST_FLUTTER_SDK_BIN_DART_BIN) \
|
|
-Dflutter.dart_plugin_registrant=file://$(@D)/.dart_tool/flutter_build/dart_plugin_registrant.dart \
|
|
--source file://$(@D)/.dart_tool/flutter_build/dart_plugin_registrant.dart \
|
|
--source package:flutter/src/dart_plugin_registrant.dart \
|
|
--native-assets $(@D)/.dart_tool/flutter_build/*/native_assets.yaml \
|
|
package:gallery/main.dart && \
|
|
$(HOST_FLUTTER_SDK_BIN_ENV) $(FLUTTER_ENGINE_GEN_SNAPSHOT) \
|
|
--deterministic \
|
|
--obfuscate \
|
|
--snapshot_kind=app-aot-elf \
|
|
--elf=libapp.so \
|
|
.dart_tool/flutter_build/*/app.dill
|
|
endef
|
|
|
|
define FLUTTER_GALLERY_INSTALL_TARGET_CMDS
|
|
mkdir -p $(FLUTTER_GALLERY_INSTALL_DIR)/{data,lib}
|
|
cp -dprf $(@D)/build/flutter_assets $(FLUTTER_GALLERY_INSTALL_DIR)/data/
|
|
|
|
$(INSTALL) -D -m 0755 $(@D)/libapp.so \
|
|
$(FLUTTER_GALLERY_INSTALL_DIR)/lib/libapp.so
|
|
|
|
ln -sf /usr/share/flutter/$(FLUTTER_ENGINE_RUNTIME_MODE)/data/icudtl.dat \
|
|
$(FLUTTER_GALLERY_INSTALL_DIR)/data/
|
|
|
|
ln -sf /usr/lib/libflutter_engine.so $(FLUTTER_GALLERY_INSTALL_DIR)/lib/
|
|
$(RM) $(FLUTTER_GALLERY_INSTALL_DIR)/data/flutter_assets/kernel_blob.bin
|
|
touch $(FLUTTER_GALLERY_INSTALL_DIR)/data/flutter_assets/kernel_blob.bin
|
|
endef
|
|
|
|
$(eval $(generic-package))
|