From a7663524e611fd26c2e7ebb99176ef9fa97c14e3 Mon Sep 17 00:00:00 2001 From: validcube Date: Mon, 29 Jul 2024 23:28:25 +0700 Subject: [PATCH] feat: Support patching on ARMv7a Signed-off-by: validcube --- .../src/main/jniLibs/armeabi-v7a/libaapt2.so | Bin 5303144 -> 5303144 bytes assets/i18n/strings.i18n.json | 2 +- docs/0_prerequisites.md | 3 --- lib/ui/views/patcher/patcher_view.dart | 2 +- lib/ui/views/patcher/patcher_viewmodel.dart | 12 ++++++------ 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/android/app/src/main/jniLibs/armeabi-v7a/libaapt2.so b/android/app/src/main/jniLibs/armeabi-v7a/libaapt2.so index 8506316d8bfb89b6a9911849531410b377fbed24..46bdce5ce72f4c33fe43dfe61b482c1c769928f8 100644 GIT binary patch delta 21037 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 z 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%0D$HQo zH+^HVyf~)>G*li>zgR3U%xD6#Re1W3VtEn9<JYCPG>BW zS7%h1u309p&ncn?>Aanso>(R?tjll~(s^Uw0*MEB)P)%`FoYR0%n3DQIKS`V|Lyx8 z{%@JSuuNW_QGNQsGO!!2f{cAV{coAPG~<)$lI8N|y!*s?UagpA$Z+HR|Nk4d$CiT{ znwz&LR>*TRG8RlvtdOst{-#oX2BX&W)++hMjEdVetL3{H8RMpJt&uMWwS;Qrtr=sd zXV%JVOO{mpdd;&0vd|plJFW%&54Z#tJj|QEwpQL=G_K;;>pj8S5^(E z`1KmRJRQ2<#HZrd>k6n+E@p6VYXARpWiZTr zdTo1Pz5HiJ#>nZejq>uWfy!LJ0;V&Xh)bJh&H443iDAJ*Q7f)r&52yU3j7TjQv3}W zSo{nbUica^EbujC5ZwOg|N7X6|6iv(`tLvC@&APBI~(Qg8AYc5Y?Rk$8;K3<^r$Ee!T{*Qw9ZHNZGH~ z)0WDJPT$$c%dfgl39>~jc_Zhq4kpBoH&9_c>m(#SESxUdA}`N4ce-hdd_Jf*)grIY z*fjlWi@Y`C)ain)^1_T0rmMEf8;drV{d(?;G-%s-Jo0EL2{1}&#No0 zh71NC(D|W&1rIeC7Cc@#y|Y`snkmP1dfp`YI;Iyc)89>!uVRdt&e$tIol$lA%wGA; zj1kj)`{bJ$uTQ_&C*RGuWqWMD{B}l(RC$CW49vKG&5PywHN_Fx5sW9MH%^ofmsAqu zc~xMKX*vJ&j}zsq89AosPLi)@Y?=Ocl6*DezUi5h<)<@tPiLGWznSTa4LAgtY~`kB zb;x%yNy$NiK=iaM!uDwIYpN(JBEt>`c?OO=MFxvJMTP~A@(dYyiVQRI6d5X<_w#^^<3K z0g7fw=re$P`=L*s;o&836by=9kXSub9a!O)K6!>YZ1M~lpfu4h&mh7M^<}?2!yh(z zh9mt5-yWGQ&#+*QJVS(%Jj0eb@(gD{SOuc~$sB|_fw}SwALhz4_~^smhHx|eu&~fnmx@1tx|&+gmvU9zO&C D9`Rxi delta 21121 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
  • HDlCt&R+THjOx=D_R4Q&N^qY3u3f%~@#gfKee&H*+vKyY2ZD4H&h zu-wRu>(_!6#30ee{3Mu+fR3#D&Nf{BL}fw;;byf`WYr% zzu029epy(f_&sO($LaFnl3n~fuS6^{tuLRRI77agX^jQMdJPMR^=i{^&XnKIXgGc1 zEO~#>xWX)XeU2+ouw7ub`~e|G{_Pjn$}eYQT)Dk+i@ZDsqx|%ld*p938g4J$E6*;@ zXx3hPMZUfEib8ws6~*@2D@yIPSCrdpuc)-wUQunYy`t7$dqusy_KHS(?G?@T+ACV^ zwO6#;Yp>|E*IvX}*Iu!0uf1Z|UVFv9z4nSjd+im+_S!2>?X_2&+iS15 zwAWs7ZLhuJ)?RzXy}kB|M|&+ul7Ji`GFc?KO$c?OoL^7RZo9P$hXQxO_srphz?nJUj9 zz$MSHV46I`j%o4?4&3r!2VIyZ&%nbi&+um&LcPXxd4?_1|?R zhB@*KCqP&QqW-}gggTzN@(ge0$}@QA$}?P;C(rO=o;-ts9z-3(e0jM23_A1W8B!L= zGZg5{GgK^)XPB@+p25QqqHx6mgn?HU$TQ4YD9>=hNS+~Mkvv1gB6)@d#t?Ng79rFf zStQR8utc8Wf{8ps$`W~onkDiKJQfgjQj};0GH&!SxM66U`=vk@2#BgPMD`&vthXDG&uK)l5 diff --git a/assets/i18n/strings.i18n.json b/assets/i18n/strings.i18n.json index 39f2c5d7..d84f4c1e 100755 --- a/assets/i18n/strings.i18n.json +++ b/assets/i18n/strings.i18n.json @@ -54,7 +54,7 @@ "patcherView": { "widgetTitle": "Patcher", "patchButton": "Patch", - "armv7WarningDialogText": "Patching on ARMv7 devices is not yet supported and might fail. Continue anyways?", + "incompatibleArchWarningDialogText": "Patching on this architecture is not yet supported and might fail. Continue anyways?", "removedPatchesWarningDialogText": "The following patches have been removed since the last time you used them.\n\n${patches}\n\nContinue anyways?", "requiredOptionDialogText": "Some patch options have to be set." }, diff --git a/docs/0_prerequisites.md b/docs/0_prerequisites.md index 605c2089..da9b7e91 100644 --- a/docs/0_prerequisites.md +++ b/docs/0_prerequisites.md @@ -5,9 +5,6 @@ To use ReVanced Manager, you need to fulfill certain requirements. ## 🤝 Requirements - An Android device running Android 8 or higher -- Any device architecture except ARMv7[^1] - -[^1]: Patching on ARMv7 is limited to bytecode patching but may work in certain circumstances for resource patching. You can check your device architecture in ReVanced Manager settings. ## ⏭️ What's next diff --git a/lib/ui/views/patcher/patcher_view.dart b/lib/ui/views/patcher/patcher_view.dart index f3dc39c0..52596762 100644 --- a/lib/ui/views/patcher/patcher_view.dart +++ b/lib/ui/views/patcher/patcher_view.dart @@ -27,7 +27,7 @@ class PatcherView extends StatelessWidget { if (model.checkRequiredPatchOption(context)) { final bool proceed = model.showRemovedPatchesDialog(context); if (proceed && context.mounted) { - model.showArmv7WarningDialog(context); + model.showIncompatibleArchWarningDialog(context); } } }, diff --git a/lib/ui/views/patcher/patcher_viewmodel.dart b/lib/ui/views/patcher/patcher_viewmodel.dart index 5f8f5324..62456bec 100644 --- a/lib/ui/views/patcher/patcher_viewmodel.dart +++ b/lib/ui/views/patcher/patcher_viewmodel.dart @@ -70,7 +70,7 @@ class PatcherViewModel extends BaseViewModel { FilledButton( onPressed: () { Navigator.of(context).pop(); - showArmv7WarningDialog(context); + showIncompatibleArchWarningDialog(context); }, child: Text(t.yesButton), ), @@ -116,18 +116,18 @@ class PatcherViewModel extends BaseViewModel { ); } - Future showArmv7WarningDialog(BuildContext context) async { - final bool armv7 = await AboutInfo.getInfo().then((info) { + Future showIncompatibleArchWarningDialog(BuildContext context) async { + final bool notSupported = await AboutInfo.getInfo().then((info) { final List archs = info['supportedArch']; - final supportedAbis = ['arm64-v8a', 'x86', 'x86_64']; + final supportedAbis = ['arm64-v8a', 'x86', 'x86_64', 'arm-v7a']; return !archs.any((arch) => supportedAbis.contains(arch)); }); - if (context.mounted && armv7) { + if (context.mounted && notSupported) { return showDialog( context: context, builder: (context) => AlertDialog( title: Text(t.warning), - content: Text(t.patcherView.armv7WarningDialogText), + content: Text(t.patcherView.incompatibleArchWarningDialogText), actions: [ FilledButton( onPressed: () => Navigator.of(context).pop(),