|
|
Thread Tools | Search this Thread |
11-05-2022, 06:30 PM | #16 | |
Wizard
Posts: 2,754
Karma: 11774867
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
Yippee! It works! I patched framework.jar
Since apktool is broken I had to patch it by hand. Code:
modfile classes2.dex 2eebfc 0e 00 0e 00 0e 00 Quote:
|
|
11-05-2022, 07:33 PM | #17 |
Enthusiast
Posts: 25
Karma: 10
Join Date: May 2022
Device: kindle HD8 onyx
|
Thanks a lot!
Can you explain what you patch does? Then to deploy your patch, do I just need to put the framework.jar in a Magisk module? (I may write a small tutorial around it, to help people who are not familiar with sds100 keymapper or magisk yet want to remap the cover keys) |
Advert | |
|
11-06-2022, 11:04 AM | #18 |
Wizard
Posts: 2,754
Karma: 11774867
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
The patch defeats all the Onyx remapping of keys and long press detection.
Long press detection means that nothing occurs until you release the key. That means that your page turns are delayed a bit. For persnickety people (like me) that's unacceptable. All of this applies to case buttons or wired keyboards or Bluetooth remotes. As mentioned above, that exact patch is only for that exact version. If apktool were fixed the patch could be done with a more universal mergesmali patch. |
11-07-2022, 06:35 AM | #19 |
Wizard
Posts: 2,754
Karma: 11774867
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
Ya know, if you want your framework.jar patched just slide it over here.
|
11-09-2022, 01:16 AM | #20 | |
Enthusiast
Posts: 25
Karma: 10
Join Date: May 2022
Device: kindle HD8 onyx
|
Quote:
So that's much appreciated, thanks a lot! Here's the file on the Nova Air C running 3.2.2 BOOX:/ $ ls -la /system/framework/framework.jar -rw-r--r-- 1 root root 30927139 2008-12-31 18:00 /system/framework/framework.jar BOOX:/ $ md5sum /system/framework/framework.jar f3a146c539e114fe7dd2cc75c21cd70b /system/framework/framework.jar However when trying to upload I get "Your submission could not be processed because a security token was missing. If this occurred unexpectedly, please inform the administrator and describe the action you performed before you received this error." So I'm emailing you the 30M file |
|
Advert | |
|
11-09-2022, 06:42 AM | #21 | |
Wizard
Posts: 2,754
Karma: 11774867
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
Quote:
Anyway, I got the email. I emailed you a link to the modified framework.jar I have 100% faith in this, so it should not be a problem. Still, if you keep on modifying stuff having adb run before the animation is important. The best way to test this is before and after. Get http://www.temblast.com/usbmode.htm Press a key for a 1/2 second. Does the down arrow only show when you release or immediately when you press? Install the new jar (using Magisk module or hardcore using a R/W /system). Try again. Notice the difference? Note that Onyx is very sloppy. They have zipped up a bunch of stuff off the shoproom floor into the .jar. I saw this in my Poke3 FW and deleted them. Your jar had even more junk. A .jar should only have classes?.dex in them. Last edited by Renate; 11-09-2022 at 08:03 AM. |
|
11-09-2022, 11:02 AM | #22 | ||||
Enthusiast
Posts: 25
Karma: 10
Join Date: May 2022
Device: kindle HD8 onyx
|
Quote:
Quote:
But that's likely to require some iterative attempts as I only have the faintest idea of what it will require Quote:
About the R/W /system it would be my preferred method for development, because it will let me try various things quickly! But first, I'd like to understand the drawbacks (or at least the consequences!) and also how to reflash just the system partition so that I can prepare modules for people who are not familiar with command line stuff. I have a system.img from the 3.2.2 update and also a super.img from the backup of partition 13 with edl. I could flash the super that contains both vendor and system, but why would I want to needlessly cause flash wear and tear? Also I'm curious about the separation, how the stitching is done (lvm? offsets to be able to dd, mount -o loop?) and it may benefit my google apps firewalling but this will require some reading! Quote:
In case anyone is curious: Code:
jar -xvf framework.jar extracted: classes.dex extracted: classes2.dex extracted: classes3.dex extracted: classes4.dex created: res/ inflated: res/vendor.mime.types inflated: res/debian.mime.types inflated: res/android.mime.types created: android/ created: android/widget/ inflated: android/widget/Toast_compat_config.xml created: android/telephony/ inflated: android/telephony/TelephonyRegistryManager_compat_config.xml inflated: android/telephony/TelephonyManager_compat_config.xml inflated: android/telephony/SmsManager_compat_config.xml inflated: android/telephony/PreciseDataConnectionState_compat_config.xml inflated: android/telephony/PhoneStateListener_compat_config.xml created: android/provider/ inflated: android/provider/Telephony.Carriers_compat_config.xml created: android/os/ inflated: android/os/Environment_compat_config.xml created: android/location/ inflated: android/location/LocationManager_compat_config.xml created: android/database/ inflated: android/database/ContentObserver_compat_config.xml created: android/content/ created: android/content/pm/ created: android/content/pm/parsing/ created: android/content/pm/parsing/result/ inflated: android/content/pm/parsing/result/ParseInput.DeferredError_compat_config.xml inflated: android/content/pm/PackageManager_compat_config.xml created: android/content/om/ inflated: android/content/om/OverlayManager_compat_config.xml created: android/app/ inflated: android/app/SharedPreferencesImpl_compat_config.xml inflated: android/app/AppOpsManager_compat_config.xml created: android/accessibilityservice/ inflated: android/accessibilityservice/AccessibilityServiceInfo_compat_config.xml created: META-INF/ created: META-INF/maven/ created: META-INF/maven/com.alibaba/ created: META-INF/maven/com.alibaba/fastjson/ inflated: META-INF/maven/com.alibaba/fastjson/pom.xml inflated: META-INF/maven/com.alibaba/fastjson/pom.properties inflated: META-INF/NOTICE.txt inflated: META-INF/MANIFEST.MF inflated: META-INF/LICENSE.txt I'm quite new to android so I didn't even know what to expect in this jar file. So I wouldn't have known exactly what to remove and what to keep. I know a bit about Linux given my various tries to use it (though I keep returning to windows lol) but still it took me a long time to understand why I couldn't run things and to make the linker64 do what I wanted. We seem to have similar interest in eink and readers, making the system stable and minimal, so hopefully we'll be making the Onyx better |
||||
11-09-2022, 11:17 AM | #23 |
Wizard
Posts: 2,754
Karma: 11774867
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
Uh-oh. You've got a super partition... That gets complicated quickly.
My Poke3 is still on Android 10 and uses separate partitions for /system, /vendor. The problem is that you have to resize/repack super and make it writable. There are scripts out there to do this. And problems. I was even thinking of how to restore it to separate partitions, but that's a whole new can of worms. I'd really suggest that you stick with Magisk for now. Magisk only notices changes to modules on full reboot. That is a hassle. OTOH, I usually reboot to recovery, mount /system and /vendor and modify from there. So, not a lot of difference. |
11-09-2022, 02:52 PM | #24 |
Enthusiast
Posts: 25
Karma: 10
Join Date: May 2022
Device: kindle HD8 onyx
|
Then I'll stick to magisk!
BTW I've been exploring a bit, and I can't deploy @evdennis adbd static as the default adbd seem to work differently: it hogs the /dev device even if it's started before the regular adbd, and nothing goes through if the default adbd isn't running. I think it may be path dependent (selinux policies or linker stuff) but I can't replace the default adbd from /apex by magisk since it doesn't have a mirror for /apex There're others mirrors for say /system etc in /dev/u4fd/.magisk/mirror maybe it's configurable? Anyway I'll keep working on that and let you know as an early persistent adbd would be a nice thing to have! |
11-09-2022, 03:02 PM | #25 |
Wizard
Posts: 2,754
Karma: 11774867
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
I don't know much about /apex.
In dealing with daily crisis (like whether I have any coffee for tomorrow morning) I have not delved into the moral justification for /apex. Look at what init.rc is starting. Last edited by Renate; 11-09-2022 at 06:26 PM. |
11-09-2022, 04:19 PM | #26 |
Zealot
Posts: 110
Karma: 1161662
Join Date: Apr 2011
Location: San Diego, CA, USA
Device: Kindle Oasis (10th gen), Kobo Libra 2, Onyx Leaf2 Black
|
I'm interested in trying this path on my Onyx Leaf 2. What do I need to do? Do I need root for this? Thanks!
|
11-09-2022, 06:24 PM | #27 |
Wizard
Posts: 2,754
Karma: 11774867
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
Yeah, you should root for this. Easiest is just using Magisk. If you want to move away from it later you can.
If you have no experience with making your own modules I'd suggest starting simply. Make a module with /misc/adb/modules/MyModule/system/hello hello being a text file with "hello". See if it properly appears in the actual /system |
11-09-2022, 06:45 PM | #28 | |
Zealot
Posts: 110
Karma: 1161662
Join Date: Apr 2011
Location: San Diego, CA, USA
Device: Kindle Oasis (10th gen), Kobo Libra 2, Onyx Leaf2 Black
|
Quote:
Code:
Leaf2:/data/adb/modules/MyModule/system # echo hello > ./hello Leaf2:/data/adb/modules/MyModule/system # cat hello hello Done. What's next? |
|
11-09-2022, 07:04 PM | #29 |
Wizard
Posts: 2,754
Karma: 11774867
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
Ho, ho. That doesn't count!
You have to put the file in a real Magisk module in /data/adb/modules... And then you have to see it in /system You need to make a module, see: https://topjohnwu.github.io/Magisk/guides.html While you're at it, pull your /system/framework/framework.jar, post it and tell me what your fingerprint is. (Not yours!) Code:
$getprop|grep finger |
11-09-2022, 07:17 PM | #30 | ||
Zealot
Posts: 110
Karma: 1161662
Join Date: Apr 2011
Location: San Diego, CA, USA
Device: Kindle Oasis (10th gen), Kobo Libra 2, Onyx Leaf2 Black
|
Quote:
Code:
Onyx/Leaf2/Leaf2:11/2022-10-29_19-11_3.3.1_8c9d49397/1583:user/dev-keys I created a module with module.prop file and hello file in system directory, the module is listed under Magisk modules and is enabled, but /system/hello file doesn't appear after reboot for some reason, logs show this: Code:
W : Unable to add /system/hello, skipped Quote:
Code:
Leaf2:/ $ cat /system/bin/hello hello Last edited by CrazyCoder; 11-09-2022 at 07:36 PM. |
||
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Nova Air] Anyway to remap the magnetic case page from vol up/down => page up/down? | arooni | Onyx Boox | 36 | 01-21-2022 06:12 AM |
How to remap nova air's "volume buttons" to page up / down | arooni | Onyx Boox | 5 | 01-06-2022 07:56 PM |
Alternate cover for Boox Nova Air? | apesmom | Onyx Boox | 2 | 10-08-2021 11:41 AM |
Remap Max 2 physical keys | rogerpiano | Onyx Boox | 7 | 05-17-2018 09:53 PM |
912 - Impossible to remap keys | NicolasR | PocketBook | 0 | 04-21-2013 05:52 AM |