From e4f9b04de0c7b9baebc48110cf4a29d9c47a06a8 Mon Sep 17 00:00:00 2001 From: Alberto Ponces Date: Sat, 13 Aug 2022 10:56:30 +0100 Subject: [PATCH] feat: add installer and enable app selection from storage (#2) --- android/app/build.gradle | 8 +- android/app/src/main/AndroidManifest.xml | 14 ++ .../app/src/main/jniLibs/arm64-v8a/aapt.so | Bin 0 -> 5166624 bytes .../main/jniLibs/armeabi-v7a/to_be_removed.so | Bin 0 -> 1883432 bytes android/app/src/main/jniLibs/x86/aapt2.so | Bin 0 -> 6117704 bytes .../src/main/jniLibs/x86_64/to_be_removed.so | Bin 0 -> 2756088 bytes .../app/revanced/manager/MainActivity.kt | 197 +++++++++++++-- .../kotlin/app/revanced/manager/utils/Aapt.kt | 12 + .../manager/utils/aligning/ZipAligner.kt | 11 + .../revanced/manager/utils/signing/Signer.kt | 75 ++++++ .../revanced/manager/utils/zip/Extensions.kt | 33 +++ .../app/revanced/manager/utils/zip/ZipFile.kt | 176 ++++++++++++++ .../utils/zip/structures/ZipEndRecord.kt | 78 ++++++ .../manager/utils/zip/structures/ZipEntry.kt | 190 +++++++++++++++ android/app/src/main/res/xml/file_paths.xml | 4 + assets/i18n/en.json | 9 +- lib/app/app.dart | 8 +- lib/app/app.locator.dart | 4 +- lib/app/app.router.dart | 113 ++++----- lib/main.dart | 1 - lib/models/application_info.dart | 13 + lib/services/patcher_api.dart | 224 ++++++++++++++++-- .../views/app_selector/app_selector_view.dart | 30 ++- .../app_selector/app_selector_viewmodel.dart | 57 ++++- lib/ui/views/home/home_view.dart | 2 +- lib/ui/views/installer/installer_view.dart | 144 +++++++++++ .../views/installer/installer_viewmodel.dart | 114 +++++++++ lib/ui/views/patcher/patcher_view.dart | 5 +- lib/ui/views/patcher/patcher_viewmodel.dart | 4 + .../patches_selector_view.dart | 4 +- .../patches_selector_viewmodel.dart | 8 +- lib/ui/widgets/app_selector_card.dart | 2 +- lib/ui/widgets/installed_app_item.dart | 1 - lib/ui/widgets/latest_commit_card.dart | 93 ++++---- lib/ui/widgets/patch_item.dart | 115 ++++----- pubspec.lock | 77 +++++- pubspec.yaml | 9 +- 37 files changed, 1578 insertions(+), 257 deletions(-) create mode 100644 android/app/src/main/jniLibs/arm64-v8a/aapt.so create mode 100644 android/app/src/main/jniLibs/armeabi-v7a/to_be_removed.so create mode 100644 android/app/src/main/jniLibs/x86/aapt2.so create mode 100644 android/app/src/main/jniLibs/x86_64/to_be_removed.so create mode 100644 android/app/src/main/kotlin/app/revanced/manager/utils/Aapt.kt create mode 100644 android/app/src/main/kotlin/app/revanced/manager/utils/aligning/ZipAligner.kt create mode 100644 android/app/src/main/kotlin/app/revanced/manager/utils/signing/Signer.kt create mode 100644 android/app/src/main/kotlin/app/revanced/manager/utils/zip/Extensions.kt create mode 100644 android/app/src/main/kotlin/app/revanced/manager/utils/zip/ZipFile.kt create mode 100644 android/app/src/main/kotlin/app/revanced/manager/utils/zip/structures/ZipEndRecord.kt create mode 100644 android/app/src/main/kotlin/app/revanced/manager/utils/zip/structures/ZipEntry.kt create mode 100644 android/app/src/main/res/xml/file_paths.xml create mode 100644 lib/models/application_info.dart create mode 100644 lib/ui/views/installer/installer_view.dart create mode 100644 lib/ui/views/installer/installer_viewmodel.dart diff --git a/android/app/build.gradle b/android/app/build.gradle index ba45320a..ade5350c 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -44,11 +44,10 @@ android { defaultConfig { applicationId "app.revanced.manager" - minSdkVersion flutter.minSdkVersion + minSdkVersion 21 targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName - multiDexEnabled true } buildTypes { @@ -64,8 +63,11 @@ flutter { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation "com.android.support:multidex:1.0.3" // ReVanced implementation "app.revanced:revanced-patcher:3.3.1" + + // Signing & aligning + implementation("org.bouncycastle:bcpkix-jdk15on:1.70") + implementation("com.android.tools.build:apksig:7.2.1") } diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index c50efe30..4ae965b5 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -4,6 +4,10 @@ + + + + + + + + diff --git a/android/app/src/main/jniLibs/arm64-v8a/aapt.so b/android/app/src/main/jniLibs/arm64-v8a/aapt.so new file mode 100644 index 0000000000000000000000000000000000000000..4014ef05bae216498a52b1013bee5646cc991795 GIT binary patch literal 5166624 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