Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

APK is not reproducible #4

Open
emanuelb opened this issue Jun 3, 2021 · 1 comment
Open

APK is not reproducible #4

emanuelb opened this issue Jun 3, 2021 · 1 comment

Comments

@emanuelb
Copy link

emanuelb commented Jun 3, 2021

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
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant