Adding Fonts To Unrooted Nook - Nook Touch General

I've got an old Nook Simple Touch that I never use and I thought I'd regift it to this kid I know and add a bunch of cool books to it. As he's not my kid I didn't want to register it or root it with my own Google account or anything, so I'm a little limited in what I can do.
Getting it to work without registering it wasn't difficult and I've loaded books onto it.
But the thing is he's got Dyslexia and ADHD so as much as he likes reading it is really difficult for him and he struggles with finishing books on his own. So I thought I'd go ahead and put OpenDyslexic on there as he's had a lot of success with this font before.
As I understand it my options are:
1. Embedding the font in the ePubs already on the Nook. Solid for now, but if he decides to buy books or add books himself (he's twelve) he's SoL.
2. Rooting it and setting it up as a tablet and somehow adding the fonts (I'm not super clear on this course).
Anyone have suggestions/ideas?

clairecakes said:
I've got an old Nook Simple Touch that I never use and I thought I'd regift it to this kid I know and add a bunch of cool books to it. As he's not my kid I didn't want to register it or root it with my own Google account or anything, so I'm a little limited in what I can do.
Getting it to work without registering it wasn't difficult and I've loaded books onto it.
But the thing is he's got Dyslexia and ADHD so as much as he likes reading it is really difficult for him and he struggles with finishing books on his own. So I thought I'd go ahead and put OpenDyslexic on there as he's had a lot of success with this font before.
As I understand it my options are:
1. Embedding the font in the ePubs already on the Nook. Solid for now, but if he decides to buy books or add books himself (he's twelve) he's SoL.
2. Rooting it and setting it up as a tablet and somehow adding the fonts (I'm not super clear on this course).
Anyone have suggestions/ideas?
Click to expand...
Click to collapse
Perhaps boot from one of the ADB enabled images and use that to replace one of the default fonts? as long as the font is in the same format and named the same in the same location it should hypothetically work. I haven't personally tried it so I cannot actually vouch for it, but it sounds like it should.
==EDIT== Does indeed work as I said. Took a while to figure out how to do it, some steps I list may not be necessary. Standard disclaimer, I am not responsible if you brick the device, warranty is void, etc.
Write the NookManager image to a microsd card and boot using that.
Enable wireless (I believe this requires you to have set up your network on the device previously) enable adb.
(I would continue and make a backup here in case it doesn't work for you)
use adb to connect to the device (adb connect $displayed_IP) (this of course assumes you have adb set up on your computer)
adb shell
mount -t ext2 /dev/block/mmcblk0p5 /system
== exit the shell
After that you should just need to adb push the regular, bold, bold italic, and italic versions to /system/fonts/(one of the defaults)-[weight].ttf (using the ttf versions, names of the weights match the version I downloaded except regular where it was just fontname.ttf on the nook)
ex: adb push /path/to/OpenDyslexic-Regular.ttf /system/fonts/Caecilia.ttf

To remount the system directory r/w I've always used:
Code:
mount -o rw,remount /dev/block/mmcblk0p5 /system

Yeah, there are probably easier ways than what I said. Eventually found scripts for NookManager on Github and used a modified version (just changing the mount point) of one of the ones on there. Come to think of it if that was the official github or anything there's probably a way to trigger that script on device that could be easier than what I said

Related

(OUTDATED) Nook HD+ root, modified 2/15/13 RIP

THIS METHOD IS NO LONGER WORKS as of update version 2.0.5 and higher.
Please visit this thread instead for the current rooting method.
Posting in this thread will get you nowhere, let it RIP.
ANNOUNCEMENT:
If you have a new Nook HD/HD+ and want to root and get the GAPPS running, you should follow the guide at the All-in-One thread instead. That said, I won't copy all the information here to there, so you should continue to read on.
Let me start by saying that I didn't come up with the working root method. The original root instruction came from verygreen in this thread. And I am not a developer, I merely have a few linux background and even less so in the Android. I worked on this on my spare time by myself.
I merely take what was working, but unusable to make it usable. I found something that he is missed. This may actually be working on Nook HD (non-plus) also, but since I don't own one I can't say that it will.
Disclaimer:
If something gone wrong, it's all your fault. I take ZERO responsibility for what happen to your device, your life, your wife/husband, your kids, your unborn child and etc. You get the idea.
Background:
When I found out the root doesn't actually work past a reboot, I start looking what actually cause the Nook to be pissed and factory reset itself. Well, it seem that the /system and anything in there is basically coming from a /dev/block/mmcblk0p8 And if something got change, Nook get pissed and do a FULL FACTORY RESET(I'll explain in a moment). Well, at least I start investigated under that idea.
What I found:
What I found, or at least what I think I found is that, probably just adding file, or increase in the size(maybe there is a threshold for this), will cause it to do a full factory reset. What I also found is that there is a $PATH for /system/sbin but not pointing to anywhere. So I come up with the idea of making another ext4 file system in a file and loop mount it to /system/sbin I guess that work(very well). What I also found is that, there are two kind of factory resets. The one that you perform yourself, which is actually not a full factory reset and the one that Nook get pissed and do the full one.
A factory reset that you perform yourself, whether from the GUI or button combination will basically clean the partition /data while a full blown one will basically restore other partition such as /system
What is included:
basically a zip file, inside that zip file are 6 files.
boot_complete_hook.sh.bak this is basically a modified version of verygreen's
busybox & su are basically from his thread
superuser.apk well I found this one floating around and seem like a good idea to stick it in there (not even sure if it gonna work w/ Nook)
makeroot.bat this is basically what do most of the work. It's base on verygreen original rooting instruction.
sbin_mount This is basically an ext4 file system which have su and another version of busybox all setup nice and tidy for you all. This version of busybox is 1.20.2r2 which I grabbed from here.
Prerequisite:
ADB, it's your responsibility to have adb up and running, meaning not just have it install, but it can see your nook also.
leapinlar wrote a post to help you getting ADB to work here.
Now to get root:
all you have to do is unzip it and run makeroot.bat (obviously you run this in windows command prompt). Yub that's all. The batch file will do the rest, including reboot the nook and wait for it to reboot and stuff. Won't make a coffee for you though.
The manual and hard way:
well, I will only explain this in a summarize way. Basically this start with verygreen rooting method. It basically take advantage of the exploit and run /data/boot_complete_hook.sh which you adb push yourself(with correct permission) with root privilege. What you can run in there is basically up to your creativity. So obviously in this case, you mount the sbin_mount as an ext4 filesystem in the /system/sbin You can make this file yourself if you want to, in linux using dd and mkfs command. Basically using dd to create a file volume to the size you want and mkfs to format it to ext4. Mount it and start uploading stuff you want in there. You will have to correct all the file permission as well. Since all of this will be mounted to /system/sbin you should be aware what you gonna put in there. I guess I could make this thing 100MB, but for this specific purpose 10MB is enough. I my case, just the su and busybox and the symbolic links for the busybox. I'm doing this for the long term. I'm too lazy to point to busybox everytime I wanna do something.
What to do afterward:
Now that you have root, you can Enable Unknown Source to allow you to install app from within the device and install GAPPS. Follow the two guides below if you interested.
Enable Unknown Source: Again, I make an easy little tool for you here.
GAPPS: here.
Did I missed something:
Well, as I said I'm no coder so if I didn't do a clean job, you can refine it. If I didn't document or give proper credit, then I guess I missed that. Sorry about that, again I'm no coder and never done this. And finally:
If this thing work for you, feel free to hit that "THANKS" button. I spent many hours trying to come up with this solution.
FAQ:
Q: My so and so application when attempting to have root access get freeze up, or superuser doesn't work?
A: Well, I'm not sure if this is dued to how the Nook side-loading work or not, but it seem for some reason superuser won't start by itself. So you have to start it manually the first time.
Q: I type in "adb root" and I can't get in as root, it doesn't work?
A: yes it does, it's just not working with adb root. You can get in via "adb shell" once you get in, type in "su" and you can see that you now should have root access.
Thank you so much! This works perfectly. Survives reboot.
here's the Linux version.
Thanks someone0 for getting this started.
Haven't fully tested the linux version, but it loads and starts up, so should work.
extract, and open up terminal and navigate to the dir you extracted to, and type
./makeroot.sh and then enter.
This sounds like a good idea initially.
It is true that the B&N does not just check for /system/xbin/su directly like they did in the past.
This time they check for something else and I just had no time to look into it more deeply to find out what is it they are actually checking for. I plan to figure this out on Friday when I am back home.
Also wanted to tell you that having Linux background is a great thing when tinkering with Android (at a low level, anyway). I don't have much Android background to speak of as well.
This works really well, and thanks to Someone (and mad props too) for getting persistent root working on this.
I may be being very naive, but my suspicion on the reboot is around the manifest file that's present at root.
It seems to be generated by the boot process and it might provide a quick and dirty list of what's permitted on the device to check. With persistent root, lots of investigation becomes a lot less painful. I expect that by end of day we'll have install unsigned running.
Early in my experimenting with the HD+, I noted:
- some versions of the Google Services Framework can be installed via adb
- when I launched the native calendar app after installing gsf, it wanted to sync to a google account, and was able to add the google account
- one version of the Play store installed and launched as far as throwing the 'you must accept the terms of service' before crashing
What BN most likely does is calculating the hash value (or digest, if you prefer) of certain system files that they think shouldn't be tampered with, then during reboot, the values of these files must match, or they will do a factory reset.
The key point is to find out where they do these checks and fool the check.
This sound simple but it depends on how they implement it. If they use binary decisions (like if the hash_value == calculated), then it is easy to get around. If not (e.g. using white box algorithm to hide keys), then it get more complicated.
excellent and very elegant solution. Kudos!
I'm heading out to work, and if you think your theory is right, try poking around with it. Now that your have root, you can try to dd those bootloading partitions out to user area and upload them out to PC and inspect them.
looking at the vold.fstab
Code:
xloader -> /dev/block/mmcblk0p1
bootloader -> /dev/block/mmcblk0p2
recovery -> /dev/block/mmcblk0p3
boot -> /dev/block/mmcblk0p4
rom -> /dev/block/mmcblk0p5
bootdata -> /dev/block/mmcblk0p6
factory -> /dev/block/mmcblk0p7
system -> /dev/block/mmcblk0p8
cache -> /dev/block/mmcblk0p9
userdata -> /dev/block/mmcblk0p10
Be extra careful when touching those partition if you not sure, don't touch them. But making a block copy of them and taking them out should be relatively easy and safe. Obviously you gonna need a Linux box to do this. I setup a VM on one of my PC last night because I need to get a ext4 partition and put all the goodies in there.
krylon360 said:
here's the Linux version.
Thanks someone0 for getting this started.
Haven't fully tested the linux version, but it loads and starts up, so should work.
extract, and open up terminal and navigate to the dir you extracted to, and type
./makeroot.sh and then enter.
Click to expand...
Click to collapse
Just wonder why do use a zip file for the linux version? Wouldn't this kinda messup the permission when compress/uncompress? meaning, makeroot.sh may not have the proper permission when unzip. Please double check.
someone0 said:
Just wonder why do use a zip file for the linux version? Wouldn't this kinda messup the permission when compress/uncompress? meaning, makeroot.sh may not have the proper permission when unzip. Please double check.
Click to expand...
Click to collapse
works just fine.
I chmod a+x'd the script before putting it into the zip.
heh, yeah, it works. Forgot I had my touchpad pluged in and it rebooted it....
whoops.
thanks for posting the location of the /recovery partition. I want to put a copy of htat on ice to prevent BN from undoing any of my work in a future update - I may want some of the fixes they have, but I want to be able to roll them back if needed.
Someone0 are you around can you pm me, Your root works, I installed nook color tools ver .02 in system/app folder and was able to see it in my sideloaded launcher, was able to uncheck/check install non market apps which sets the setting for US to be able to install .apk files from the nook itself, ONLY ISSUE is since I put that file in the system/app folder and the nook didnt like it I got stuck in a bootloop and get to start this process all over again! (nook resetted to ground zero)
maybe we temporary can leave it there get us the permission to install non market apps then remove the file and we will be ok or maybe stuck in another bootloop.
---------- Post added at 09:20 PM ---------- Previous post was at 08:52 PM ----------
GOT IT WORKING NOW:
1. Once rooted, get a file manager with root support and enable read/write permission to /system
2. temporary copy nook tools ver .02 .apk to the system/app folder
3. have a sideloaded launcher and check the app drawer youll see nook tools, run it, first screen uncheck and check the install non market apps box couple of times make sure its checked afterwards
4. have a test .apk to run the BN installer on and see you can now install .apks from the NOOK HD and HD+
5. remove the nook tools.apk file from the system/app folder and quit your file explorer which should reset everything for the system folder back to the way it orginally is!
6. reboot, if you reboot successfully with no boot loop 8 times, your GOLDEN FOR NOW! once again load up a file manager go select an .apk file and see you can now install it! Next step is trying to get amazon market working! then google somehow, but for google you need files in system/app folder permanently!
7. YOU CAN NOW SUCCESSFULLY DOWNLOAD .APK FILES through web, email, any other app and install through the NOOK HD or HD+ BN installer for .apk files. Watch what you install, if it gets put into /system or /system/app folder DREADED BOOT LOOP which resets everything! AMAZON MARKET WORKS!!!! and apps from there install fine to the BUILT IN MEMORY.
** Hopefully amazon market dont install stuff to the system/app folder and if it does hopefully you do not get the dreaded boot loops where you got to start this whole process over again so be forwarned!!! you will loose all data on NOOK HD and HD+ if u get stuck in the bootloops! BACKUP STUFF before messing with root and this kind of thing! DEVELOPMENT!
Aside from moving the actual apk to /system/app/ temporary (since you only do it once), putting a symbolic link there may work also without creating a reset loop. But can't you just side load the apk and run it in other folder?
someone0 said:
Aside from moving the actual apk to /system/app/ temporary (since you only do it once), putting a symbolic link there may work also without creating a reset loop. But can't you just side load the apk and run it in other folder?
Click to expand...
Click to collapse
when you sidelaod it OR install or have it installed to another folder or ran from another folder it cant modify the setting to allow non market apps to install!!
has to be in the /system/app folder THEN RAN from app drawer then you can set the setting uncheck and check box quit program and for now YOU HAVE to remove the .apk from the system/app folder and then you can reboot and the setting sticks! I GOT AMAZON MARKET INSTALLED right now installing apps! NOW WE GOT A KINDLE ladys and gentleman!
Amazon apk installs in internal memory. Apps downloaded from Amazon get installed in internal memory. You can then move them to SD card or leave them in internal memory. System apps are provided in the ROMs by the developers or vendors. ALWAYS back up before making system changes.. Now rooted - use Titanium Backup. System/app should be static throughout ROM lifecycle unless modified by user.
skyhawk21 said:
7. YOU CAN NOW SUCCESSFULLY DOWNLOAD .APK FILES through web, email, any other app and install through the NOOK HD or HD+ BN installer for .apk files. Watch what you install, if it gets put into /system or /system/app folder DREADED BOOT LOOP which resets everything! AMAZON MARKET WORKS!!!! and apps from there install fine to the BUILT IN MEMORY.
** Hopefully amazon market dont install stuff to the system/app folder and if it does hopefully you do not get the dreaded boot loops where you got to start this whole process over again so be forwarned!!! you will loose all data on NOOK HD and HD+ if u get stuck in the bootloops! BACKUP STUFF before messing with root and this kind of thing! DEVELOPMENT!
Click to expand...
Click to collapse
This is why I put the /system back to ro, at least that is what I think I did.
Amazon Store working on ROOTED Nook HD
Proof of Concept:
http://youtu.be/wCyd730L74Y
skyhawk21 said:
Proof of Concept:
http://youtu.be/wCyd730L74Y
Click to expand...
Click to collapse
LOL, your internet is slow. Could have cut the video time by 1/2 if not 2/3 if you switch to faster ISP.
skyhawk21 said:
Someone0 are you around can you pm me, Your root works, I installed nook color tools ver .02 in system/app folder
Click to expand...
Click to collapse
What exactly did you install? I cannot find "nook color tools" in Google Play or on APKTOP. Thanks for your hard work!
NEVERMIND! I found the thread that has the link for the app: http://forum.xda-developers.com/showthread.php?t=868366 Thanks again.
does this root method work on Nook HD+2.0.2?
if not how I can downgrade to 2.0.0?

Nook HD+ Google Play Store. GAPPS, modified 12/04.

ANNOUNCEMENT:
If you have a new Nook HD/HD+ and want to root and get the GAPPS running, you should follow the guide at the All-in-One thread instead. That said, I won't copy all the information here to there, so you should continue to read on.
Proof:
https://www.youtube.com/watch?v=MssQ25bnZnk
Okay this one is more interesting than the root I created. I don't think there will be a simple batch file for this one. I barely get this working and I'm going to try to write instruction for the people. I guess let me start off with the same disclaimer.
Disclaimer:
If something gone wrong, it's all your fault. I take ZERO responsibility for what happen to your device, your life, your wife/husband, your kids, your unborn child and etc. You get the idea.
Background:
I basically taking the installation process from the Kindle Fire HD and apply it it here. The original instruction which I "borrow" from is here. For the most part, the process is the same, but we have to be extra careful for writing into /system partition or we are toast.
What I found:
Well, since we didn't have "UNKNOWN SOURCE" option, we have to adapt and fix that first. You can thanks skyhawk21 for coming up with that idea. Since then, there have been other way to enable Unknown Source. LeapinLar have wrote an excellent here. And I have make it even simpler here. Also, I have found that trying to install Google Play store after some other stuff already installed is kinda pain and brought some error. So I would strongly start this fresh. I mean factory reset and apply root. If you don't know how to gain root on the Nook HD+, I wrote an excellent piece for it here.
Hugh big caution
I did all my stuff based off my root method. I also noticed that verygreen updated his root. While there are some similarlity in our methods, THERE ARE SOME DIFFERENCE ALSO. For example his root doesn't have a working superuser or he have busybox installed and symbolicly linked for all sub command. This mean the instruction I have may not work if you used his method to root.
Addendum 1: 11/19/[email protected]:50PM Pacific
I have been told that the first set of instruction is no longer necessary by leapinlar. This mean that if you only want the ability to install app via Google Play, you can do the first set of instruction and be done with it. But this means you won't be able to utilize the rest of Google's services. On the other hand, you can skip the first instruction and purely do 2nd instruction and get most of the stuff working. Well I say most because it doesn't include Google Maps and Chrome.
Addendum 2: 11/19/[email protected] Pacific
I have added Google Map below so you can download separately But Chrome Browser is like 20MB and over the filesize limit of the xda forum. Since most people don't use it, and there are many good alternative browser already, I won't bother. You can also look up both apk online if you want. they both should work on Nook. You don't have to make symbolic link on these two, but you can't have it on /system either. Either try install it via "adb install" command or open it using your favorite file browser. I forgot which method I use, probably the first.
Addendum 3: 11/30/[email protected]:25AM Pacific
I rewrite and hide unnecessary stuff and streamline the guide.
Addendum 4: 12/01/[email protected]:25PM Pacific
Adding gapps-ics-inst.sh.img which should be compatible for both my and verygreen root method.
Addendum 5: 12/02/[email protected] Pacific
Adding troubleshooting tips
Addendum 6: 12/04/[email protected]:45PM Pacific
Update with brand new easy to follow instruction.
Addendum 7: 12/07/[email protected] Pacific
The Google Map will no longer install as part of the script. I think Maps may not function properly if google framework weren't installed correctly first.
So, you will just have to install it manually after the Google Play updated.
EXTREMELY OUTDATED NOT FULLY WORKING Instruction is hidden since it's no longer necessary.
Instruction:
Optional, factory reset it. Seriously I cannot say this will work unless you start from scratch. If you already have rooted earlier, then install something like titanium backup and backup your porn(I mean data).
Gain root access. Follow this guide.
Follow my instruction here to enable "UNKNOWN SOURCE".
Upload 3 files to /data/su/ using "adb push" command
GoogleServicesFramework.apk - mediafire.com/?zaumfwhraxcifqf
Vending.apk - mediafire.com/?31bn3e258jjpj8d
Play.apk - mediafire.com/?wwcqrlfwt8o1gnv
If you have problem downloading this Play.apk I suggest try using this Vending_v3.9.17.apk instead. Be sure not to confuse with the earlier Vending.apk file, or better yet, rename it to something like Play3917.apk
adb install $your_choice_of_file_manager(must support root), I prefer ES File manager
using your file manager and browse to /data/su and install GoogleServicesFramework.apk (I'm not sure if you can just do adb install GoogleServicesFramework.apk from your PC, but since I didn't do it that way and this is a known result, so I recommend doing it this way)
adb shell
su
mount -o remount,rw /system
mv /data/su/Vending.apk /system/app/Vending.apk
chmod 644 /system/app/Vending.apk
chown 0.0 /system/app/Vending.apk
mount -o remount,ro /system (not sure if this is necessary, but I better safe than sorry)
using your file manager and navigate to /system/app and install Vending.apk
mount -o remount,rw /system (only if you did step 11)
rm /system/app/Vending.apk
mount -o remount,ro /system
using your file manager and go to /data/su and install Play.apk or Play3917.apk depending on what you download
now you can delete both GoogleServiceFramework.apk and Play.apk in the /data/su folder.
That's all, your Google Play Store should now be working.
Login and have fun. I manage to install some stuff through that.
Click the "THANKS" button below.
OK, now to get a more complete gapps. The below steps are to be only after you have Google Play Store, meaning all the above steps are done. The instruction below will let your other app sync and use google account. Meaning stuff like RSS reader sync with google reader or Youtube app access your personal account. Well, atleast those are the two I have tried and seem to be working.
OUTDATED Instruction:
Instructions:
Download these two files. gapps-ics-inst.sh.img and gapps-ics-system.zip (if you use verygreen root method use this gapps-ics-inst.sh.img , the one embedded on this post instead. This one should work universally but untested. I re-wrote it to adapt for verygreen root method also. If it works I'll rewrite this part of instruction again to use the new version of the shell script.)
adb push gapps-ics-inst.sh.img /data/su/gapps-ics-inst.sh
adb push gapps-ics-system.zip /data/su/
This step might take some time
adb shell
su
cd /data/su
chmod 755 gapps-ics-inst.sh
./gapps-ics-inst.sh
This step could take some time too, once it return to shell, then go to next step
(optional delete installation file to save space) rm gapps-ics-system.zip
(optional delete installation file to save space) rm gapps-ics-inst.sh
exit
exit
(you should be back to your OS by now, if not keep exiting until you are out of adb)
adb reboot
once your nook is rebooted, the screen may say updating some files, this is normal.
enjoy, everything should work now.
If you didn't hit that "THANKS" button, you better do now. If you did, do it again?
Thanks leapinlar for catching the typo, I have reupload the shell script file now. And thanks to him for hosting the gapps-system.zip
There have been some errors on my initial instruction. Certain things have been point out. I have updated the instruction accordingly. leapinlar have also fixed gapps files and the shell script for that in post #34. So big kudo to him. I haven't have much time to toy with this lately, but since people report that his script work. So here are the new instruction.
If you were using verygreen version of root, try running this first.
Code:
adb shell su -c "/data/su/busybox chown shell.shell /data/su"
FAQ:
Q: I don't see the Google Play Market on the list of apps.
A: If you use the "Skip OOBE" aka Test mode, then (reboot first or go into shell and kill the app launcher and then) you have to hold down the Vol-Up key and tap the word Apps on the top to see them. After that I recommend installing other launcher, then they can see all the apps.
Q: Some people are saying after they install an adblock app, after reboot it get into bootloop and wipe everything.
A: The way most adblock apps work is that they modify the hosts file which usually located at /system/etc/hosts Well, as we have discussed before this is not a good idea to make change directly to /system folder(directory). The only adblock I know of that work is AdAway with a specific setting.
When installed, first you have to go to menu > preferences > target hosts file > /data/data/hosts, it will then ask to create symbolic link, say yes and then you can reboot.
Troubleshooting Tips:
I had a little problem today, unrelated to the GAPPS install mod here. But the problem involved Google Play not working correctly. I kept getting Google Play error pop up. So, I use Titanium Backup ROOT to wipe the data and then uninstall all the apps which names start with Google. I'm not sure if this is enough, it might but I didn't want to take any chance. This maybe unnecessary but I did it anyway; I delete all the files that I created in the /data/su/system that have anything to do with google. Basically anything that was unzip there. Rebooted, then re-apply the same google mod here. And problem solved. I did have to re-login again, but yes I clear up that Google Play error.
Pre-Requisite:
ADB + ROOT + Enable Unknown Source.
1. ADB: leapinlar wrote a post to help you getting ADB to work here.
2. ROOT: I wrote a guide on how to get root the easy way here.
3. Enable Unknown Source: Again, I make an easy little tool for you here.
Brand New and Improve Instructions:
Download these three files. New.zip GoogleMaps.apk and gapps-ics-system.zip
Unzip New.zip (don't unzip gapps-ics-system.zip)
run install.bat
PS: Now I know how hard it's to write a guide in xda. Prop to all those dev that have been there b4 and after, especially the one I have use their works.
That's it, I'm going out to buy one ASAP. Thanks for your hard work!
thanks for you Howto
after that is it possible to use Youtube and Google Maps apps?
Youtube can be install from Play Store but you have to sideload the Google Maps since it's not available for download in Play Store. GMail works, but the authentication through google account on other apps still aren't working. I guess this problem may be beyond my current level of tinkering knowledge.
great job on getting google market somewhat working!!!! We need the manual nooter developer or author to make what we need for the Nook HD AND HD+. Anyhow I belwive you need more framework files to get google authentication working and unfortunately they need to be installed within root folders like the /system folders and sub folders... Also Barness and noble included frameworks for google authentication, probably just not working with google apps installed manually.... gotta figure it out...
---------- Post added at 05:49 PM ---------- Previous post was at 05:47 PM ----------
By the way youtube app works installed older version from my Motorola Droid 3 manually through es file explorer and it works and does HD fine
I have been thinking about that and wonder if we can put those lib files on diff folder and sym link them? I still afraid it might reset the thing.
someone0 said:
Instruction:
[*]Optional, factory reset it. Seriously I cannot say this will work unless you start from scratch. If you already have rooted earlier, then install something like titanium backup and backup your porn(I mean data).
Click to expand...
Click to collapse
I was able to do this with root explorer after rooting with no problem.
Thanks for this (and your rooting zip - both are super!)
issue was fixed, removed obnoxiously long quote
smatticus said:
still have the issue where i can't get the nookcolortools to run properly from /system/app. it just crashes. i googled this and it says that i need to reboot the nook to apply the system/app move BUT that supposedly creates the bootloop. i REALLY don't want to do that so can someone help me out here?
Click to expand...
Click to collapse
You probably shouldn't quote anything that big unless you very need to. As far as getting nook color tool to run, did you set the file to have proper permission, eg: chmod and chown the file? Your other option is factory reset and start from scratch. Sometime getting a clean slate to start with make things easiler to follow.
Thank you for the Google Play Store. It works great for me. I want to install Google Voice. Before I installed your framework apk, I was not able to get the credentials to come up. Now since installing that, it comes up with my Google credentials and tries to authenticate them. But immediately Android System force closes and the sign in screen just sits there. Any ideas on this one? This is the last thing I need to make this my everyday device.
Sent from my Nook HD+ using Tapatalk
someone0 said:
As far as getting nook color tool to run, did you set the file to have proper permission, eg: chmod and chown the file? Your other option is factory reset and start from scratch. Sometime getting a clean slate to start with make things easiler to follow.
Click to expand...
Click to collapse
turns out i wasn't supposed to install the app via adb. my fault for not following instructions. thanks for your hard work
Nice, I think I am getting the Nook HD+.. Hope there is custom ROM soon.. thanks man
leapinlar said:
Thank you for the Google Play Store. It works great for me. I want to install Google Voice. Before I installed your framework apk, I was not able to get the credentials to come up. Now since installing that, it comes up with my Google credentials and tries to authenticate them. But immediately Android System force closes and the sign in screen just sits there. Any ideas on this one? This is the last thing I need to make this my everyday device.
Sent from my Nook HD+ using Tapatalk
Click to expand...
Click to collapse
I'm thinking about that right now but as I suggested, putting the google lib in other place and make symbolic link in the appropriate /system sub. I won't be able to test that theory of mine until I get home later tonight. I will have to research where all the files suppose to go and their permission. Unless you want to do it, you are welcome to.
I agree, getting authentication would be tha last missing link to make this device fully enjoyable as day-to-day usage. And the we can wait for custom ROM from real developers. That is definitely out of my knowledge.
works without full reset
figured i'd put it out there that i DID NOT do a full factory reset (partly to be a guinea pig, partly because i'm lazy) and this method DOES WORK without it. It took 2 tries (it loaded up the first time, then crashed a few minutes later.) the second time it worked like a charm. One note: the chown command gave me an "operation not permitted" notice, but the market IS working, i grabbed a TON of apps and thankfully got updates to the ones i purchased through the nook shop that hadn't seen an update since they first launched (i'm looking at you, machinarium).
Thanks!
Thanks so much for your work on this! I can access the Google Play Store along with the Amazon App Store now and have loaded up my new Nook with my favorite apps. My only disappointment is that I still can't get Amazon Instant Video or Google Play Movies to work...once these work I'll be in heaven!
leapinlar said:
Thank you for the Google Play Store. It works great for me. I want to install Google Voice. Before I installed your framework apk, I was not able to get the credentials to come up. Now since installing that, it comes up with my Google credentials and tries to authenticate them. But immediately Android System force closes and the sign in screen just sits there. Any ideas on this one? This is the last thing I need to make this my everyday device.
Sent from my Nook HD+ using Tapatalk
Click to expand...
Click to collapse
BTW, I got that working now, my theory works. Now only if I have a place to store 60+MB file. Then I can update this guide to include that. I was able to use Youtube app to access my account and so is my RSS reader to sync with google reader.
Access Denied
I'm getting an error when I try to execute ./gapps-inst.sh. It's saying cannot execute - Permission denied. I've rooted and followed the instructions to install Google Play and all worked fine...I'm on this last step and it won't work! Advice is much appreciated!! I also keep having permission denied issues with the adb push command...I can paste the files manually via ES File Explorer and rename to remove the .bin but I still can't install from adb shell.
I've also tried chmod 777 on the gapps-inst.sh prior to doing ./gapps-inst.sh but that produces a giant string of errors.
I'm at a loss!
someone0:
I just rehosted your files on my MediaFire account.
Removed links. New links on OP.
Alright, so I have no idea what Nook HD/HD+ thread to put this is in... so here i go.
1. Will these steps get the play store on the Nook HD as well?
2. Will the apps show up in the Nook app section, or do we still need a launcher. I have sideloaded all my apps, but have to use a launcher to get at them.
Thanks!
someone0:
There is are a couple of typos in your gapps-inst.sh file -
Code:
ln -s /data/su/system/usr/srec/en-US/google_hotword_clg /system/usr/en-US/google_hotword_clg
ln -s /data/su/system/usr/srec/en-US/google_hotword_logistic /system/usr/en-US/google_hotword_logistic
are missing the /srec in the second /system link.
Also it seems the real /system has these files so the symlinks fail.
Code:
ln -s /data/su/system/etc/permissions/com.google.widevine.software.drm.xml /system/etc/permissions/com.google.widevine.software.drm.xml
ln -s /data/su/system/framework/com.google.widevine.software.drm.jar /system/framework/com.google.widevine.software.drm.jar
ln -s /data/su/system/usr/srec/en-US/acoustic_model /system/usr/srec/en-US/acoustic_model

[Q] Change default fonts of N2E

Hi everyone
I am a fan of Nook ST, however, the biggest problem with this cute reader is that It does not use Unicode Font. Hence, I cant read ebooks in my maternal language ( Vietnamese). Does any one know how to replace those default fonts with unicode fonts ( Of window) . I dont want to root my Nook because I just use it for reading
Thanks in advance
You can find some helpful info/pointers at the following links:
http://phanquochuy.me/?p=114
http://nookdevs.com/Font_Changes
http://bookclubs.barnesandnoble.com...n-t-display-Vietnamese-characters/td-p/494819
http://www.mobileread.com/forums/showthread.php?t=178623
Usually the route to supporting unsupported character sets is to use the fallback font, DroidSansFallback.ttf
You might try a font from a newer version of Android or replacing it with some big font.
Since I don't know Vietnamese, I don't know exactly what chars you are looking for.
Are your books in Vietnamese using pre-compiled chars, that is a single char for glyph and accent?
There are reasonably wide choices of fonts that can render the (modern) vietnamese character set (subset of latin alphabet with diacritical marks on vowels, plus one modified consonant), unfortunately none of them is in the stock Nook's font set, and the OP does not want to root his/her NST. Embedding font in the epubs is a pain, even with the referenced plug-in for Calibre.
Well, they may not want to root their Nook, but there is rooting and rooting.
If they slap Clockwork Mod Recovery on an SD card they can remount system, replace DroidSansFallback.ttf and reboot.
No harm done and no one the wiser.
Renate NST said:
Usually the route to supporting unsupported character sets is to use the fallback font, DroidSansFallback.ttf
...
Click to expand...
Click to collapse
I took a peek at /system/fonts: DroidSansFallback.ttf is there but it does not show up in the font menu of the stock Reader. To get it in one would have to muck with the Reader's apk content.
DroidSansFallback.ttf is the fallback font.
You never specify it.
When you punch up a website in Hindi and your regular font does not support Hindi letters, the system tries the fallback font.
There is a lot of stuff in DroidSansFallback.ttf, but not everything.
On my desktop, for instance, Arial Unicode MS is the biggest font that I have.
It has pretty comprehensive support for many languages.
The Android 2.1 DroidSansFallback.ttf is 3,081,908 bytes.
The Android 4.0 DroidSansFallback.ttf is 5,300,184 bytes.
Arial Unicode MS is 24,172,892 bytes!
thank digimax for such useful advice. I knew how to embed font into epub however it will be a bit trouble everytime i want to read a new book
I have an idea when I follow given links, especially Font_Changes of Nookdevs. If we modify the reader app in backup nook (.img) or in update files from B&N(.zip) then restore to device, will it work ?
ectacy said:
thank digimax for such useful advice. I knew how to embed font into epub however it will be a bit trouble everytime i want to read a new book
I have an idea when I follow given links, especially Font_Changes of Nookdevs. If we modify the reader app in backup nook (.img) or in update files from B&N(.zip) then restore to device, will it work ?
Click to expand...
Click to collapse
Your idea might work but it seems a bit "heavy-handed", I personally would explore and opt for a more surgical approach along the line @Renate posted above: e.g., use SD CWM to get the file-system mounted as writable then <adb push> the modified reader apk over.
BTW, what are some good sources of good Vietnamese books in epub formats?
digixmax said:
Your idea might work but it seems a bit "heavy-handed", I personally would explore and opt for a more surgical approach along the line @Renate posted above: e.g., use SD CWM to get the file-system mounted as writable then <adb push> the modified reader apk over.
BTW, what are some good sources of good Vietnamese books in epub formats?
Click to expand...
Click to collapse
Here I attach an Vietnamese epub file, you can take it as sample for "nook surgery" ( I dont know which epub is good source of format, hence i picked one which is not converted by Calibre ) . I am newbie in Android, so much thing to explore and learn ADB seems a complicated tool :silly:
I took a peek at Reader.apk (extracted from FW v1.1.2 I currently use): opening and hacking it up is more work than what I would invest into an exercise I thought of doing just for kick.
If you think stuffs like ADB is complicated, I'd suggest the path I had taken: root your NST and get free Mantano Reader from the Google Play store (it opens and displays just fine the Tuyet Son Phi Ho epub you posted above).
digixmax said:
I took a peek at Reader.apk (extracted from FW v1.1.2 I currently use): opening and hacking it up is more work than what I would invest into an exercise I thought of doing just for kick.
If you think stuffs like ADB is complicated, I'd suggest the path I had taken: root your NST and get free Mantano Reader from the Google Play store (it opens and displays just fine the Tuyet Son Phi Ho epub you posted above).
Click to expand...
Click to collapse
thank you I will consider your advice about rooting and matano . Another solution is to sell my nook and get a kindle , no more epub, no more font ... just prc, just read.
In point of fact, the Reader doesn't handle fallback correctly.
You can get your font to work a number of ways.
The easiest is to substitute one of the fonts like Trebuchet.
Copy arialuni.ttf (Arial Unicode MS) from somewhere to DroidSansFallback.ttf
Create a few links so that bold and italics will work.
Connect with ADB shell:
Code:
mount -o rw,remount /dev/block/mmcblk0p5 /system
cd system/fonts
mv Trebuchet.ttf Trebuchet.bak
mv Trebuchet-Bold.ttf Trebuchet-Bold.bak
mv Trebuchet-BoldItalic.ttf Trebuchet-BoldItalic.bak
mv Trebuchet-Italic.ttf Trebuchet-Italic.bak
Push with ADB:
Code:
adb push arialuni.ttf /system/fonts/DroidSansFallback.ttf
Back to ADB shell:
Code:
cd system/fonts
ln DroidSansFallback.ttf Trebuchet.ttf
ln DroidSansFallback.ttf Trebuchet-Bold.ttf
ln DroidSansFallback.ttf Trebuchet-BoldItalic.ttf
ln DroidSansFallback.ttf Trebuchet-Italic.ttf
Open the book up and select "Trebuchet" as the font.
Here's the first page:
Renate NST said:
In point of fact, the Reader doesn't handle fallback correctly.
You can get your font to work a number of ways.
The easiest is to substitute one of the fonts like Trebuchet.
Copy arialuni.ttf (Arial Unicode MS) from somewhere to DroidSansFallback.ttf
Create a few links so that bold and italics will work.
Connect with ADB shell:
Code:
mount -o rw,remount /dev/block/mmcblk0p5 /system
cd system/fonts
mv Trebuchet.ttf Trebuchet.bak
mv Trebuchet-Bold.ttf Trebuchet-Bold.bak
mv Trebuchet-BoldItalic.ttf Trebuchet-BoldItalic.bak
mv Trebuchet-Italic.ttf Trebuchet-Italic.bak
Push with ADB:
Code:
adb push arialuni.ttf /system/fonts/DroidSansFallback.ttf
Back to ADB shell:
Code:
cd system/fonts
ln DroidSansFallback.ttf Trebuchet.ttf
ln DroidSansFallback.ttf Trebuchet-Bold.ttf
ln DroidSansFallback.ttf Trebuchet-BoldItalic.ttf
ln DroidSansFallback.ttf Trebuchet-Italic.ttf
Open the book up and select "Trebuchet" as the font.
Here's the first page:
Click to expand...
Click to collapse
Do I need to root my Nook touch to connect it with ADB ?
thank Renate NST for your help :-? I think Swapping default reader and modified reader can be done without rooting I am reading your topic about modifying APK . It could be hard but I wont give up
ectacy said:
I think Swapping default reader and modified reader can be done ...
Click to expand...
Click to collapse
This is not about swapping Reader.apk (or ReaderRMSDK.apk).
This is just about swapping fonts for one that support Vietnamese characters.
It doesn't involve changing anything in the boot partition.
Yes, to change anything in the system partition you must have root access somehow for as long as it takes to make the changes.
You have to put something on a SD card and boot up on that.
Your choices are:
Use one of the handy-dandy rooter tools that people post
Use Clockwork Mod Recovery that will directly allow you to use ADB
Use noogie and a Linux system to access the /system partition directly
I have found a way to accomplish this with minimal work on the Nook itself.
A little background. I like using the Caecilia font, but it really bugs me that I can't tell the difference between "normal" and "bold" text because for the latest version of Caecilia installed on the nook the weights of "normal" and "bold" are nearly identical. So I went looking for a way to fix that. Here is what I came with. It should work for any font you want to replace.
1) Obtain a copy of the font you want to use, in my case Lexia DaMa.
2) Obtain a copy of Type Light 3.2.
3) Using some temporary or permanent rooting method, copy the font you want to replace from the /system/fonts directory on your nook using adb pull.
4) Open the font file pulled from your nook in Type light 3.2 and note the name of the font stored INTERNALLY in the file.
5) Open the font you want to use in Type light 3.2 and rename it to match the font you are replacing.
6) Using adb push, copy your replacement font over the EXACT file names for the original font on your nook.
7) Reboot your nook.
7) Use your "new" font by selecting the name of the font you replaced.
You do not need to permanently root your device for this method to work and in does not involved creating links which a non-techie can easily mess up. You can do all of the font files for a particular font, or only the regular font file, depending on your purpose. For the OP's purpose, all of the font files should be done. For my purpose, I only did the "regular" file as Lexia DaMa and Caecilia are very close and the Caecilia BOLD, ITALIC, and BOLDITALIC work just fine for me. You should make a backup copy of the original font files from your nook either on or off the device in case you ever want to switch back.
If anyone is interested, I can post a more detailed (including actual commands) description of this method.
Links aren't that complicated.
In any case, the purpose of the links is to:
Insure that foreign language titles appear correctly in indexes.
Avoid the 4 times duplication of a 24 Meg font file!
David0226 said:
I have found a way to accomplish this with minimal work on the Nook itself.
A little background. I like using the Caecilia font, but it really bugs me that I can't tell the difference between "normal" and "bold" text because for the latest version of Caecilia installed on the nook the weights of "normal" and "bold" are nearly identical. So I went looking for a way to fix that. Here is what I came with. It should work for any font you want to replace.
1) Obtain a copy of the font you want to use, in my case Lexia DaMa.
2) Obtain a copy of Type Light 3.2.
3) Using some temporary or permanent rooting method, copy the font you want to replace from the /system/fonts directory on your nook using adb pull.
4) Open the font file pulled from your nook in Type light 3.2 and note the name of the font stored INTERNALLY in the file.
5) Open the font you want to use in Type light 3.2 and rename it to match the font you are replacing.
6) Using adb push, copy your replacement font over the EXACT file names for the original font on your nook.
7) Reboot your nook.
7) Use your "new" font by selecting the name of the font you replaced.
You do not need to permanently root your device for this method to work and in does not involved creating links which a non-techie can easily mess up. You can do all of the font files for a particular font, or only the regular font file, depending on your purpose. For the OP's purpose, all of the font files should be done. For my purpose, I only did the "regular" file as Lexia DaMa and Caecilia are very close and the Caecilia BOLD, ITALIC, and BOLDITALIC work just fine for me. You should make a backup copy of the original font files from your nook either on or off the device in case you ever want to switch back.
If anyone is interested, I can post a more detailed (including actual commands) description of this method.
Click to expand...
Click to collapse
Your solution seems understandable for me @@ I am buried in a jumble of ADB, CWM, Shell,... :cyclops:
Renate NST said:
This is not about swapping Reader.apk (or ReaderRMSDK.apk).
This is just about swapping fonts for one that support Vietnamese characters.
It doesn't involve changing anything in the boot partition.
Yes, to change anything in the system partition you must have root access somehow for as long as it takes to make the changes.
You have to put something on a SD card and boot up on that.
Your choices are:
Use one of the handy-dandy rooter tools that people post
Use Clockwork Mod Recovery that will directly allow you to use ADB
Use noogie and a Linux system to access the /system partition directly
Click to expand...
Click to collapse
Can you give me detail instruction on this solution. I am having noogie and a CD of Ubuntu. Are they enough to follow this method :victory:

those invisible menu options

There is an interesting discussion on the Russian forum the-ebook.org (paste this link into Google and select the translation; item is on page 2) regarding those annoying invisible menu options in many apps. Although the translation is a little rough around the edges, the gist seems to be that the default text and background colors for the app menus are not exactly what the e-ink display has in mind, often resulting in light or near-white text on a white background--hence, invisible text.
The "solution" used is to change some background color settings in framework-res.apk. I have no idea what the outcome looks like but it seems like a really good idea, although beyond my abilities, and the example used is 1.10 firmware. I'm using 1.21. Any attempt I have made to modify apk files has always failed
Does anyone have a fool-proof set of steps for doing this?
I remember reading about what you're talking about somewhere on the forums but I could never get it to work either...
Here's what I'm talking about:
http://forum.xda-developers.com/showthread.php?t=1356514
http://forum.xda-developers.com/showthread.php?t=1512846
OK, well.....I've got the adjusted background images extracted from the framework-res.apk file that I got from the Russian site (I'm working with the lighter background option at this point). And...I've found the setting in WinRar to simply "store" (not compress) the updated png files. So far, so good. My altered apk file is the same size as the original.
The clincher is to get it back on the Nook without disaster ensuing. I'm going to follow Renate's method for pushing back framework-res.apk via ABD (from this thread):
C:\>adb shell
# stop
# mount -o rw,remount /dev/block/mmcblk0p5 /system
# ^C
C:\>adb push framework-res.apk /system/framework
C:\>adb shell
# reboot
Keep your fingers crossed. If it works, I'll report back with step-by-step and files.
[Report: in concept this "works". On reboot I could see the slightly grey background color in menu options and going to a few apps where I knew the menus were invisible, I could see white text on the slightly grey background. BUT...almost no apps will work. The B&N side seems to function OK, but the App drawer is useless. Back to the drawing board. The Russian site has a method for installation using RootExplorer. I'll try that next.]
OK...day 2. Here's what does NOT work:
1. method in post above using ADB
2. method using RootBorwser as adapted from Russian site and detailed below:
a. Change permissions in /system, /system/etc and /system/framework folders so that all users have write access
(note this is my kludge to get around not knowing how to "mount" the /system partition as r/w--maybe it's wrong?)
b. Use ADB wireless to move modified framework-res.apk into /system/etc
c. Use RootBrowser to check ownership of modified framework-res.apk (should be and was already owner: 0-root, group: 0-root)
d. Use RootBrowser to change permissions on modified framework-res.apk to rw-r--r-- (664)
e. Use RootBrowser to move (cut/paste) modified framework-res.apk into /system/framework (overwrite)
With Superuser permission, this all went off without a hitch.
f. Use RootBrowser to reset permissions of folders listed in (a)
g.Shut down Nook and restart.
The result is the same as the ADB-only method described before. The Nook starts up just fine. You can see that the background color of menus is slightly gray. Those changes have obviously worked. But the vast majority of apps will not run (ADW Launcher is an exception). At one point while I was fiddling with things the Nook spontaneously rebooted.
I guess that's better than spontaneously combusting
SIGH. Clearly, despite my best efforts, something I did in handling the framework-res.apk has damaged it in some subtle way, OR, my inability to properly "remount" the /system as R/W is causing the problem, although using ADB this is accomplished without difficulty and since the result is the same...it must be the modified apk file.
And this is why I have a dedicated SD card backup......
Method 3 that does NOT work:
1. Install Ninjamorph and BusyBox from Market
2. Follow instructions for altering framework-res.apk found here.
Two ways to Finish Project, with zip-align and without. Both yield the same result which is the same as the other methods above, i.e., the B&N stuff mostly works and the desired contrast of the menus is achieved so you can actually see what used to be invisible, but most apps will not run. Really frustrating.
I have to say that while this method seemed promising it is tedious in the extreme as each of the 28 png files must be replaced individually and that means each must be located in a much larger list (which reverts to the top after each replacement....). Ugh.
I simply don't believe anyone who says they can make these modifications with the instructions they have provided. It must be that people who are more familiar with this stuff are leaving out information which is so obvious to them that they don't even think to mention it
framework-res.apk is an apk and therefore it must be signed.
It's a system apk so it must be signed with the system signature.
Modifying a few things doesn't annoy the signature matching, other stuff does.
When you have problems, please quote from logcat because that tells you exactly what the problem is.
Using ADB:
Code:
logcat
Whatever.9.png are special files.
The are usually created thusly:
http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch
When they get packed into an apk they are turned into a PNG graphic with alpha channel.
aapt handles this.
If you take a PNG with sidebars and just zip it, it will not work.
Renate NST said:
When you have problems, please quote from logcat because that tells you exactly what the problem is.
Using ADB:
Code:
logcat
Whatever.9.png are special files.
The are usually created thusly:
http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch
When they get packed into an apk they are turned into a PNG graphic with alpha channel.
aapt handles this.
If you take a PNG with sidebars and just zip it, it will not work.
Click to expand...
Click to collapse
I just tried again and this time after pushing the amended framework-res.apk file (yes, all 28 amendations are nine-patch files) I typed in logcat before rebooting.
Whoosh!!! Lines of information went streaming by faster than I could follow, so much that some of the earliest disappeared from the top of the console window. I have no clue how to extract the text from the console window
The top-most complaint I saw was a reference to system error 1248 in association with the CleanMaster app. Then there seems to be a periodic (15 second) dhcpcd renewal. Eventually there is a section that says "Framework disconnected, eof, failed to read size, closing connection". Then comes a long list of notifications from the Service Manager about all the services that have just died. After that it just continues with the 15-second dhcpcd renewal cycle. Then I gave up and rebooted.
The result is the same as before. The new image backgrounds have been incorporated into the system, but most of the app drawer is just pretty icons. ADW runs--at least the drawer and home page appear. The B&N Home and Library pages load but you can't access any of the books shown. Wi-Fi can be accessed but no apps that use it will run. Occasionally the CleanMaster app throws up an error message.
Here's what I've learned so far:
1. In the original amended framework-res.apk file (for FW 1.10) viewing the archive reveals that the files which have been changed all have an "archive " attribute. None of the original files show any attribute. I don't know whether that is important. I've searched on this topic and have come up with nothing.
2. In moving the amended *.9.png files from the original Russian example for FW 1.10 into a copy of my own framework-res.apk for FW 1.21, those "archive" attributes came along for the ride and the resulting amended file does show "STORE" for the method so I think I got that part right and didn't recompress any files when moving from one apk to another (I dragged the files from one instance of WinRAR to another--I tried 7zip as well...).
But I have no idea why people report that this procedure works just fine. For me, it is predictable, but not successful.
I've just completed yet another restore from backup. I'm going to uninstall CleanMaster and try again. Perhaps it's background activities are driving the process into the ground. I have no clue.
Here's the logcat session file (learned how to get that done!) after a re-try, having removed CleanMaster first.
No change in the outcome but no bleating from the Nook about CleanMaster errors.
I wonder--is it the modified apk that is causing the system to malfunction, or....is it the way it is being pushed back to the Nook?
So..an experiment: I pulled a copy of the stock framework-res.apk from my Nook. I didn't do anything to it at all. Then I pushed it back to the Nook via wireless ABD:
C:\>adb shell
# stop
# mount -o rw,remount /dev/block/mmcblk0p5 /system
# ^C
C:\>adb push framework-res.apk /system/framework
C:\>adb shell
# reboot
This is supposed to work, yes? It does not. It leaves me in the same condition that all of the other attempts by this and other methods have. The Nook boots normally and displays Home but you can't access the "currently reading" book. I can get to the app drawer via the quicknav buttons, but very few apps will work (including ADB). There is no way to examine the file system because RootBrowser will not work (although ES File Explorer does, but it doesn't have root access).
So....whether the modified apk is OK or not, I would never know because all of the methods I have tried to get the framework-res.apk back onto the Nook have been unsuccessful.
That procedure should work fine.
Have you checked using the stock framework-res.apk ?
Renate NST said:
That procedure should work fine.
Have you checked using the stock framework-res.apk ?
Click to expand...
Click to collapse
Yes, that's what I just tried. Just pulled it via ADB and then pushed it right back. I also installed a copy of Root Explorer (I generally used Root Browser) because that's what was used in the original thread on the Russian site where I got started with the whole project. That also yields the same results. The Home screen loads but you can't access the book currently being read from it or from the little button at the top left. You can access any of the QuickNav options. The Library "functions". But you can't access books from their covers and the double-tap does not work.
In the app drawer, ADW seems to work fine but you can only run a very few apps, and none that require wi-fi (although wi-fi works). Too much fiddling around and the Nook spontaneously reboots.
When I have tried to move in the modified apk with the slightly gray background 9.png files I can see that the new image backgrounds have been used in the drop-down menus. This suggests to me that the problem is not in how the 9.png files have been moved from the FW1.10 apk obtained from the Russian site into my FW1.21 apk but rather in the integration of the modified apk into the system. I've checked permissions, etc. Everything is OK but the system is just screwed up.
I'm running FW1.21 which has been rooted using Nook Manager with Gapps added. I've done the multi-touch modification and have swapped in a modified internal.db file which seems to have solved the confusion of the "reading now" button. I have some apps that run along in the background, like Tasker and Clean Master (probably others that I don't realize). Do I need a completely clean system to make this change?
I saw the logcat and it showed that it's unhappy and killing the Android.
I couldn't see exactly where the problem is.
I think that you are doing too many things at once.
If there are specific things that do not work, a logcat when you do that should show.
Renate NST said:
I saw the logcat and it showed that it's unhappy and killing the Android.
I couldn't see exactly where the problem is.
I think that you are doing too many things at once.
If there are specific things that do not work, a logcat when you do that should show.
Click to expand...
Click to collapse
Yes, I was probably a little unclear. The ONLY thing that I did when I produced the logcat was attempt to push the modified framework-res.apk file back to the Nook. All those other things mentioned have long ago been successfully accomplished and included in my current backup (which I've had to use dozens of time in the last week or two as I struggle with this framework issue).
The ONLY change to the stock framework-res.apk is the overwriting of 28 *.9.png images with ones copied from another framework-res.apk which, unfortunately, is from FW1.10 (or I'd just use it "as is" without the copying). However, even pushing back an unmodified stock apk results in the same mess.
Like I say, based on what functionality remains when the modified apk file is pushed over, it is clear that the new images are being used, but the system function is severely degraded.
I don't know much about the process, but from what I've read I'm wondering if it would be better to use a zip via CM to deliver this modified file? That way the Android system is not even running (right?) during the replacement procedure.
When you say "stop" Android is no longer running.
Try clearing the cache:
Code:
rm -R /data/dalvik-cache/*
Renate NST said:
When you say "stop" Android is no longer running.
Try clearing the cache:
Code:
rm -R /data/dalvik-cache/*
Click to expand...
Click to collapse
Before pushing? After, but before rebooting?
Anytime that Android is stopped you can clear the cache.
I tried this with a copy of the stock apk:
Code:
C:\>adb shell
# stop
# rm -R /data/dalvik-cache/*
# mount -o rw,remount /dev/block/mmcblk0p5 /system
# ^C
C:\>adb push framework-res.apk /system/framework
C:\>adb shell
# reboot
It put me in an very long chase of the black and white dots that I almost thought would be endless but eventually it finished booting and is in the same condition as all the previous methods. Very crippled.
I can't figure it out
First, get the 1.2.1 update off B&N's website and unzip.
Get framework-res.apk out of that and push it.
The stuff in /system/framework should all be chmod 644.
An ADB push probably leaves it with wider access.
None of this should make any difference.
I'd guess that you are either missing a resource in your fw-r or else you modified something else.
Find an app that crashes. Get a logcat of just that crashing.
Renate NST said:
First, get the 1.2.1 update off B&N's website and unzip.
Get framework-res.apk out of that and push it.
The stuff in /system/framework should all be chmod 644.
An ADB push probably leaves it with wider access.
None of this should make any difference.
I'd guess that you are either missing a resource in your fw-r or else you modified something else.
Find an app that crashes. Get a logcat of just that crashing.
Click to expand...
Click to collapse
I got a copy of the FW 1.21 zip from B&N and extracted the framework-res.apk. I didn't try to push it yet. Instead I got the checksum for the current file on the Nook and compared it to the newly minted file. They were identical. I don't think there is any point in trying yet again with the same procedure. If my reasoning is incorrect, I'm certainly game to try anyway.
All files in /system/framework are chmod 644. The Framework folder itself (and the system folder) are something else, but the contents are all 644.
The only modifications I have made after rooting with Nook Manager are the installation of Google Apps, the implementation of multi-touch (I have to go back and look that up to see what all I did, but surely nothing with framework-res.apk or it never would have worked....), editing settings.db to relabel the QuickNav buttons after programming with NTMM, and pushing a modified copy of internal.db to fix the schizo "reading now" button. As i say, these are all long-established changes and the Nook has been stable with them. I think Google apps may modify framework.jar, but I'm not sure.
[I checked on multi-touch. I flashed a new kernal image and added one line to /etc/permissions/required_hardware.xml in order to enable multi-touch...have no idea what "flashed a new kernal" actually did, but it worked]
Two really noob questions: 1) how can I get a logcat of an app crashing when ADB will not run once a copy of framework-res.apk has been pushed? 2) if the Android system is actually stopped when I type "stop"in ADB shell, how does ADB continue to function?
And, actually, apps do not so much "crash" once I've attempted to put in a "new" framework-res.apk--most just refuse to run. But maybe there is something going on in the droid brain while the screen flickers a little and nothing else happens.
ADB runs under Linux, not the Android subsystem.
You should always be able to access ADB.
If ADB isn't running continuously and reliably you have problems.
If some app does not run, give the specific section in logcat where it doesn't run.

NGL3 Screensaver Images

Hi everyone,
I have a Nook GlowLight 3. I don't like the default screensavers, so I'd like to delete them and (optionally) put in some new ones. Is this possible?
Maybe it's just a matter of getting into the Nook's file system and replacing their image files with my own (with the same filenames)?
This Nook is new. I don't mind voiding the warranty, but I'd rather not unless I know it will be worthwhile. Otherwise, I would try it myself. So I'm hoping some kind soul who has a NGL3 that they have already broken into would be willing to take a look at it for me.
Please let me know if I can help! Thank you!!
Robert
I've got too many Nooks and I'm far removed from stock.
Do you have a directory /data/sleep/
That used to have PNGs for some standby images.
Do you currently have the old, creepy authors?
I have not rooted it or anything yet, just plugged it into my Mac and looked at the default directories it comes with. There is basically nothing there– I even had to research online and experiment how to just create a directory where I could sideload a PDF. So, no, I haven't seen any directory like you mentioned. And I'm not sure what you mean about the old authors(?). The screensavers I have are Symbols and Quotes. In any case, this is my first Nook, and it's less than a week old.
So, do you think there is a good chance I could make changes to the stock screensavers?
The "old, creepy authors" were the screensavers that made the Brontë sisters look like the witches out of Macbeth.
These images are all packed away in /system/priv-app/partner.apk in res/drawable-mdpi-v4/
Code:
artboard_1.png
artboard_2.png
artboard_3.png
artboard_4.png
artboard_5.png
artboard_6.png
artboard_7.png
artboard_8.png
alexander_pope.png
chinese_proverb_00.png
cicero.png
jane_austen.png
john_wilson.png
lady_mary_montagu.png
louisa_alcott.png
robert_southey.png
thomas_jefferson.png
thomas_kempis.png
The list of images is in res/values/arrays.xml in quotes_imgs and symbols_imgs
The actual screensaver mechanism is com.nook.partner.screensaver.ScreenSaver (in partner.apk).
If you repack that all it won't have a B&N signature
I'm not sure how much that will break things.
In worst case you could resign everything.
I think that I'd just rewrite ScreenSaver to fetch PNGs from a directory like /data/sleep
That way, changing the collection would be easier.
Oh, and another thing...
As always, the sloppiness of B&N gets to me.
Those "quote" image files are ten times the size of the "symbol" image files.
Why? Because they have a very subtle dithering to the backgrounds.
It's nothing that you can see even on a regular LCD monitor, let alone on a black & white eInk panel with 16 shades.
So the file is basically trying to compress random noise. That doesn't work out well.
Below is what you get when you use the fill tool (red) in MS Paint on the image.
It leaves holes because the adjacent pixels aren't exactly the same value.
Oh, yes: I remember those goofy portraits.
OK, thank you– I really appreciate your help! I am excited to try this out when I can snag some free time. I will try to post what happened, too.
OK, I was able to pull that partner.apk file to my Mac, and unzip it. The images are there. Awesome!
So, I'm temped to create my own B&W/greyscale pngs, with the same dimensions, and give them the same file names. Then put them in the same locations, rezip (with an apk extension), and push it into place. I know it will have a different file size, etc, but do you think that will be a problem? Normally I'd just try it, but I'm trying to err on the side of caution.
Thanks!
Newtham said:
rezip (with an apk extension), and push it into place.
Click to expand...
Click to collapse
Yes, it should work.
There doesn't seem to be any problem with signatures.
I modified all my images for fun and it didn't break anything.
(Although, I've hacked so much stuff on this that the screensaver never activate. This is not my primary reading device.)
It must have some signature (the originals will do) or it won't be acknowledged as an APK.
Make sure that you keep the original file as a backup.
I'm still new to this, so basic question: what is a signature (in this case) and how do I create or modify it?
Thanks!
Newtham said:
What is a signature...
Click to expand...
Click to collapse
Signatures are the three (or more) files in the META-INF directory in the zip (apk).
If they are there, that's fine.
To learn about apk signing Google it.
@Newtham
Oh! I figured something out. I looked through the code.
If you just want to have one screensaver of your own (which you could manually change).
All you have to do is change some undocumented settings.
File: /data/data/com.nook.partner/shared_prefs/screen_saver_preference.xml
Code:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
[color=red]<boolean name="pref_key_screen_saver_from_sdcard" value="true" />
<string name="pref_key_screen_saver_from_path">/sdcard/sleep.png</string>[/color]
<boolean name="pref_key_screen_saver_low_power" value="false" />
<int name="key_screensaver_img_index" value="8" />
</map>
OK, awesome, thanks!
About a week ago, I tried just modifying the image files, rezipping & renaming to apk, and pushing into place, but I didn't modify the signatures. So now I'm stuck on the boot screen. (I forced it off in the meantime, but since it's e-ink, its still showing the boot screen.)
I can still see it on the command line via adb, but I no longer have write permission so I can't push the original apk back into place. So that's my next task. I haven't had time to play with it since then. It's fun playing with this, I just wish I had more time.
Newtham said:
I no longer have write permission...
Click to expand...
Click to collapse
Well, you did it once, it's just a question of making /system rw:
Code:
# mount -o rw,remount /system
One of the silly things that B&N did was making the "screensaver" and the "wallpaper" the same thing.
I'll have to write some code to make them separate things.
Lol! As I dived into this I realized that I had been all over this ground before.
The stuff I wrote in https://forum.xda-developers.com/showpost.php?p=79994025&postcount=11 about using settings to disable the B&N wallpaper is true but not necessary.
You can disable all that silliness with:
Code:
# pm disable com.nook.partner/.daydream.DayDream
You can set a simple white wallpaper using my Wallpaper.apk app available in the signature
The wallpaper only appears as a background to a launcher (or any app that has no background).
The Glow3 4.7 & Glow4 5.0 both broke the Wallpaper, you need a separate patch for that, see below.
I had previously made a patch to cycle through user supplied PNGs as a lock screen.
That patch is available in the signature as nook45patch.zip
Code:
C:\> adb pull /system/framework/android.policy.jar
C:\> apktool d android.policy.jar -o AP
C:\> mergesmali /v \AP\smali Screen.smali
C:\> apktool b AP -o android.policy.jar
Then replace android.policy.jar and delete/backup/rename/whatever android.policy.odex
Then stuff your PNGs in /data/sleep
Erm, I think this mostly applies to Glow2 4.5
I'll look more closely at Glow3 4.7
glow45patch.zip works fine on the Glow3 4.7 & Glow4 5.0
So, the nook45patch.zip works fine on the Glow3 4.7
I kind of confused myself, strange things happen if you have no images in data/sleep.
I'll look into that too.
The Glow3 & Glow4 have this problem where B&N stole the functionality of wallpaper for sleep screen.
The background on launchers appears black even though the Wallpaper API changes /data/system/users/0/wallpaper correctly.
I should be able to solve this one too.
There was a minor bug in the old patch.
It would barf if you didn't have any user images.
The new glow45patch.zip is in the signature under mergesmali.
The aforementioned glow45patch.zip is a valid patch for Glow3 4.7 too.
There is also the issue of the black Wallpaper on Glow3 4.7 when using a stock Launcher.
Does anybody else have this/notice it/care?
With 4.7 B&N got rid of /system/priv-app/SystemUI.apk and put it all into /system/priv-app/partner.apk
This necessitated a change in the WallpaperManager since it's all a different package.
The actual ImageWallpaper.DrawableEngine.drawFrame() is a bit complicated.
I couldn't (be bothered to) figure out how it was supposed to work and where it was failing.
To my taste, anything other than solid white wallpaper on an eInk device is just distracting.
I wrote a small patch to make drawFrame() just drawColor() instead of scaling and rotating Wallpapers.
Is there any interest in that?
I have been working on this, but I can't get write access via adb anymore. I have tried everything I can think of, including your suggestion above. I can log in to the adb shell and run as root and make changes there. But anytime I try to push anything with adb, it tells me it is read-only. When I run rootnook.sh, it tells me I'm already rooted, but no superSU found (and then roots again, with no different results). adb root doesn't work, either.
The only major thing that's changed recently is that I installed the latest nook update, which I thought would be a good idea before I start hacking. Maybe that messed it up.
I'm stumped (which is not difficult to do...). Any suggestion on how to get back in there?
Thanks!
You probably de-rooted yourself.
Does adb shell give a # prompt?
Does the shell command "id" tell that you are root?
Does the shell command "mount" tell you that /system is rw?
Does the shell command "getprop ro.secure" say 0 (security is off)?
When in doubt, push to sdcard and then copy (cp) to where it should be.
Thanks! Moving it to sdcard did the trick.
I unpacked the apk with apktool, edited the images directly (didn't change the file names), repacked it with apktool, and then (finally, by using the sdcard directory) got it back to the Nook. And then copied it into place. But I still get the same results: the GUI gets stuck on the boot screen.
So, do you think this has to do with signing the apk file? I did a lot of research on it, but mostly what I found was how to sign your own file, not someone else's. Do you have any tips on how I can do this (if that's what's needed)? Thanks!!
(P.S. Thanks for the info on the glow45patch. I haven't had a chance to look at it too closely yet, but it looks interesting. I'd still like to mod the actual pics, though, if I can.)

Categories

Resources