Related
I dont know if this problem is known here,
all (in my opinion froyo builds) have the same android_id
In every build the id is: 9774d56d682e549c
this cause problems with some apps of the market because they use this id to identify the device. for example imobsters ;-)
see this post
forum.xda-developers.com/showpost.php?p=7251507&postcount=1110
sorry for my bad english
I think this causes a problem too with pMessenger, but I'm not sure if the Android ID or the MAC address is being used by pMessenger. However, both of them are identical on all our devices for now.
I think it should be trivial for the devs to fix it, but they are concentrating on fixing more major things now.
i am not sure, but maybe there is a way to change that id:
NOT ugly market fix
No more emulators!
Push this over to your phone, and you'll be able to get a working android ID without any sort of silly fooling around.
To repeat and clarify: You will get a fresh working Android ID, from Google, just like a phone.
From early testing it still appears SOME paid apps may be missing, but this is definitely a better solution than an ID from the 1.6 emulator as I continue to look into the issue. (I think this is actually less an Android ID issue than it is an issue with PDN being a configuration that some apps refuse to support, be it resolution, version 2.0 or whatever)
(I've also found that using your phone's ID on your PDN may "taint" what you can see in the market on your phone. Personally, I'll be moving away from sharing an ID with my phone)
Instructions
1) You'll need to remount system as R/W regardless. so let's start with that:
"adb remount"
2) If you want to start over clean, I'd recommend clearing market cache and killing your existing android ID.
adb shell sqlite3 /data/data/com.google.android.googleapps/databases/gls.db "update meta set intvalue='0' where name='androidId'";
To clear market cache: Settings->Manage Applications->press menu button->choose "Filter"->choose "All"->Scroll down to Market and select it->choose "Clear Cache"
3) Apply this hack
"adb push framework.jar /system/framework/"
4) Since we replaced a main framework, clear dalvik cache just to be safe, and reboot. Yes, the first reboot will take longer since we just cleared the cache.
"adb shell rm -r /data/dalv*"
"adb shell reboot"
5) Go ahead and log into Google Talk and use the Market to ensure all is working.
Feedback welcome!
File:
framework.jar
Click to expand...
Click to collapse
From here
I dont know if that works because its not for the hd2, but someone could try it.
I Mirrored the file in case it gets deleted:
Multimirror (Rapidshare, zshare etc.)
edit: I dont think that could work, i just tried to change to /data/data/com.google.android.googleapps/databases/ and it didnt exist at all ...
News
strazzere.com/blog/?p=217
but where can i find these "/data/data/com.android.providers.settings/databases/settings.db"
is there somebody out there who can say me how can i change my android_id on my HD2?
Seems there is an issue affecting most devices when ro.serialno is not set in build.prop.
ANDROID_ID is generated by running the ro.serialno through a command, if not set then ANDROID_ID is always the same. Some apps on the market, for me it is "Fast Web Installer" from appbrain that is giving me an issue because my ANDROID_ID is currently the magic number = 9774d56d682e549c
Seems some other developers use the Android_ID to identify handsets on the market when apps are installed. There is an app on the Market to view the android_id and if rooted be able to change it.
I'm about to update my build.prop with my device serial number and see if I get a true random ANDROID_ID
I'm currently using Cog 2.2 beta7
Could someone check the build.prop file on a stock ROM? By stock I mean truly stock because I believe the handsets from the factory have this set, but when we flash the JF6 it no longer has the ro.serialno.
Edit: http://code.google.com/p/android/issues/detail?id=10639
looks like adding ro.serialno does not help us since the ROMs we use are not true first boots, the system.db already has the value set so it doesn't generate a new one.
next I will try removing the ANDROID_ID from the system.db and see if that fixes it...
im bookmarking this, it would really be a big help
well i found an app that allows you to change it, but can't find a way to set it to what it should be from factory using serial number.
would be easy to get an app to use same method and just ask for your serialno if not set
turns out cynogen had the same issue since the ro.serialno was not set, they added code recently to generate based on serialno and first boot time so it would have seed data even if serialno was not set.
http://github.com/CyanogenMod/andro...mmit/81ed751a1dcf1e7c722db2cdded38bef4308a1c5
so something in samsungs source may be goofed cause they don't seem be pulling ro.serialno, i set android_id to "" in the database and rebooted, it stayed the same.
I then deleted the entry all together and rebooted and it went back to the magic number.
edit: well checked with getprop and ro.serialno is blank even though I set it in build.prop
I'm done tinkering for tonight, I changed my value manually for now to a randomly generated hex value and my "fast web installer" is working fine now.
Does seem to be an issue though, and not sure the code solution on cyanogen's site is best way either. They are looking at using ro.serial and time to generate random just in case the serial is blank.
If your someone who purchases a lot of apps, then it might be a good idea to make sure your android_id is random and then keep it so you can restore it later if needed. Some app developers use this to identify the end user.
If you go back to 2.1 you can retrieve your original Android ID and manually set it in Froyo
I did a fresh restore to JF6 and it was set to a unique one, then done a restore to a nandroid I had from an old 2.1 install and it was the same ID. So hopefully that one is unique to my device
well i installed the froyo leak on my gf's captivate after i had zero problems after like a week or 2....now she needs an app in the market and calls me complaining about how she cant find it. Whoops, forgot to tell her about that little tid bit!
Any work on at least a temporary fix? I was going to just tell her to sideload the app using sideload wonder machine, but i can't find an .apk for a free app on the market!!
well i installed the froyo leak on my gf's captivate after i had zero problems after like a week or 2....now she needs an app in the market and calls me complaining about how she cant find it.
Click to expand...
Click to collapse
This is normal for pre-release firmware.
1. Root her phone.
2. Edit her /system/build.prop file
3. Find the line that starts with this: ro.build.fingerprint=
4. Make it say this: ro.build.fingerprint=verizon_wwe/inc/inc/inc:2.2/FRF91/231334:user/release-keys
Save, exit, reboot.
The fingerprint line is carrier agnostic. Android Market just looks for known (to Google) fingerprints. If you have a known good one, you get to see all the protected apps that your unknown fingerprint prevented you from seeing.
Joe1981AL said:
well i found an app that allows you to change it, but can't find a way to set it to what it should be from factory using serial number.
would be easy to get an app to use same method and just ask for your serialno if not set
turns out cynogen had the same issue since the ro.serialno was not set, they added code recently to generate based on serialno and first boot time so it would have seed data even if serialno was not set.
Click to expand...
Click to collapse
hi im curious about the name of the app that let you change the android id can you post a link for it or the name of the app ty
Edit: found an app but havent tried it heres the link anyone who rooted the phone with busybox can try this http://adaptiveeng.blogspot.com/2010/10/android-id-changer.html
I am having this same problem. I wanted to use the fast web installer but it wouldn't work as well.
Has anyone figured how to change it so this will work?
jdsemler said:
This is normal for pre-release firmware.
1. Root her phone.
2. Edit her /system/build.prop file
3. Find the line that starts with this: ro.build.fingerprint=
4. Make it say this: ro.build.fingerprint=verizon_wwe/inc/inc/inc:2.2/FRF91/231334:user/release-keys
Save, exit, reboot.
The fingerprint line is carrier agnostic. Android Market just looks for known (to Google) fingerprints. If you have a known good one, you get to see all the protected apps that your unknown fingerprint prevented you from seeing.
Click to expand...
Click to collapse
thats great! thank you for the quick reply! just tried this on my phone and it worked great. I knew it was a common problem but never found a real answer on what to do. It's just too bad she lives 6 hours from me and i'm not sure i feel like writing her a step by step (as in button by button) guide for her to do this. She will live without the app for another week or so haha.
I was hoping that there would be an app on the market that would allow me to put her a random android id like the above guy stated. Anyways...thanks again.
I'm not running Cog2.2b7, but it seems to me you could use this method to generate yourself a unique Android ID using the emulator option under Make a new androidID with the Emulator. Then, using this command to pull the unique ID off the emulated Android device:
adb shell sqlite3 /data/data/com.google.android.googleapps/databases/accounts.db "select * from meta";
Once you have the Android ID, close out the emulator, and put this Android ID into your phone.
Like I said, I'm not running that version of Cognition, but give this a shot.
i am curious as to what the difference is between what i did (modifying the build.prop file as stated a few posts up) and getting my unique android ID and insterting it back into the phone while running froyo? I can see the apps on the market, was that not the issue at hand with the android ID?
The Android ID is a unique identifier for your phone.
The fingerprint is more of a signature to tell the Android Market that you have a known good firmware and what firmware version it is (2.2 in this case). When you have an approved signature, you get to see apps that were promoted to the market with the "Protected" flag enabled. If you do not have an approved signature, it is as if those apps aren't there.
Need clarafication
Hi Im interested in this ID changing process, but have a question about it. Now does this also fix other issues with 2.2 like not being able to log in to certain apps because the ID of your phone has been changed? I have a captivate but I have been reading thru the threads and noticed a lot of devices, well the ones who upgraded to 2.2, are having the same issue. If this does that i thank you very much cuz i have been looking for a fix for a few weeks now.
jdsemler said:
I'm not running Cog2.2b7, but it seems to me you could use this method to generate yourself a unique Android ID using the emulator option under Make a new androidID with the Emulator. Then, using this command to pull the unique ID off the emulated Android device:
adb shell sqlite3 /data/data/com.google.android.googleapps/databases/accounts.db "select * from meta";
Once you have the Android ID, close out the emulator, and put this Android ID into your phone.
Like I said, I'm not running that version of Cognition, but give this a shot.
Click to expand...
Click to collapse
hi how can i change my android ID MAnually seems the link i provided on top doesnt work on me xD
I have been successful with these steps in getting my phone's id corrected (Cog 2.2 Beta6)
adb
su
sqlite3 /dbdata/databases/com.android.providers.settings/settings.db "update secure set value = '[your HEX android id]' where name = 'android_id';"
sqlite3 /dbdata/databases/com.google.android.gsf/gservices.db "update main set value = '[your DEC android id]' where name = 'android_id';"
reboot
I got my old id by doing a text search with notepad++ on a backup made with rom manager.
jfl0wers said:
I have been successful with these steps in getting my phone's id corrected (Cog 2.2 Beta6)
adb
su
sqlite3 /dbdata/databases/com.android.providers.settings/settings.db "update secure set value = '[your HEX android id]' where name = 'android_id';"
sqlite3 /dbdata/databases/com.google.android.gsf/gservices.db "update main set value = '[your DEC android id]' where name = 'android_id';"
reboot
I got my old id by doing a text search with notepad++ on a backup made with rom manager.
Click to expand...
Click to collapse
I did play around with sqlite3 as well, I didn't search through my old backup though I just put JF6 back with Odin, one click root, and downloaded "Android ID" from the market, wrote down the ID, and then flashed to cog 2.2 beta7 and restored.. Of course then setting my ID with app..
I know I went the long way, but it worked
Hi everyone.
First, I'm a noob on all this flashing Roms thing, so I'm a bit overwhelmed here. So please feel free to correct me if I'm saying the biggest mistake of all times.
I was setting up a Samsung Galaxy Tab 4 10.1 (SM-T530) for one of my colleagues, and was using Samsung's Device Configuration Tool (DCT) to set up most preferences.
I've played around some settings, and removed access to the "Settings" area, but I mistakenly thought that I still could adjust the profile afterwards, via DCT!
Unfortunately, it seems I've removed access to the Network "stack", so my device is isolated from the world.
When you remove access to "Settings", Samsung's tools immediately disables access to USB, Wifi, Bluetooth, SD card and other ways of connecting.
The device works, but cannot access anything, not even the machine that inserted the Security Policy.
I've tried to wipe data / factory reset on boot, but it says: MDM does not allow factoryReset
So my questions are:
- what should I do next?
- are there ways of bypassing security, to restore access and inject a new profile?
- should I flash a new ROM? (couldn't find a Stock version of it so far).
Thanks in advance to any kind soul that may spend his precious time helping this stupid f*ckup.
Also found this other guy that had the same problem as me, but the thread doesn't reflect the solution.
http://forum.xda-developers.com/galaxy-tab-3/help/reset-t2880721#post61484468
urbgimtam said:
Also found this other guy that had the same problem as me, but the thread doesn't reflect the solution.
http://forum.xda-developers.com/galaxy-tab-3/help/reset-t2880721#post61484468
Click to expand...
Click to collapse
U,
hi, after some attempts at starting settings or anything else from a terminal command line, for example
am start -a android.intent.action.MAIN -n com.android.settings/com.android.settings
Note- the above command still fails when;
am start --user 0 -a android.intent.action.MAIN -n com.android.settings/com.android.settings
not the correct "program", com.android.settings does not exist, but i just wanted to see about the permission issue , so when;
am start --user -2 -a android.intent.action.MAIN -n com.android.settings/com.android.settings
still denied.
i am learning you cannot do so as user, at least this way. You need to be rooted.
You are likely going to need to reflash firmware completely.
Alternately, flash a custom recovery so you can get adb access as root from terminal and try a surgical strike by that route
to undo what you did, after some research of course to figure out what changes you need to undo.
if you get that "fixed" then likely you can overwrite the custom recovery with a stock recovery from an sm-t530 device
If you know anyone who can get the above command corrected and working then that might be the way?
moonbutt74 said:
U,
hi, after some attempts at starting settings or anything else from a terminal command line, for example
am start -a android.intent.action.MAIN -n com.android.settings/com.android.settings
Note- the above command still fails when;
am start --user 0 -a android.intent.action.MAIN -n com.android.settings/com.android.settings
not the correct "program", com.android.settings does not exist, but i just wanted to see about the permission issue , so when;
am start --user -2 -a android.intent.action.MAIN -n com.android.settings/com.android.settings
still denied.
i am learning you cannot do so as user, at least this way. You need to be rooted.
You are likely going to need to reflash firmware completely.
Alternately, flash a custom recovery so you can get adb access as root from terminal and try a surgical strike by that route
to undo what you did, after some research of course to figure out what changes you need to undo.
if you get that "fixed" then likely you can overwrite the custom recovery with a stock recovery from an sm-t530 device
If you know anyone who can get the above command corrected and working then that might be the way?
Click to expand...
Click to collapse
Hi moonbutt74, and thanks for helping.
Just finished trying to flash an official ROM, which downloaded and installed successfully, but the problem still maintains...
I'm learning as I go, here, so I may be saying something wrong.
Shouldn't I just need to wipe the data? After all, this may just be a permissions problem, right?
When I flashed the ROM (using ODIN 3.09), it has options to "re-partition" and "Nand Erase All". Should I try one of these?
Also, when choosing the "apply update from adb", it says: "Now send the package you want to apply to the device with 'adb sideload <filename>'.
I've done the following:
"adb devices" to start adb-server and list the device (successful)
"adb sideload [pathtofile]" (successfull) - file is uploaded.
Device then says "E: footer is wrong" and "E: signature verification failed".
So no go.
Also, I just realized I don't have access to adb, as it says "error: closed" if you do any operation except "adb sideload".
So now, to root, what must I do? Flash a rooted ROM?
I do have other identical devices - is there a way to take an image from one of them and upload to the "bad" one?
Kind regards again, thanks for helping out.
Hi,
DO NOT play with Odin, no repartition or anything similar,
At this point you need to flash a custom recovery and root the tab, and/or find out what this samsung tool did and where,
Rule Number 1- never take on a job like that for someone else
So if the tab owner gives the go ahead, flash a custom recovery and root
Then;
first while in regular operation, plug tab into pc and try this in terminal ON TAB,
you must su first, su -c does not do it
su
echo 1 > /data/property/persist.service.adb.enable
now if you get the device pickup notification on pc, get terminal on pc open and run
adb shell
if that goes through run
mount
if all partitions are mounted then you should be good to go as far as access.
From there you will need to find out where this configuration software set and wrote what it did and undo it or correct it.
Try one of these recoveries https://www.androidfilehost.com/?w=files&flid=23537
for sm-t530nu recovery build rename from
sm-t530nu-Philz-6_58_9-final-recovery.tar.md5
to
sm-t530nu-Philz-6_58_9-final-recovery.tar
When you flash the recovery UNCHECK auto restart function in Odin, when flash is complete [res-ok]
unplug tab and manually reboot to RECOVERY --- Home Vol+ Power
if you don't the rom wil rewrite stock recovery and you will have to do it again
m
Hi
Does anyone know why my phone freeze every time when I write in terminal
Code:
setenforce 0
?
About 10 sends after freeze, it reboot. I am trying to solve/debug app that says "SE Linux Enforcement needs to be set 'Permissive".
I try to follow this idea:
https://forum.xda-developers.com/s7-edge/help/to-set-selinux-to-permissive-galaxy-s7-t3361964
but first I wanted to try it out by just typing it to terminal.
I tried to follow that tutorial anyway, but nothing happened. When I write getenforce, it still says enforcing.
sysctl said:
Hi
Does anyone know why my phone freeze every time when I write in terminal
?
About 10 sends after freeze, it reboot. I am trying to solve/debug app that says "SE Linux Enforcement needs to be set 'Permissive".
I try to follow this idea:
https://forum.xda-developers.com/s7-edge/help/to-set-selinux-to-permissive-galaxy-s7-t3361964
but first I wanted to try it out by just typing it to terminal.
I tried to follow that tutorial anyway, but nothing happened. When I write getenforce, it still says enforcing.
Click to expand...
Click to collapse
are you rooted?
I dint think it works on stock kernels... only the dev one.
Code:
su setenforce 0
works for mw
Yes, you were correct. it doesnt work on stock kernel. I installed TGP kernel and there it was already permissive. It also made my linux depoloy work which at first crashed my phone.
Hello everyone,
Could you show me how to access my Nook Glowlight 3 without registration ?
Current firmware: 50.0.117
Thank you!
Well, I usually bypass the registration by popping the thing open, hooking up a 3.3V UART interface and getting a root console.
I've never really looked into if there were secret hand signals to bypass the registration.
So I looked at the disassembled code to see what was there.
All the OOBE (Out-of-box-experience) stuff is in /system/priv-app/bnereader.apk
The welcome screen is com.nook.app.oobe.o.WelcomeIntroActivity
This calls com.nook.viewutils.KeyHeldHelper to see if a particular button is held down
and also com.nook.viewutils.MultiClickListener to see if you tap three times.
I held the button and tapped three times and I got com.nook.app.util.DiagnosticActivity (as in the screen grab).
(You can also get here if you had a shell with)
Code:
# am start -n bn.ereader/com.nook.app.util.DiagnosticActivity
The problem? The key you have to hold down while tapping is the volume up key.
What? You don't have a volume up key?
The way I held down the volume key was with a USB keyboard, but that can only be done when you're rooted.
You could also pipe raw events to the input system if you were rooted.
I'm certainly interested in someone contradicting me, but this seems like a dead end.
Ok, I'm going to contradict myself.
As I said, the Welcome Intro screen needs the volume up key and a triple tap.
There is also the com.nook.app.oobe.RegisterUserLogin screen
This can be bypassed by holding the Lower Left and the Upper Right and giving a triple tap.
Obviously, this would only work on the Glow3 which has buttons.
Unfortunately, the Glow2 has the exact same code.
I can't seem to get this one to work on an (already rooted) Glow3.
If you have a Glow3 try the LL/UR/triple tap.
Yes, this should work on the Glow3 if you are at a page with email/password/etc.
I can't get there because I'm intercepted by the WiFi page.
It's not working
Hello
I have Nook Glowlight 3, I tried the LL/UR/triple tap many times on login screen. but it don't work
Thank you!
Renate NST said:
Ok, I'm going to contradict myself.
As I said, the Welcome Intro screen needs the volume up key and a triple tap.
There is also the com.nook.app.oobe.RegisterUserLogin screen
This can be bypassed by holding the Lower Left and the Upper Right and giving a triple tap.
Obviously, this would only work on the Glow3 which has buttons.
Unfortunately, the Glow2 has the exact same code.
I can't seem to get this one to work on an (already rooted) Glow3.
If you have a Glow3 try the LL/UR/triple tap.
Yes, this should work on the Glow3 if you are at a page with email/password/etc.
I can't get there because I'm intercepted by the WiFi page.
Click to expand...
Click to collapse
dnt83 said:
I tried the LL/UR/triple tap many times on login screen. but it don't work
Click to expand...
Click to collapse
You know, there are more secret touches and broken code all over.
I found another one, but I can't seem to get this to work either.
It's on this screen. There are four touch spots.
The bottom two when pressed and held should show a version number at the top center of the screen.
The top two, in some pattern (that I'm still looking at) should respond with the Easter Egg which gets you to the Diagnostic.
I'm working on it, but you can try too.
Ok, the top two spots, tap: L-R-L-R-L-R-L-R-L-R and you'll get to the Easter Egg.
Renate NST said:
You know, there are more secret touches and broken code all over.
I found another one, but I can't seem to get this to work either.
It's on this screen. There are four touch spots.
The bottom two when pressed and held should show a version number at the top center of the screen.
The top two, in some pattern (that I'm still looking at) should respond with the Easter Egg which gets you to the Diagnostic.
I'm working on it, but you can try too.
Click to expand...
Click to collapse
Thank you very much for your support
The bottom two it showed version.
I tried the top two it no work
dnt83 said:
I tried the top two it no work
Click to expand...
Click to collapse
Ok, the top two spots, tap: L-R-L-R-L-R-L-R-L-R and you'll get to the Easter Egg.
Renate NST said:
Ok, the top two spots, tap: L-R-L-R-L-R-L-R-L-R and you'll get to the Easter Egg.
Click to expand...
Click to collapse
Yes, it worked
Thank you very much!
Renate NST said:
Ok, the top two spots, tap: L-R-L-R-L-R-L-R-L-R and you'll get to the Easter Egg.
Click to expand...
Click to collapse
Hello
Could you show me next step to root it?
Thank you!
Renate NST said:
Ok, the top two spots, tap: L-R-L-R-L-R-L-R-L-R and you'll get to the Easter Egg.
Click to expand...
Click to collapse
Hello
I rooted and can work in adb shell, could you show me how to skip oobe?
Thank you!
dnt83 said:
how to skip oobe?
Click to expand...
Click to collapse
You need to install a launcher so that you have something "Home" to run.
Also:
Code:
# pm disable com.nook.partner/.oobe.WelcomeScreenActivity
Renate NST said:
You need to install a launcher so that you have something "Home" to run.
Also:
Code:
# pm disable com.nook.partner/.oobe.WelcomeScreenActivity
Click to expand...
Click to collapse
Yes, Thank you
I already installed custom firmware
Thank you very much for your support!
And if anybody is wondering, this works on all 5.0 Nooks, Glow2, Glow3, Glow4
Hi, I just picked up a new Nook Glowlight Plus (the 2019 7.8" model) and am trying to get started using it without the compulsory registration. My understanding from the start of this thread is that I should be able to root it, install an alternate launcher, disable the oobe.WelcomeScreenActivity, and I'm off to the races.
I have gotten as far being able to see the device with adb and connect to it, but I can't root it. adb seems to be working as normal (e.g., I can "adb shell" in as I would expect) but any attempts to push files with "adb push" fail. After attempting adb push, the device disconnects from adb and can no longer be seen until I physically unplug and re-plug it. Interestingly, adb push of a directory _does_ create the directory structure on the Nook -- just not any of the actual files...
Any help debugging this is appreciated...
A log of what I'm seeing is here:
https pastebin.com / ti4qB6Xr
(Sorry, I can't post direct links yet, and didn't want to spam the thread with a wall of text...)
Thanks!
---------- Post added at 02:58 AM ---------- Previous post was at 02:52 AM ----------
I should also mention that if I start to go through the on-device Welcome screen (choose timezone, choose wifi network and enter password), before actually getting to the login screen, I'm prompted to allow it to download a firmware update. I did not allow the update, in case a) the update changes something that would make rooting or installing a new launcher more difficult, and b) I don't want to miss the opportunity to note the download link and fetch an extra copy of the update in case it's useful later.
But if the download link is already known to the community, and if the update is unlikely to change anything that rooting/launchers depend on, I would also try letting it download, and then going to the login screen and trying the lower-left+upper-right+triple-tap bypass mentioned earlier in the thread.
Please let me know if I should try this.
Thanks.
So "adb push" is still not working, but I was able to root the device with shell chicanery. I tarred/gzipped the exploit payload, base64 encoded it, and used a shell loop to transfer it a line at a time:
Code:
c=1
cat nookrooter.tgz | base64 -e | while read line
do
echo "$c" >&2 ; c=$(expr $c + 1)
echo "$line" | adb shell 'busybox head -1 | busybox tee -a /data/local/tmp/nookrooter.tgz.b64 > /dev/null'
done
At ~64k base64-encoded lines, it took a bit over an hour to transfer. After base64-decoding, checking the md5 on both sides, and untarring in the right spot, it rooted just fine:
Code:
frappe/home/chris/nook/root-glp/rootGLP-3-13998# adb shell id -u
uid=0(root) gid=0(root)
That said, I'd still love to get some guidance on this device from folks who are familiar with it. Any idea why adb push might consistently fail? Is my basic understanding of how this whole process works is correct? Does it matters if I allow the device to complete the OTA firmware update before going farther?
My intent for the device is to use it as a standalone e-reader. I don't want to ever connect it to a network, nor to run any apps on it other than an e-reader. Public domain e-book content will be converted to EPUB (or, occassionally, CBZ or PDF) with Calibre (specifically the ebook-convert CLI) and copied via USB. I don't need to use "shelves" or whatever the Nook paradigm is for organization, nor will I "manage" the device with Calibre; "management" as such will be strictly copying individual files into a flat directory structure from the shell. I'm not too fussy about fonts, and don't need (or want) much more than the ability to click on a book and page-up/page-down through its contents.
I'm an experienced C/Unix developer, but have never used Android before.
Any help and pointers are much appreciated.
Thanks!
CrisCraigMorgan said:
But if the download link is already known to the community...
Click to expand...
Click to collapse
Yes, the manifest of the updates is discussed here: https://forum.xda-developers.com/nook-touch/general/software-updates-wifi-t4136097
CrisCraigMorgan said:
So "adb push" is still not working...
Click to expand...
Click to collapse
Strange. Why didn't you try adb install on the apk?
Maybe the adb on your host is broken. Try this.
adb push something
Did it fail?
adb devices, is it "gone"?
lsusb, really?
adb kill-server
adb devices, is it "back"?
Renate NST said:
Yes, the manifest of the updates is discussed here: https://forum.xda-developers.com/nook-touch/general/software-updates-wifi-t4136097
Click to expand...
Click to collapse
Thanks!
Renate NST said:
Strange. Why didn't you try adb install on the apk?
Click to expand...
Click to collapse
I'll try installing some apk that way. But in the case of the root payload, there are other files in addition to the one APK.
Renate NST said:
Maybe the adb on your host is broken. Try this.
adb push something
Did it fail?
Click to expand...
Click to collapse
Yup, I tried experimenting with other files, smaller files, individual files rather than directories -- all files failed (though, as noted, directories were created in the case of trying to push a local source directory).
Renate NST said:
adb devices, is it "gone"?
lsusb, really?
adb kill-server
adb devices, is it "back"?
Click to expand...
Click to collapse
I can run some more experiments later. The pastebin log above shows what I saw: immediately after any attempt to use "adb push", "adb devices" showed no devices. I didn't check usbconfig (FreeBSD here, not Linux, but that shouldn't matter), but there were no kernel messages about the device detaching (until I physically pulled the USB cable), so I suspect that the device would still have shown as attached.
Thanks!
So having rooted my Nook, I went ahead and installed the l2.apk launcher posted here https://forum.xda-developers.com/nook-touch/general/normal-launcher-nook-t3966911; disabled com.nook.partner/.oobe.WelcomeScreenActivity; renamed the bootanimation file; and rebooted.
When the device rebooted, it just displayed a message that said, "Unfortunately, com.nook.partner has stopped" and nothing else. Re-enabling com.nook.partner/.oobe.WelcomeScreenActivity restored it to its original boot-up behaviour.
So I think I must be missing something basic about the boot process, or rooting generally.
Should it be sufficient to just have another launcher installed? Do I have to do something particular to invoke it during the boot process?
Should I install TWRP? Alternate firmware, as described here: https://forum.xda-developers.com/nook-touch/general/gp-g3-gp7-8-twrp-alternative-firmware-t4074347 ?
Another question I have is about keeping root access across reboots. I can unpack the exploit in rootGLP-3.zip (from https://forum.xda-developers.com/nook-touch/general/how-to-root-set-nook-glowlight-3-t3802331) and run it to gain root; but when I reboot the device, I lose root again until I re-run the exploit. I tried setting /system/bin/busybox suid root, but then "busybox su" returns "unknown user root" -- I'm guessing because it's calling getpwuid(), but there's no /etc/passwd so the call fails. Could I just create /etc/passwd to define root? I also tried copying the "su" binary in the exploit dir into /system/chris/bin/ and setting it suid root, but this also fails (with no output). I could just write the three-line version of su that calls
Code:
setuid(0); exec("/system/bin/sh")
, but I have no idea how to compile code for this thing. Anything I'm missing here?
Thanks.
I played around a bit more with adb push. Still consistently failing, but restarting the local adb server does at least re-establish connectivity without unplugging/re-plugging the device. Definitely sounds like a problem with my local adb install rather than the device. Considering that I have a(n admittedly super-janky) method to transfer files, I don't feel a strong need to debug it right now.
Code:
frappe/home/chris/nook-13599# usbconfig | grep 1.6
ugen1.6: <BarnesAndNoble BNRV700> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
frappe/home/chris/nook-13600# adb devices -l
List of devices attached
MY_SERIAL_NUMBER device usb:1:6 transport_id:19
frappe/home/chris/nook-13601# adb push ReLaunchX_2.1.5-app-debug.apk /data/local/tmp/
adb: error: failed to copy 'ReLaunchX_2.1.5-app-debug.apk' to '/data/local/tmp/ReLaunchX_2.1.5-app-debug.apk': couldn't read from device
ReLaunchX_2.1.5-app-debug.apk: 0 files...ped. 7.6 MB/s (131056 bytes in 0.016s)
frappe/home/chris/nook-13602# usbconfig | grep 1.6
ugen1.6: <BarnesAndNoble BNRV700> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
frappe/home/chris/nook-13603# adb devices -l
List of devices attached
frappe/home/chris/nook-13604# adb kill-server
frappe/home/chris/nook-13605# adb devices -l
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
MY_SERIAL_NUMBER device usb:1:6 transport_id:1
frappe/home/chris/nook-13606# adb shell
[email protected]_6sl:/ # id
uid=0(root) gid=0(root)
[email protected]_6sl:/ # ^D
CrisCraigMorgan said:
Anything I'm missing here?
Click to expand...
Click to collapse
There's all sorts of "rooting" stuff here, but I just prefer a simple replacement of adbd in the ramdisk with one that doesn't switch to user "shell".
I don't want/need/like the chainfire stuff hanging around.
Sorry, I've lost track of where everything here is as I've never used any exploit method.
As for your launcher stuff, did you check logcat to see if there is any obvious reason why partner.apk is dying?
Code:
adb logcat
Have you tried:
Code:
adb shell am start -n com.android.launcher/com.android.launcher2.Launcher
Was the Launcher even installed correctly?
Code:
adb shell pm list packages -f launcher