Post Reply

Enable Copy & Paste on the Nook Tablet

7th March 2012, 07:32 AM   |  #1  
OP Member
Mountain View, CA
Thanks Meter: 62
 
70 posts
Join Date:Joined: Nov 2010
Donate to Me
More
Enable Copy & Paste on the Nook Tablet


Background

The lack of copy & paste functionality on the Nook Tablet is one of the most annoying "features" of the B&N firmware and it affects not just geeks like me but also the average user. This thread and this thread are two of many, many threads complaining about the missing copy & paste. This thread proposes a "fix" by combining the Hacker's Keyboard and Swype, but is still really lame.

The method I will describe here solves the problem by replacing /system/framework/framework.jar which contains the code for Android widgets like text fields. I have merged into the stock /syste/framework/framework.jar the code responsible for copy & paste from the Android source code.


Instructions

Video walkthrough: http://www.youtube.com/watch?v=7V70a3FYbt4

0. Before you proceed, know that THIS IS EXPERIMENTAL SOFTWARE THAT PROBABLY VOIDS YOUR WARRANTY AND MAY PERMANENTLY OR TEMPORARILY BRICK YOUR TABLET. Even though it worked for me, it may not work for you, and worse, it is quite possible that it could cause your tablet to boot-loop or die. I AM NOT RESPONSIBLE FOR ANY POSSIBLE DAMAGES TO YOUR TABLET / ANYTHING ELSE CAUSED BY THIS METHOD. BY USING IT YOU AGREE TO ASSUME ALL RESPONSIBILITY FOR YOUR ACTIONS.
1. Your tablet needs to be rooted for this to work. If you have not rooted it yet, search this forum for instructions.
2. Since we will be copying files to /system, you will need to install ES File Explorer or Root Explorer or whatever other app that allows you to do that.
3. Download the file that corresponds to your OS version from below:
1.4.2 (16GB/8GB): http://www.mediafire.com/?5pf2aegq02194lq MD5: ef35d35daffd0d9574f48a43ccc4b58c
1.4.0 (16GB): http://www.mediafire.com/?es6gd31wzr7yk8a MD5: 99d2e7eff173fbdc77c79b4f4a6ff53c
The 1.4.0 version has been reported to cause boot loops for some people, while it has worked for others. You have been warned.
If you're on a different OS version, post the file /system/framework/framework.jar form your tablet and I will make a package for it.
4. Extract file contents to microSD card, and insert microSD card into the tablet.
5. Using ES File Explorer / Root Explorer, copy the extracted file framework.jar.new to the directory /system/framework/. (If you're using ES File Explorer, make sure "Up to Root", "Root Explorer", and "Mount File System" are checked in settings.)
6. Copy the extracted file uim-sysfs to /system/bin/.
7. Go to /system/bin/, and change the permissions of the file uim-sysfs to executable. (If using ES File Explorer, long press -> Properties -> Change -> Check everything under "execute".)
8. Power off tablet and power on again. The tablet should take much longer to boot this time than normally, so no need to worry. When the tablet boots up, you will most likely see lots of force close dialogs. This is normal.
9. Wait one minute. You could be stuck in a boot loop if you don't wait.
10. Power off tablet and power on yet again. This time it should also take much longer to boot; the boot times will return to normal after several reboots.
11. Profit.


Force close issues

The first time you run some (read most) apps after applying this hack would likely result in force closes. While annoying, there is no way to get around it due to how the Dalvik VM caches references to /system/framework/framework.jar. In addition, every time you install new apps or update apps, you will have to reboot the machine before those apps are usable; you will get a force close when you try to use those apps until you reboot.

The solution is simply to reboot your tablet each time you get a force close error from an app that worked fine before this hack. The force close error for that particular app should go away following a reboot. If you get a force close from another app after that, just reboot again.


How it works

The information below is for people interested in understanding how this stuff works. If you just wanted to enable copy and paste on your tablet, you can stop reading.

This hack is based on the exploit explained at http://forum.xda-developers.com/show....php?t=1534518. The uim-sysfs script in the attached file saves the stock /system/framework/framework.jar, copies over my modified framework.jar.new, and restarts the zygote process. After the zygote process has loaded my framework.jar.new, the uim-sysfs script restores the stock /system/framework/framework.jar so that /init will not bail on the next boot.

To enable copy & paste in /system/framework/framework.jar, I decompiled the stock implementation and merged in related code from AOSP. The two classes I changed are android.widget.TextView and android.widget.EditText. For android.widget.EditText, I simply used the AOSP implementation because the only difference between the two was in the enabling of copy & paste. I manually merged android.widget.TextView because there appears to be B&N enhancements in it in addition to disabling copy & paste.

The exact steps I took as well as a diff of my modifications are documented in post #12.

Disclaimer

Again, this is experimental software. That it worked for me does not mean it will work for you, or that it won't brick your tablet. I am not responsible for any possible damages resulting from using this method.
Last edited by jichuan89; 16th April 2012 at 09:03 AM.
The Following 7 Users Say Thank You to jichuan89 For This Useful Post: [ View ]
7th March 2012, 07:53 AM   |  #2  
lavero.burgos's Avatar
Senior Member
Flag Guayaquil
Thanks Meter: 1,309
 
2,513 posts
Join Date:Joined: Mar 2011
Donate to Me
More
Here i post framework.jar from stock 1.4.0 rooted

~ Veronica
Attached Files
File Type: jar framework.jar - [Click for QR Code] (3.01 MB, 36 views)
7th March 2012, 08:04 AM   |  #3  
OP Member
Mountain View, CA
Thanks Meter: 62
 
70 posts
Join Date:Joined: Nov 2010
Donate to Me
More
Quote:
Originally Posted by lavero.burgos

Here i post framework.jar from stock 1.4.0 rooted

OK. Looks like the framework.jar from 1.4.0 is different from 1.4.2; I've merged in the same changes. If you're feeling brave, the package I've made for 1.4.0 is here.

MD5: 99d2e7eff173fbdc77c79b4f4a6ff53c

Can you confirm whether this works?
Last edited by jichuan89; 7th March 2012 at 08:13 AM.
The Following User Says Thank You to jichuan89 For This Useful Post: [ View ]
7th March 2012, 08:28 PM   |  #4  
16gb Nootlet with 1.4.0 rom, rooted, OTA blocked yada yada.

Stayed at the "read forever" screen almost forever, then finally started up. Fellow victims take note, it isn't dead so be patient.

Lots of FC, the last persistent one was the launcher (ADW ipaidforthis version)

Powered off and on again after waiting way longer than 1 minute.

Second boot forever at "read forever" screen so far.

If it comes back to life I'll try the 1.4.0 version & let you know.

[Edited to add}

... time passes ...

Any way out of the "ADWLauncherEX" force-close loop? Does Android have a "safe mode" boot option like Windows? (sorry)
No, I haven't installed CWM recovery yet. Remind me to do that if this thing ever gets over its mental breakdown.
Last edited by cellhead; 7th March 2012 at 08:43 PM. Reason: Despair
7th March 2012, 08:39 PM   |  #5  
lavero.burgos's Avatar
Senior Member
Flag Guayaquil
Thanks Meter: 1,309
 
2,513 posts
Join Date:Joined: Mar 2011
Donate to Me
More
Quote:
Originally Posted by jichuan89

OK. Looks like the framework.jar from 1.4.0 is different from 1.4.2; I've merged in the same changes. If you're feeling brave, the package I've made for 1.4.0 is here.

MD5: 99d2e7eff173fbdc77c79b4f4a6ff53c

Can you confirm whether this works?

Thanks can't test right now 'cause im finishing another project and then i have to test the tun.ko module for CM9 busy bee .

~ Veronica
8th March 2012, 01:33 AM   |  #6  
OP Member
Mountain View, CA
Thanks Meter: 62
 
70 posts
Join Date:Joined: Nov 2010
Donate to Me
More
Quote:
Originally Posted by cellhead

Stayed at the "read forever" screen almost forever, then finally started up. Fellow victims take note, it isn't dead so be patient.

...

Second boot forever at "read forever" screen so far.

Thanks for mentioning this. Will add to instructions.

Quote:
Originally Posted by cellhead

Any way out of the "ADWLauncherEX" force-close loop?

Getting FC's is normal - as the instructions state you probably have to reboot a number of times before all FC's disappear. Any luck so far? If not, please let me know and I will post a recovery SD card image that will allow you to undo this hack.

Also - as I said clearly in the instructions (Compatibility section), before you try this out on your 16GB, you should post your /system/framework/framework.jar so I can verify that this works on the 16GB. I don't have the 16GB tablet so I don't know if this works on it at all. Anyone?
Last edited by jichuan89; 8th March 2012 at 02:33 AM.
8th March 2012, 03:26 AM   |  #7  
Thanks. You may want to feature the version info prominently in the OP. I got my issue solved in a roundabout way when it finally went into a boot loop and triggered the factory reset. That got me back to 1.4.0 unrooted, and without the FC problems. Reran indirect's rooting script and I'm back to some semblance of normality.

Ain't complaining, I took on the risk of trying your copy/paste fix and went on an unplanned adventure. Such is life as a RL software tester ;)

I'll wait and see how things shake out. You're onto something good here, so once it's a little safer for the normals to apply it, I'll give another go.

For the record, 16g Nook tablet, rooted via indirect, OTA blocked, v1.4.0
The Following User Says Thank You to cellhead For This Useful Post: [ View ]
8th March 2012, 03:40 AM   |  #8  
OP Member
Mountain View, CA
Thanks Meter: 62
 
70 posts
Join Date:Joined: Nov 2010
Donate to Me
More
Quote:
Originally Posted by cellhead

You may want to feature the version info prominently in the OP.

You're right...really sorry about that.

On the other hand, did you try the files in the original post, or did you use the files for 1.4.0 I posted in the 3rd post?
8th March 2012, 04:52 AM   |  #9  
The ones in the original post. Then I read the third post, but was unable to get it to boot far enough that I could replace the files and try again.

Sent from my BNTV250 using xda premium
8th March 2012, 05:11 AM   |  #10  
OP Member
Mountain View, CA
Thanks Meter: 62
 
70 posts
Join Date:Joined: Nov 2010
Donate to Me
More
Quote:
Originally Posted by cellhead

The ones in the original post. Then I read the third post, but was unable to get it to boot far enough that I could replace the files and try again.

The files in the original post are modified from 1.4.2 and would most certainly not have worked on 1.4.0...I should have made that clearer. Sorry.

The files in the 3rd post though are modified from 1.4.0 (thanks to lavero.burgos) and should work for you. Any chance you could test them out?

--- EDIT ---

Also - I've made a bootable SD card that will remove this hack and fix the tablet even if something goes wrong and you cannot boot into the system to remove the files directly. I can post it if someone needs it.
Last edited by jichuan89; 8th March 2012 at 05:15 AM.

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes