blockchaingate / exchangily-mobile-app

eXchangily DEX mobile App
Apache License 2.0
19 stars 14 forks source link

APK is not reproducible #4

Open emanuelb opened 3 years ago

emanuelb commented 3 years ago

Comparing APK downloaded from website https://exchangily.com/app via download link https://exchangily.com/download/latest.apk to locally build apk of latest version result in diff:

diff --recursive --brief ./FromWebsite/ ./LocalBuild/
Files ./FromWebsite/AndroidManifest.xml and ./LocalBuild/AndroidManifest.xml differ
Files ./FromWebsite/assets/flutter_assets/AssetManifest.json and ./LocalBuild/assets/flutter_assets/AssetManifest.json differ
Files ./FromWebsite/assets/flutter_assets/fonts/MaterialIcons-Regular.otf and ./LocalBuild/assets/flutter_assets/fonts/MaterialIcons-Regular.otf differ
Files ./FromWebsite/assets/flutter_assets/NOTICES and ./LocalBuild/assets/flutter_assets/NOTICES differ
Files ./FromWebsite/classes.dex and ./LocalBuild/classes.dex differ
Files ./FromWebsite/lib/arm64-v8a/libapp.so and ./LocalBuild/lib/arm64-v8a/libapp.so differ
Files ./FromWebsite/lib/arm64-v8a/libflutter.so and ./LocalBuild/lib/arm64-v8a/libflutter.so differ
Files ./FromWebsite/lib/armeabi-v7a/libapp.so and ./LocalBuild/lib/armeabi-v7a/libapp.so differ
Files ./FromWebsite/lib/armeabi-v7a/libflutter.so and ./LocalBuild/lib/armeabi-v7a/libflutter.so differ
Files ./FromWebsite/lib/x86_64/libapp.so and ./LocalBuild/lib/x86_64/libapp.so differ
Files ./FromWebsite/lib/x86_64/libflutter.so and ./LocalBuild/lib/x86_64/libflutter.so differ
Files ./FromWebsite/META-INF/CERT.RSA and ./LocalBuild/META-INF/CERT.RSA differ
Files ./FromWebsite/META-INF/CERT.SF and ./LocalBuild/META-INF/CERT.SF differ
Files ./FromWebsite/META-INF/MANIFEST.MF and ./LocalBuild/META-INF/MANIFEST.MF differ
Files ./FromWebsite/resources.arsc and ./LocalBuild/resources.arsc differ

ordering difference in assets/flutter_assets/AssetManifest.json file:

+    "packages/rflutter_alert/assets/images/close.png": ["packages/rflutter_alert/assets/images/close.png", "packages/rflutter_alert/assets/images/2.0x/close.png", "packages/rflutter_alert/assets/images/3.0x/close.png"],
-     "packages/rflutter_alert/assets/images/close.png": ["packages/rflutter_alert/assets/images/close.png", "packages/rflutter_alert/assets/images/3.0x/close.png", "packages/rflutter_alert/assets/images/2.0x/close.png"],

From the diff in ./assets/flutter_assets/NOTICES looks like flutter different version (and also maybe for some of the deps?) makes the difference.

Locally APK was build in below container:

Build in: podman build --rm -t exchangily_alpine_build_apk -f ContainerFileAlpine APK in: /home/appuser/app/exchangily/exchangily-mobile-app/build/app/outputs/flutter-apk/app-release.apk

FROM frolvlad/alpine-glibc

RUN set -ex; \
    apk update; \
    apk add --no-cache \
        gradle \
        bash curl file git zip; \
    adduser -D appuser;

USER appuser

ENV ANDROID_SDK_ROOT="/home/appuser/app/sdk" \
    ANDROID_HOME="/home/appuser/app/sdk"

RUN set -ex; \
    mkdir -p "/home/appuser/app/sdk/licenses" "/home/appuser/app/exchangily" ; \
    printf "\n24333f8a63b6825ea9c5514f83c2829b004d1fee" > "/home/appuser/app/sdk/licenses/android-sdk-license"; \
    cd /home/appuser/app/sdk/; \
    wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_2.2.1-stable.tar.xz; \
    tar xf flutter_linux_2.2.1-stable.tar.xz; \
    rm flutter_linux_2.2.1-stable.tar.xz; \
    /home/appuser/app/sdk/flutter/bin/flutter config --no-analytics; \
    /home/appuser/app/sdk/flutter/bin/dart --disable-analytics; \
    cd /home/appuser/app/exchangily; \
    git clone https://github.com/blockchaingate/exchangily-mobile-app/; \
    cd /home/appuser/app/exchangily/exchangily-mobile-app/; \
    git checkout 75a858142cf2032a81a41456afec247464c691b2; \
    printf "const bool isProduction = true;\nconst bool isLocal = true;" > ./lib/environments/environment_type.dart; \
    cd android; \
    keytool -genkey -alias exchangily_alias -keystore app/exchangily.pfx -storetype PKCS12 -keyalg RSA -keysize 4096 -storepass exchangily_alias -keypass exchangily_alias -validity 10000 -dname CN=IL; \
    printf "\nstoreFile=exchangily.pfx\nstorePassword=exchangily_alias\nkeyPassword=exchangily_alias\nkeyAlias=exchangily_alias" > key.properties ; \
    cd /home/appuser/app/exchangily/exchangily-mobile-app/;

WORKDIR /home/appuser/app/exchangily/exchangily-mobile-app/
RUN /home/appuser/app/sdk/flutter/bin/flutter build apk
emanuelb commented 2 years ago

Comparing APK downloaded from website https://exchangily.com/app via download link https://exchangily.com/download/latest.apk to locally build apk of latest version 2.1.45 result in diff:

Files ./FromWebsite/AndroidManifest.xml and ./LocalBuild/AndroidManifest.xml differ
Only in ./LocalBuild/: DebugProbesKt.bin
Files ./FromWebsite/META-INF/CERT.RSA and ./LocalBuild/META-INF/CERT.RSA differ
Files ./FromWebsite/META-INF/CERT.SF and ./LocalBuild/META-INF/CERT.SF differ
Files ./FromWebsite/META-INF/MANIFEST.MF and ./LocalBuild/META-INF/MANIFEST.MF differ
Only in ./LocalBuild/META-INF: androidx.window_window-java.version
Only in ./LocalBuild/META-INF: androidx.window_window.version
Files ./FromWebsite/META-INF/app_release.kotlin_module and ./LocalBuild/META-INF/app_release.kotlin_module differ
Files ./FromWebsite/META-INF/barcode_scan_release.kotlin_module and ./LocalBuild/META-INF/barcode_scan_release.kotlin_module differ
Only in ./FromWebsite/META-INF: kotlin-stdlib-common-coroutines.kotlin_module
Files ./FromWebsite/META-INF/kotlin-stdlib-common.kotlin_module and ./LocalBuild/META-INF/kotlin-stdlib-common.kotlin_module differ
Only in ./FromWebsite/META-INF: kotlin-stdlib-coroutines.kotlin_module
Files ./FromWebsite/META-INF/kotlin-stdlib-jdk7.kotlin_module and ./LocalBuild/META-INF/kotlin-stdlib-jdk7.kotlin_module differ
Only in ./LocalBuild/META-INF: kotlin-stdlib-jdk8.kotlin_module
Files ./FromWebsite/META-INF/kotlin-stdlib.kotlin_module and ./LocalBuild/META-INF/kotlin-stdlib.kotlin_module differ
Only in ./LocalBuild/META-INF: kotlinx-coroutines-android.kotlin_module
Only in ./LocalBuild/META-INF: kotlinx-coroutines-core.kotlin_module
Only in ./LocalBuild/META-INF: services
Files ./FromWebsite/META-INF/wakelock_release.kotlin_module and ./LocalBuild/META-INF/wakelock_release.kotlin_module differ
Only in ./LocalBuild/META-INF: window-java_release.kotlin_module
Only in ./LocalBuild/META-INF: window_release.kotlin_module
Files ./FromWebsite/assets/flutter_assets/AssetManifest.json and ./LocalBuild/assets/flutter_assets/AssetManifest.json differ
Files ./FromWebsite/assets/flutter_assets/NOTICES.Z and ./LocalBuild/assets/flutter_assets/NOTICES.Z differ
Files ./FromWebsite/assets/flutter_assets/assets/cert/isrgrootx1.pem and ./LocalBuild/assets/flutter_assets/assets/cert/isrgrootx1.pem differ
Files ./FromWebsite/assets/flutter_assets/assets/images/otc-campaign/guide-about-campaign-ch.svg and ./LocalBuild/assets/flutter_assets/assets/images/otc-campaign/guide-about-campaign-ch.svg differ
Files ./FromWebsite/assets/flutter_assets/assets/images/otc-campaign/guide-about-campaign-en.svg and ./LocalBuild/assets/flutter_assets/assets/images/otc-campaign/guide-about-campaign-en.svg differ
Files ./FromWebsite/assets/flutter_assets/assets/images/otc-campaign/guide-reward-example-en.svg and ./LocalBuild/assets/flutter_assets/assets/images/otc-campaign/guide-reward-example-en.svg differ
Files ./FromWebsite/assets/flutter_assets/assets/images/otc-campaign/guide-team-reward-ch.svg and ./LocalBuild/assets/flutter_assets/assets/images/otc-campaign/guide-team-reward-ch.svg differ
Files ./FromWebsite/assets/flutter_assets/assets/images/otc-campaign/guide-team-rewards-en.svg and ./LocalBuild/assets/flutter_assets/assets/images/otc-campaign/guide-team-rewards-en.svg differ
Files ./FromWebsite/assets/flutter_assets/assets/images/shared/list-loading.svg and ./LocalBuild/assets/flutter_assets/assets/images/shared/list-loading.svg differ
Files ./FromWebsite/assets/flutter_assets/assets/images/wallet-page/exlogo.svg and ./LocalBuild/assets/flutter_assets/assets/images/wallet-page/exlogo.svg differ
Files ./FromWebsite/assets/flutter_assets/assets/pages/index.html and ./LocalBuild/assets/flutter_assets/assets/pages/index.html differ
Files ./FromWebsite/assets/flutter_assets/fonts/MaterialIcons-Regular.otf and ./LocalBuild/assets/flutter_assets/fonts/MaterialIcons-Regular.otf differ
Files ./FromWebsite/assets/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf and ./LocalBuild/assets/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf differ
Files ./FromWebsite/assets/flutter_assets/packages/font_awesome_flutter/lib/fonts/fa-regular-400.ttf and ./LocalBuild/assets/flutter_assets/packages/font_awesome_flutter/lib/fonts/fa-regular-400.ttf differ
Files ./FromWebsite/assets/flutter_assets/packages/font_awesome_flutter/lib/fonts/fa-solid-900.ttf and ./LocalBuild/assets/flutter_assets/packages/font_awesome_flutter/lib/fonts/fa-solid-900.ttf differ
Files ./FromWebsite/assets/flutter_assets/packages/material_design_icons_flutter/lib/fonts/materialdesignicons-webfont.ttf and ./LocalBuild/assets/flutter_assets/packages/material_design_icons_flutter/lib/fonts/materialdesignicons-webfont.ttf differ
Files ./FromWebsite/classes.dex and ./LocalBuild/classes.dex differ
Files ./FromWebsite/kotlin/kotlin.kotlin_builtins and ./LocalBuild/kotlin/kotlin.kotlin_builtins differ
Files ./FromWebsite/kotlin/reflect/reflect.kotlin_builtins and ./LocalBuild/kotlin/reflect/reflect.kotlin_builtins differ
Only in ./LocalBuild/: kotlin-tooling-metadata.json
Files ./FromWebsite/lib/arm64-v8a/libapp.so and ./LocalBuild/lib/arm64-v8a/libapp.so differ
Files ./FromWebsite/lib/arm64-v8a/libflutter.so and ./LocalBuild/lib/arm64-v8a/libflutter.so differ
Files ./FromWebsite/lib/armeabi-v7a/libapp.so and ./LocalBuild/lib/armeabi-v7a/libapp.so differ
Files ./FromWebsite/lib/armeabi-v7a/libflutter.so and ./LocalBuild/lib/armeabi-v7a/libflutter.so differ
Files ./FromWebsite/lib/x86_64/libapp.so and ./LocalBuild/lib/x86_64/libapp.so differ
Files ./FromWebsite/lib/x86_64/libflutter.so and ./LocalBuild/lib/x86_64/libflutter.so differ
Files ./FromWebsite/res/animator-v21/design_appbar_state_list_animator.xml and ./LocalBuild/res/animator-v21/design_appbar_state_list_animator.xml differ
Files ./FromWebsite/res/color/abc_btn_colored_borderless_text_material.xml and ./LocalBuild/res/color/abc_btn_colored_borderless_text_material.xml differ
Files ./FromWebsite/res/color/abc_btn_colored_text_material.xml and ./LocalBuild/res/color/abc_btn_colored_text_material.xml differ
Files ./FromWebsite/res/color/abc_tint_btn_checkable.xml and ./LocalBuild/res/color/abc_tint_btn_checkable.xml differ
Files ./FromWebsite/res/color/abc_tint_default.xml and ./LocalBuild/res/color/abc_tint_default.xml differ
Files ./FromWebsite/res/color/abc_tint_edittext.xml and ./LocalBuild/res/color/abc_tint_edittext.xml differ
Files ./FromWebsite/res/color/abc_tint_seek_thumb.xml and ./LocalBuild/res/color/abc_tint_seek_thumb.xml differ
Files ./FromWebsite/res/color/abc_tint_spinner.xml and ./LocalBuild/res/color/abc_tint_spinner.xml differ
Files ./FromWebsite/res/color/abc_tint_switch_track.xml and ./LocalBuild/res/color/abc_tint_switch_track.xml differ
Files ./FromWebsite/res/color/checkbox_themeable_attribute_color.xml and ./LocalBuild/res/color/checkbox_themeable_attribute_color.xml differ
Files ./FromWebsite/res/color/design_error.xml and ./LocalBuild/res/color/design_error.xml differ
Files ./FromWebsite/res/color/material_on_surface_disabled.xml and ./LocalBuild/res/color/material_on_surface_disabled.xml differ
Files ./FromWebsite/res/color/material_on_surface_emphasis_high_type.xml and ./LocalBuild/res/color/material_on_surface_emphasis_high_type.xml differ
Files ./FromWebsite/res/color/material_on_surface_emphasis_medium.xml and ./LocalBuild/res/color/material_on_surface_emphasis_medium.xml differ
Files ./FromWebsite/res/color/mtrl_btn_bg_color_selector.xml and ./LocalBuild/res/color/mtrl_btn_bg_color_selector.xml differ
Files ./FromWebsite/res/color/mtrl_btn_ripple_color.xml and ./LocalBuild/res/color/mtrl_btn_ripple_color.xml differ
Files ./FromWebsite/res/color/mtrl_btn_text_btn_bg_color_selector.xml and ./LocalBuild/res/color/mtrl_btn_text_btn_bg_color_selector.xml differ
Files ./FromWebsite/res/color/mtrl_btn_text_btn_ripple_color.xml and ./LocalBuild/res/color/mtrl_btn_text_btn_ripple_color.xml differ
Files ./FromWebsite/res/color/mtrl_btn_text_color_selector.xml and ./LocalBuild/res/color/mtrl_btn_text_color_selector.xml differ
Files ./FromWebsite/res/color/mtrl_calendar_item_stroke_color.xml and ./LocalBuild/res/color/mtrl_calendar_item_stroke_color.xml differ
Files ./FromWebsite/res/color/mtrl_calendar_selected_range.xml and ./LocalBuild/res/color/mtrl_calendar_selected_range.xml differ
Files ./FromWebsite/res/color/mtrl_chip_background_color.xml and ./LocalBuild/res/color/mtrl_chip_background_color.xml differ
Files ./FromWebsite/res/color/mtrl_chip_close_icon_tint.xml and ./LocalBuild/res/color/mtrl_chip_close_icon_tint.xml differ
Files ./FromWebsite/res/color/mtrl_chip_ripple_color.xml and ./LocalBuild/res/color/mtrl_chip_ripple_color.xml differ
Files ./FromWebsite/res/color/mtrl_chip_surface_color.xml and ./LocalBuild/res/color/mtrl_chip_surface_color.xml differ
Files ./FromWebsite/res/color/mtrl_chip_text_color.xml and ./LocalBuild/res/color/mtrl_chip_text_color.xml differ
Files ./FromWebsite/res/color/mtrl_filled_background_color.xml and ./LocalBuild/res/color/mtrl_filled_background_color.xml differ
Files ./FromWebsite/res/color/mtrl_text_btn_text_color_selector.xml and ./LocalBuild/res/color/mtrl_text_btn_text_color_selector.xml differ
Files ./FromWebsite/res/color-v21/abc_btn_colored_borderless_text_material.xml and ./LocalBuild/res/color-v21/abc_btn_colored_borderless_text_material.xml differ
Files ./FromWebsite/res/color-v23/abc_btn_colored_borderless_text_material.xml and ./LocalBuild/res/color-v23/abc_btn_colored_borderless_text_material.xml differ
Files ./FromWebsite/res/color-v23/abc_tint_btn_checkable.xml and ./LocalBuild/res/color-v23/abc_tint_btn_checkable.xml differ
Files ./FromWebsite/res/color-v23/abc_tint_default.xml and ./LocalBuild/res/color-v23/abc_tint_default.xml differ
Files ./FromWebsite/res/color-v23/abc_tint_edittext.xml and ./LocalBuild/res/color-v23/abc_tint_edittext.xml differ
Files ./FromWebsite/res/color-v23/abc_tint_seek_thumb.xml and ./LocalBuild/res/color-v23/abc_tint_seek_thumb.xml differ
Files ./FromWebsite/res/color-v23/abc_tint_spinner.xml and ./LocalBuild/res/color-v23/abc_tint_spinner.xml differ
Files ./FromWebsite/res/color-v23/abc_tint_switch_track.xml and ./LocalBuild/res/color-v23/abc_tint_switch_track.xml differ
Files ./FromWebsite/res/drawable/abc_btn_check_material_anim.xml and ./LocalBuild/res/drawable/abc_btn_check_material_anim.xml differ
Files ./FromWebsite/res/drawable/abc_btn_radio_material_anim.xml and ./LocalBuild/res/drawable/abc_btn_radio_material_anim.xml differ
Files ./FromWebsite/res/drawable/abc_ic_ab_back_material.xml and ./LocalBuild/res/drawable/abc_ic_ab_back_material.xml differ
Files ./FromWebsite/res/drawable/abc_ic_arrow_drop_right_black_24dp.xml and ./LocalBuild/res/drawable/abc_ic_arrow_drop_right_black_24dp.xml differ
Files ./FromWebsite/res/drawable/abc_ic_clear_material.xml and ./LocalBuild/res/drawable/abc_ic_clear_material.xml differ
Files ./FromWebsite/res/drawable/abc_ic_go_search_api_material.xml and ./LocalBuild/res/drawable/abc_ic_go_search_api_material.xml differ
Files ./FromWebsite/res/drawable/abc_ic_menu_overflow_material.xml and ./LocalBuild/res/drawable/abc_ic_menu_overflow_material.xml differ
Files ./FromWebsite/res/drawable/abc_ic_search_api_material.xml and ./LocalBuild/res/drawable/abc_ic_search_api_material.xml differ
Files ./FromWebsite/res/drawable/abc_ic_voice_search_api_material.xml and ./LocalBuild/res/drawable/abc_ic_voice_search_api_material.xml differ
Files ./FromWebsite/res/drawable-v21/abc_dialog_material_background.xml and ./LocalBuild/res/drawable-v21/abc_dialog_material_background.xml differ
Files ./FromWebsite/res/drawable-v21/abc_edit_text_material.xml and ./LocalBuild/res/drawable-v21/abc_edit_text_material.xml differ
Files ./FromWebsite/res/drawable-v21/design_bottom_navigation_item_background.xml and ./LocalBuild/res/drawable-v21/design_bottom_navigation_item_background.xml differ
Files ./FromWebsite/res/drawable-v21/design_password_eye.xml and ./LocalBuild/res/drawable-v21/design_password_eye.xml differ
Files ./FromWebsite/res/layout/abc_action_menu_layout.xml and ./LocalBuild/res/layout/abc_action_menu_layout.xml differ
Files ./FromWebsite/res/layout/abc_action_mode_close_item_material.xml and ./LocalBuild/res/layout/abc_action_mode_close_item_material.xml differ
Files ./FromWebsite/res/layout/abc_alert_dialog_button_bar_material.xml and ./LocalBuild/res/layout/abc_alert_dialog_button_bar_material.xml differ
Files ./FromWebsite/res/layout/abc_alert_dialog_material.xml and ./LocalBuild/res/layout/abc_alert_dialog_material.xml differ
Files ./FromWebsite/res/layout/abc_alert_dialog_title_material.xml and ./LocalBuild/res/layout/abc_alert_dialog_title_material.xml differ
Files ./FromWebsite/res/layout/abc_cascading_menu_item_layout.xml and ./LocalBuild/res/layout/abc_cascading_menu_item_layout.xml differ
Files ./FromWebsite/res/layout/abc_dialog_title_material.xml and ./LocalBuild/res/layout/abc_dialog_title_material.xml differ
Files ./FromWebsite/res/layout/abc_expanded_menu_layout.xml and ./LocalBuild/res/layout/abc_expanded_menu_layout.xml differ
Files ./FromWebsite/res/layout/abc_list_menu_item_checkbox.xml and ./LocalBuild/res/layout/abc_list_menu_item_checkbox.xml differ
Files ./FromWebsite/res/layout/abc_list_menu_item_icon.xml and ./LocalBuild/res/layout/abc_list_menu_item_icon.xml differ
Files ./FromWebsite/res/layout/abc_list_menu_item_layout.xml and ./LocalBuild/res/layout/abc_list_menu_item_layout.xml differ
Files ./FromWebsite/res/layout/abc_list_menu_item_radio.xml and ./LocalBuild/res/layout/abc_list_menu_item_radio.xml differ
Files ./FromWebsite/res/layout/abc_popup_menu_header_item_layout.xml and ./LocalBuild/res/layout/abc_popup_menu_header_item_layout.xml differ
Files ./FromWebsite/res/layout/abc_popup_menu_item_layout.xml and ./LocalBuild/res/layout/abc_popup_menu_item_layout.xml differ
Files ./FromWebsite/res/layout/abc_screen_toolbar.xml and ./LocalBuild/res/layout/abc_screen_toolbar.xml differ
Files ./FromWebsite/res/layout/abc_search_dropdown_item_icons_2line.xml and ./LocalBuild/res/layout/abc_search_dropdown_item_icons_2line.xml differ
Files ./FromWebsite/res/layout/abc_search_view.xml and ./LocalBuild/res/layout/abc_search_view.xml differ
Files ./FromWebsite/res/layout/abc_select_dialog_material.xml and ./LocalBuild/res/layout/abc_select_dialog_material.xml differ
Files ./FromWebsite/res/layout/abc_tooltip.xml and ./LocalBuild/res/layout/abc_tooltip.xml differ
Files ./FromWebsite/res/layout/activity_web_view.xml and ./LocalBuild/res/layout/activity_web_view.xml differ
Files ./FromWebsite/res/layout/browser_actions_context_menu_page.xml and ./LocalBuild/res/layout/browser_actions_context_menu_page.xml differ
Files ./FromWebsite/res/layout/browser_actions_context_menu_row.xml and ./LocalBuild/res/layout/browser_actions_context_menu_row.xml differ
Files ./FromWebsite/res/layout/design_bottom_navigation_item.xml and ./LocalBuild/res/layout/design_bottom_navigation_item.xml differ
Files ./FromWebsite/res/layout/design_bottom_sheet_dialog.xml and ./LocalBuild/res/layout/design_bottom_sheet_dialog.xml differ
Files ./FromWebsite/res/layout/design_layout_snackbar_include.xml and ./LocalBuild/res/layout/design_layout_snackbar_include.xml differ
Files ./FromWebsite/res/layout/design_navigation_item.xml and ./LocalBuild/res/layout/design_navigation_item.xml differ
Files ./FromWebsite/res/layout/design_navigation_item_header.xml and ./LocalBuild/res/layout/design_navigation_item_header.xml differ
Files ./FromWebsite/res/layout/design_navigation_item_subheader.xml and ./LocalBuild/res/layout/design_navigation_item_subheader.xml differ
Files ./FromWebsite/res/layout/design_navigation_menu.xml and ./LocalBuild/res/layout/design_navigation_menu.xml differ
Files ./FromWebsite/res/layout/design_navigation_menu_item.xml and ./LocalBuild/res/layout/design_navigation_menu_item.xml differ
Files ./FromWebsite/res/layout/design_text_input_end_icon.xml and ./LocalBuild/res/layout/design_text_input_end_icon.xml differ
Files ./FromWebsite/res/layout/design_text_input_start_icon.xml and ./LocalBuild/res/layout/design_text_input_start_icon.xml differ
Files ./FromWebsite/res/layout/fingerprint_dialog_layout.xml and ./LocalBuild/res/layout/fingerprint_dialog_layout.xml differ
Files ./FromWebsite/res/layout/go_to_setting.xml and ./LocalBuild/res/layout/go_to_setting.xml differ
Files ./FromWebsite/res/layout/mtrl_calendar_day.xml and ./LocalBuild/res/layout/mtrl_calendar_day.xml differ
Files ./FromWebsite/res/layout/mtrl_calendar_day_of_week.xml and ./LocalBuild/res/layout/mtrl_calendar_day_of_week.xml differ
Files ./FromWebsite/res/layout/mtrl_calendar_days_of_week.xml and ./LocalBuild/res/layout/mtrl_calendar_days_of_week.xml differ
Files ./FromWebsite/res/layout/mtrl_calendar_horizontal.xml and ./LocalBuild/res/layout/mtrl_calendar_horizontal.xml differ
Files ./FromWebsite/res/layout/mtrl_calendar_month.xml and ./LocalBuild/res/layout/mtrl_calendar_month.xml differ
Files ./FromWebsite/res/layout/mtrl_calendar_month_labeled.xml and ./LocalBuild/res/layout/mtrl_calendar_month_labeled.xml differ
Files ./FromWebsite/res/layout/mtrl_calendar_month_navigation.xml and ./LocalBuild/res/layout/mtrl_calendar_month_navigation.xml differ
Files ./FromWebsite/res/layout/mtrl_calendar_months.xml and ./LocalBuild/res/layout/mtrl_calendar_months.xml differ
Files ./FromWebsite/res/layout/mtrl_calendar_vertical.xml and ./LocalBuild/res/layout/mtrl_calendar_vertical.xml differ
Files ./FromWebsite/res/layout/mtrl_calendar_year.xml and ./LocalBuild/res/layout/mtrl_calendar_year.xml differ
Files ./FromWebsite/res/layout/mtrl_picker_actions.xml and ./LocalBuild/res/layout/mtrl_picker_actions.xml differ
Files ./FromWebsite/res/layout/mtrl_picker_dialog.xml and ./LocalBuild/res/layout/mtrl_picker_dialog.xml differ
Files ./FromWebsite/res/layout/mtrl_picker_fullscreen.xml and ./LocalBuild/res/layout/mtrl_picker_fullscreen.xml differ
Files ./FromWebsite/res/layout/mtrl_picker_header_dialog.xml and ./LocalBuild/res/layout/mtrl_picker_header_dialog.xml differ
Files ./FromWebsite/res/layout/mtrl_picker_header_fullscreen.xml and ./LocalBuild/res/layout/mtrl_picker_header_fullscreen.xml differ
Files ./FromWebsite/res/layout/mtrl_picker_header_selection_text.xml and ./LocalBuild/res/layout/mtrl_picker_header_selection_text.xml differ
Files ./FromWebsite/res/layout/mtrl_picker_header_title_text.xml and ./LocalBuild/res/layout/mtrl_picker_header_title_text.xml differ
Files ./FromWebsite/res/layout/mtrl_picker_header_toggle.xml and ./LocalBuild/res/layout/mtrl_picker_header_toggle.xml differ
Files ./FromWebsite/res/layout/notification_media_cancel_action.xml and ./LocalBuild/res/layout/notification_media_cancel_action.xml differ
Files ./FromWebsite/res/layout/notification_template_big_media.xml and ./LocalBuild/res/layout/notification_template_big_media.xml differ
Files ./FromWebsite/res/layout/notification_template_big_media_custom.xml and ./LocalBuild/res/layout/notification_template_big_media_custom.xml differ
Files ./FromWebsite/res/layout/notification_template_big_media_narrow.xml and ./LocalBuild/res/layout/notification_template_big_media_narrow.xml differ
Files ./FromWebsite/res/layout/notification_template_big_media_narrow_custom.xml and ./LocalBuild/res/layout/notification_template_big_media_narrow_custom.xml differ
Files ./FromWebsite/res/layout/notification_template_icon_group.xml and ./LocalBuild/res/layout/notification_template_icon_group.xml differ
Files ./FromWebsite/res/layout/notification_template_lines_media.xml and ./LocalBuild/res/layout/notification_template_lines_media.xml differ
Files ./FromWebsite/res/layout/notification_template_media.xml and ./LocalBuild/res/layout/notification_template_media.xml differ
Files ./FromWebsite/res/layout/notification_template_media_custom.xml and ./LocalBuild/res/layout/notification_template_media_custom.xml differ
Files ./FromWebsite/res/layout/notification_template_part_chronometer.xml and ./LocalBuild/res/layout/notification_template_part_chronometer.xml differ
Files ./FromWebsite/res/layout/notification_template_part_time.xml and ./LocalBuild/res/layout/notification_template_part_time.xml differ
Files ./FromWebsite/res/layout/select_dialog_item_material.xml and ./LocalBuild/res/layout/select_dialog_item_material.xml differ
Files ./FromWebsite/res/layout/select_dialog_multichoice_material.xml and ./LocalBuild/res/layout/select_dialog_multichoice_material.xml differ
Files ./FromWebsite/res/layout/select_dialog_singlechoice_material.xml and ./LocalBuild/res/layout/select_dialog_singlechoice_material.xml differ
Files ./FromWebsite/res/layout/support_simple_spinner_dropdown_item.xml and ./LocalBuild/res/layout/support_simple_spinner_dropdown_item.xml differ
Files ./FromWebsite/res/layout/test_action_chip.xml and ./LocalBuild/res/layout/test_action_chip.xml differ
Files ./FromWebsite/res/layout/test_design_checkbox.xml and ./LocalBuild/res/layout/test_design_checkbox.xml differ
Files ./FromWebsite/res/layout/test_reflow_chipgroup.xml and ./LocalBuild/res/layout/test_reflow_chipgroup.xml differ
Files ./FromWebsite/res/layout/text_view_with_line_height_from_layout.xml and ./LocalBuild/res/layout/text_view_with_line_height_from_layout.xml differ
Files ./FromWebsite/res/layout-land/mtrl_picker_header_dialog.xml and ./LocalBuild/res/layout-land/mtrl_picker_header_dialog.xml differ
Files ./FromWebsite/res/layout-v16/notification_template_custom_big.xml and ./LocalBuild/res/layout-v16/notification_template_custom_big.xml differ
Files ./FromWebsite/res/layout-v21/abc_screen_toolbar.xml and ./LocalBuild/res/layout-v21/abc_screen_toolbar.xml differ
Files ./FromWebsite/res/layout-v21/notification_template_custom_big.xml and ./LocalBuild/res/layout-v21/notification_template_custom_big.xml differ
Files ./FromWebsite/res/layout-v21/notification_template_icon_group.xml and ./LocalBuild/res/layout-v21/notification_template_icon_group.xml differ
Files ./FromWebsite/res/layout-v21/test_design_checkbox.xml and ./LocalBuild/res/layout-v21/test_design_checkbox.xml differ
Files ./FromWebsite/res/layout-v22/abc_alert_dialog_button_bar_material.xml and ./LocalBuild/res/layout-v22/abc_alert_dialog_button_bar_material.xml differ
Files ./FromWebsite/res/layout-v26/abc_screen_toolbar.xml and ./LocalBuild/res/layout-v26/abc_screen_toolbar.xml differ
Files ./FromWebsite/res/layout-v26/mtrl_calendar_month.xml and ./LocalBuild/res/layout-v26/mtrl_calendar_month.xml differ
Files ./FromWebsite/res/layout-watch-v20/abc_alert_dialog_button_bar_material.xml and ./LocalBuild/res/layout-watch-v20/abc_alert_dialog_button_bar_material.xml differ
Files ./FromWebsite/res/layout-watch-v20/abc_alert_dialog_title_material.xml and ./LocalBuild/res/layout-watch-v20/abc_alert_dialog_title_material.xml differ
Files ./FromWebsite/res/menu/menu_main.xml and ./LocalBuild/res/menu/menu_main.xml differ
Files ./FromWebsite/resources.arsc and ./LocalBuild/resources.arsc differ

Build in: podman build --rm -t exchangily_deb_build_apk -f ContainerFileDeb APK in: /home/appuser/app/exchangily/exchangily-mobile-app/build/app/outputs/flutter-apk/app-release.apk

FROM debian:sid-slim

RUN set -ex; \
    mkdir -p /usr/share/man/man1/; \
    apt-get update; \
    DEBIAN_FRONTEND=noninteractive apt-get install --yes -o APT::Install-Suggests=false --no-install-recommends \
        tar \
        git \
        zip \
        file \
        curl \
        unzip \
        gradle \
        xz-utils \
        ca-certificates \
        openjdk-11-jdk; \ 
    rm -rf /var/lib/apt/lists/*; \
    useradd -ms /bin/bash appuser;

USER appuser

ENV ANDROID_SDK_ROOT="/home/appuser/app/sdk" \
    ANDROID_HOME="/home/appuser/app/sdk"

RUN set -ex; \
    mkdir -p "/home/appuser/app/sdk/licenses" "/home/appuser/app/exchangily" ; \
    printf "\n24333f8a63b6825ea9c5514f83c2829b004d1fee" > "/home/appuser/app/sdk/licenses/android-sdk-license"; \
    cd /home/appuser/app/sdk/; \
    curl -o flutter_linux_2.10.3-stable.tar.xz https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_2.10.3-stable.tar.xz; \
    tar xf flutter_linux_2.10.3-stable.tar.xz; \
    rm flutter_linux_2.10.3-stable.tar.xz; \
    /home/appuser/app/sdk/flutter/bin/flutter config --no-analytics; \
    /home/appuser/app/sdk/flutter/bin/dart --disable-analytics; \
    cd /home/appuser/app/exchangily; \
    git clone https://github.com/blockchaingate/exchangily-mobile-app/; \
    cd /home/appuser/app/exchangily/exchangily-mobile-app/; \
    git checkout df5d755bad2982ba406ef1dddfc37c3cb4e46fd2; \
    printf "const bool isProduction = true;\nconst bool isLocal = true;" > ./lib/environments/environment_type.dart; \
    cd android; \
    keytool -genkey -alias exchangily_alias -keystore app/exchangily.pfx -storetype PKCS12 -keyalg RSA -keysize 4096 -storepass exchangily_alias -keypass exchangily_alias -validity 10000 -dname CN=IL; \
    printf "\nstoreFile=exchangily.pfx\nstorePassword=exchangily_alias\nkeyPassword=exchangily_alias\nkeyAlias=exchangily_alias" > key.properties ; \
    cd /home/appuser/app/exchangily/exchangily-mobile-app/;

WORKDIR /home/appuser/app/exchangily/exchangily-mobile-app/
RUN set -ex; \
# apply fix from: https://github.com/blockchaingate/exchangily-mobile-app/blob/fb41bac1faf42781496f5076e5dbeff5b38785e9/README.md#L6
    sed -i '/BasicMessageChannel<T> {/a void setMockMessageHandler(Future Function(T? message)? handler) {}' /home/appuser/app/sdk/flutter/packages/flutter/lib/src/services/platform_channel.dart; \
    sed -i 's/1.3.21/1.6.10/g' /home/appuser/app/exchangily/exchangily-mobile-app/android/build.gradle; \
    /home/appuser/app/sdk/flutter/bin/flutter build apk