Related
hey guys, still new to the Android game. Had a friend at work root it for me. I got rid of all the ATT junk but still can't side load. Does anyone have any ideas on how to overcome that issue.
go to general, read wiki
shuratilt said:
hey guys, still new to the Android game. Had a friend at work root it for me. I got rid of all the ATT junk but still can't side load. Does anyone have any ideas on how to overcome that issue.
Click to expand...
Click to collapse
Specifics would be helpful but my guess is that all the issues you are having have already been mentioned in other threads.
Checkout the wiki in the general section, and the other Non-Market Apps threads in this section.
Read non market apps solved this will fix your issue.
Sent from my Samsung Captivate using Tapatalk Pro
actually, read the SECOND thread on the issue. It's not 16+ pages to read.
http://forum.xda-developers.com/showthread.php?t=738376
If you don't mind using your PC to sideload, do a Google search for "Sideload Wonder Machine."
It's the easiest way to do it and you don't even have to be rooted.
Double-post / Please disregard...
Everyone is telling you what to read but not why.
You still need to enable the ability to install non-market apps. You can read the above posts on how to do it!
max_warheads said:
actually, read the SECOND thread on the issue. It's not 16+ pages to read.
http://forum.xda-developers.com/showthread.php?t=738376
Click to expand...
Click to collapse
I agree you post is a lot more organized and detail. Going to stick your thread and replace the other one.
I rooted my Captivate and then followed a guide that I located via Google. Since I am a "noobie", I am not allowed to post the link due to anti-spam rules... So, here is how to locate the link:
1) go to Google, enter the keywords "sideload at&t captivate" without the quote marks.
2) when the search results appear, look down the page for one titled "How to Enable Sideloading of Apps on Captivate" on androidforums dot com. For me it was about the eighth result down on first page.
3) when you go to the link, you might wind up on the second or third page of comments, so click back to the first page to locate the solution...
The "big idea" behind the solution is that there is a SQLlite database containing settings which the Android OS uses to determine, among other things, if sideloading of apps is allowed. AT&T, being the kind-hearted benevolent protectors of us children to keep us from harming ourselves, has shipped their Android phones with this setting toggled to prevent sideloading. The guide above describes how to copy the database to your computer, toggle the setting "on" to allow sideloading and copy the modified settings database back to your phone.
Or at a bit more granular level, the guide describes how to:
1) at the location "/dbdata/databases/com.android.providers.settings/settings.db" on the phone is a SQLite database containing configuration settings for the android OS
2) you are copying that database to first your SD card and from there to your computer
3) on you computer you are using a tool to modify a particular setting within the database, the setting which AT&T toggles off to prevent sideloading. NOTE: The tool utilized by the guide is the Firefox browser with an add-on plugin which allows viewing / modification of SQLite databases, any tool that gives you access to view/modify a SQLite database will work fine.
4) finally, you copy the modified database back to the SD card on the phone and from there back to its "real" location where the Android OS will read it.
5) When you reboot the phone, Android reads in the modified setting and sideloading should "just work"
This is my first post, hope it is helpful...
BTW, I am a user of Linux, these days mostly Ubuntu and its derivatives. I was able to perform the entire rooting and enable sideloading operation from my Linux machine without having to use Windows!! Yippeeeee!!!
I need all your help on testing and finding a solid solution to get boot animations working for 100% of users and situations.
Desired behaviour:
1. Sprint files only -- shows Sprint animation.
2. bootanimation.zip only -- shows custom boot.
3. Both sets of files -- bootanimation.zip overrides Sprint.
Undesired behaviour: (i.e. things I've tried that have failed, or are ugly)
1. Sprint animation has fallback android animation overlay, blinking ANDROID over the Sprint stuff. UGLY!
2. Situations 1 and 2 work normally, but if both sets of files are present, both animations display.
3. Disabling sprint animation completely. This is not good, we want something to work for every user.
4. Custom boot animations that loop until boot completes don't stop when boot completes. This is very bad.
We need to thinktank some code to get this working right, so we can implement it easily in each kernel we produce.
So it is ro=read only, heh.
Ah, I love it! You weren't lying when you said elegant
DevinXtreme said:
Ah, I love it! You weren't lying when you said elegant
Click to expand...
Click to collapse
I do need you and others to test and improve upon it.
It doesn't act quite as expected, but even at this point it's far better than other alternatives.
tehdarkknight said:
I do need you and others to test and improve upon it.
It doesn't act quite as expected, but even at this point it's far better than other alternatives.
Click to expand...
Click to collapse
Blah. Gone over several scenarios and they all end exactly where we are. I'm not so hot with scripting, but the pseudo should translate the same.
What about nesting if-thens? Don't assume anything (rw.kernel.android.customboot shouldn't be set until going through the if-thens). Create the parent if-then that checks for the Sammy/Sprint files. If it finds them, set rw.kernel.android.customboot to false, then write the nested statement to check for the custom boot files. If they are there, set rw.kernel.android.customboot to true. Then, to the parent statement, write an else that just sets rw.kernel.android.customboot to true. This should solve the problem. So:
Code:
if(Sprint/Sammy Files exist){
rw.kernel.android.customboot = 0
if(Custom Files also exist)
rw.kernel.android.customboot = 1
}
else
rw.kernel.android.customboot = 1
I got it working a little better.
init.rc:
Code:
on property:rw.kernel.android.customboot=1
start bootanimcustom
on property:rw.kernel.android.stockboot=1
start playlogos1
service playlogos1 /system/bin/playlogos1
user root
oneshot
disabled
service bootanimcustom /system/bin/bootanimation
user graphics
group graphics
disabled
oneshot
customboot.sh
Code:
#!/system/bin/sh
if [ -f "/data/local/bootanimation.zip" -o -f "/system/media/bootanimation.zip" ]; then
setprop rw.kernel.android.customboot 1
else
setprop rw.kernel.android.stockboot 1
fi
I do, however, have a problem. The boot animation never ends. The system starts up and the UI is loaded, but the boot animation takes over the screen and never seems to die. Using adb shell I was able to see the process and kill it, which restored the screen to the OS. Any ideas on how to stop it automatically?
ttabbal said:
I got it working a little better.
init.rc:
Code:
on property:rw.kernel.android.customboot=1
start bootanimcustom
on property:rw.kernel.android.stockboot=1
start playlogos1
service playlogos1 /system/bin/playlogos1
user root
oneshot
disabled
service bootanimcustom /system/bin/bootanimation
user graphics
group graphics
disabled
oneshot
customboot.sh
Code:
#!/system/bin/sh
if [ -f "/data/local/bootanimation.zip" -o -f "/system/media/bootanimation.zip" ]; then
setprop rw.kernel.android.customboot 1
else
setprop rw.kernel.android.stockboot 1
fi
I do, however, have a problem. The boot animation never ends. The system starts up and the UI is loaded, but the boot animation takes over the screen and never seems to die. Using adb shell I was able to see the process and kill it, which restored the screen to the OS. Any ideas on how to stop it automatically?
Click to expand...
Click to collapse
Are you using stock animations or a custom one?
Also, won't this run into the same problem? If both conditionals end up true, you've got it trying to run both.
DevinXtreme said:
Are you using stock animations or a custom one?
Also, won't this run into the same problem? If both conditionals end up true, you've got it trying to run both.
Click to expand...
Click to collapse
I tried the sketch android. I also noticed that the bootanimation2nd loads up an "Android" text that doesn't take over as much of the screen.
The conditionals can't both end up true, only one can ever be set in the shell script. If I delete the bootanimation.zip, I get the standard "Galaxy S" animation via playlogos. If I have a bootanimation.zip, that's what displays. It just never goes away.
ttabbal said:
The conditionals can't both end up true, only one can ever be set in the shell script. If I delete the bootanimation.zip, I get the standard "Galaxy S" animation via playlogos. If I have a bootanimation.zip, that's what displays. It just never goes away.
Click to expand...
Click to collapse
Blah. That's what I get for not paying attention. I read the if-then-else totally wrong... I'm in class right now, doing Java programming... they meshed.
That's weird feedback, though. Eff Sammy making this harder than it needs to be.
Is it possible to nest with these shell scripts?
DevinXtreme said:
Blah. That's what I get for not paying attention. I read the if-then-else totally wrong... I'm in class right now, doing Java programming... they meshed.
That's weird feedback, though. Eff Sammy making this harder than it needs to be.
Is it possible to nest with these shell scripts?
Click to expand...
Click to collapse
Nest? You mean like a nested-if-then-else?
if [ test ] then
if [ test2 ] then
fi
fi
That's the basic structure for shell scripts if-nesting if I'm understanding you right.
ttabbal said:
Nest? You mean like a nested-if-then-else?
if [ test ] then
if [ test2 ] then
fi
fi
That's the basic structure for shell scripts if-nesting if I'm understanding you right.
Click to expand...
Click to collapse
Exactly. I've never actually worked with shell scripting before, so while I get the function, I just don't know enough to write my own. Syntax is weird like that. I don't see why it would loop.
DevinXtreme said:
Exactly. I've never actually worked with shell scripting before, so while I get the function, I just don't know enough to write my own. Syntax is weird like that. I don't see why it would loop.
Click to expand...
Click to collapse
Yeah, it's like the bootanimation process is waiting for a trigger to tell it to stop. I suspect that the samsung Android doesn't do this, as they don't use that program. I just don't know what it is that it needs to do. If I can figure that out, I can likely write something to trigger it.
thought the epic doesnt like if [insert command here] statements?
shabbypenguin said:
thought the epic doesnt like if [insert command here] statements?
Click to expand...
Click to collapse
Depends on the shell interpreter I would think. I'm on a Vibrant though, so perhaps there are differences.
shabbypenguin said:
thought the epic doesnt like if [insert command here] statements?
Click to expand...
Click to collapse
My initramfs installs busybox
ttabbal said:
I got it working a little better.
<snip>
I do, however, have a problem. The boot animation never ends. The system starts up and the UI is loaded, but the boot animation takes over the screen and never seems to die. Using adb shell I was able to see the process and kill it, which restored the screen to the OS. Any ideas on how to stop it automatically?
Click to expand...
Click to collapse
I have two things to note about your code. The first is that we should only use one prop, it's just good coding practice and prevents unintended behaviour. The second is that the reason playlogos1 loops is because the service needs to be oneshot, if you start it normally, it loops. But it would appear that you can't oneshot a service inside an 'on' statement in init.rc.
I think our solution lies here: http://www.kandroid.org/android_pdk/bring_up.html
The problem was my bad syntax in init.rc. I think I have it fixed, i'll compile tomorrow morning.
doesnt install it all the way, still had to link some things in order for me to debug the battery tweak
That's a good question. The initramfs runs /system/bin/busybox --install, but I've never checked the linkage. I'll be pushing my initramfs to github soon.
if tahts the case i may start over with the project and just use your kernel as a base install, kinda like what collin did for cm6
update:
finished check sig
Necro'ing this thread. Check OP for new information, and let's get this ***** solved!
So, looks like we have Carrier IQ on our phones, thanks to AT&T. Any luck on getting a 3rd party ROM on here yet? Any estimates as to when?
Can you give us more information? like how you found it on the phone, what steps did you take?
With more info, those of us in the know can figure out how to disable it, or remove it, without having to resort to waiting for a rom.
I have been looking for it for quite some time without much luck.
It's the device health app.it calls the ciq agent . Easily frozen.
Sent from my MB865
mtnlion said:
It's the device health app.it calls the ciq agent . Easily frozen.
Sent from my MB865
Click to expand...
Click to collapse
Thanks, I will see what else I can come up with for the ciq agent, maybe a way I can fake it out on the *NIX side of the house.
Yep first thing I went looking for after I got root.
Bloat freezer. It's free, finds it fast. When you freeze device health it doesn't want to close and keeps force closing, just reboot, it will be frozen and not running.
Douchewithaphone said:
Bloat freezer. It's free, finds it fast. When you freeze device health it doesn't want to close and keeps force closing, just reboot, it will be frozen and not running.
Click to expand...
Click to collapse
Must be rooted.
Sent from my mAtrix2!!
Well, I have found a way from the UNIX end to stop this thing in it's tracks, but it is not pretty for those unfamiliar with command line....
What we have to do is uncompress the kernel image in the boot.img remove the sys.DeviceHealth from the init.rc file there, then compress the kernel back up, all using cpio.... now to see if I can possibly make it work, and not brick any phones in the process, maybe I can throw a quick apk together next week.
I have tried the bloat freezer and the android assistant and I can still find the sys.DeviceHealth running on the UNIX side with the ps command, so this is a nasty one.
I will keep you guys posted, If I can find a better way.
Here is the link I saw, and how I figured out where sys.DeviceHealth is starting from.
For those interested ONLY. PLEASE do not try this yet, give me some more time to play with this in an emulator and see what I can come up with.
I am just sharing information at this time. BTW Zygote is the process that is calling the sys.DeviceHealth on the Atrix 2.
To see this Do the following from the terminal emulator app on your phone or though adb shell.
ps | grep -i Heal
ps | grep -i zygote
If you notice on the sys.DeviceHealth process that the second number is the same number as the first number of the zygote process.... What that means is that the zygote process starts the sys.DeviceHealth process. The first number is process ID (the processes "adress" so to speak), and the second number is the Parent process ID (The process that started the next one).
http://vinnysoft.blogspot.com/2009/12/zygote-system-process.html
jimbridgman said:
Here is the link I saw, and how I figured out where sys.DeviceHealth is starting from.
For those interested ONLY. PLEASE do not try this yet, give me some more time to play with this in an emulator and see what I can come up with.
I am just sharing information at this time. BTW Zygote is the process that is calling the sys.DeviceHealth on the Atrix 2.
To see this Do the following from the terminal emulator app on your phone or though adb shell.
ps | grep -i Heal
ps | grep -i zygote
If you notice on the sys.DeviceHealth process that the second number is the same number as the first number of the zygote process.... What that means is that the zygote process starts the sys.DeviceHealth process. The first number is process ID (the processes "adress" so to speak), and the second number is the Parent process ID (The process that started the next one).
http://vinnysoft.blogspot.com/2009/12/zygote-system-process.html
Click to expand...
Click to collapse
zygote appears to be a process respawner (watchdog) of some type. The trick is to find out where its config lies and tweak that to prevent the launching of sys.DeviceHealth.
I've just got the busybox installed that came with TiBackup and the shell tools are sorely limited (no grep for eg.). The shell itself is also pretty limited (no pipe??? WTF?). I had a version of bash on my atrix4g, and I'm wondering if you know of a reliable source for bash and shell tools for the atrix2?
A lil info on what AT&T says and how it uses Carrier IQ and some of the devices it is on can be read here http://m.androidcentral.com/atts-us...its-own-analytics-app-not-just-embedded-phone
razholio said:
zygote appears to be a process respawner (watchdog) of some type. The trick is to find out where its config lies and tweak that to prevent the launching of sys.DeviceHealth.
I've just got the busybox installed that came with TiBackup and the shell tools are sorely limited (no grep for eg.). The shell itself is also pretty limited (no pipe??? WTF?). I had a version of bash on my atrix4g, and I'm wondering if you know of a reliable source for bash and shell tools for the atrix2?
Click to expand...
Click to collapse
Yes that is exactly what zygote is. You would disable the sys.DeviceHealth in the EXACT way it says in the in link I posted, but you have to uncompress the kernel image, and extract the init.rc in there, then edit it to not include the sys.DeviceHealth, then re-compress it with cpio. This is just for information right now, so that later on when the ROM developers get started, they can use this info for their ROMs. I am testing this using a couple Android emulators to see what I can do with this.
As for a reliable busybox, I like the version from JRummy16 in the market, go grab that an install the latest version of busybox from his installer you downloaded (I think it is 1.19.3 or something similar).
also go get the hackers keyboard in the market, it helps a lot if you EVER use the terminal app ON the phone, heck I like for text and typing as well.
Jim: I'm assuming you mean the initrd image and not the kernel, or is that all wrapped up into one in android? the initrd is an odd place for the system's watchdog config. I suppose putting it in the kernel image prevents disabling it because presumably we don't have the key to sign the new image...
that's a new version of busybox, but I'm more interested in one with all of the options compiled in. What I have is pretty bare-bones... Does his busybox have grep at least? what do you do for a decent shell?
razholio said:
Jim: I'm assuming you mean the initrd image and not the kernel, or is that all wrapped up into one in android? the initrd is an odd place for the system's watchdog config. I suppose putting it in the kernel image prevents disabling it because presumably we don't have the key to sign the new image...
that's a new version of busybox, but I'm more interested in one with all of the options compiled in. What I have is pretty bare-bones... Does his busybox have grep at least? what do you do for a decent shell?
Click to expand...
Click to collapse
Yes in the initrd image the kernel is packed in there, as well as the init.rc file on Android, as well the filesystem subset, etc.
The init.rc file in / on the phone is NOT the one the kernel itself executes, take a look at that link I posted, Here is the excerpt we are interested in, I am pretty sure that the sys.DeviceHealth is in the exact same place:
I want to get a bit more control of what things are starting up when. To do this I need to modify the init.rc file. To do this I first extracted the the ramdisk to the fileystem so that I can modify it (gnucpio -iz -F ramdisk.img).
After this I simply commented out the line from init.rc. Then we can recreate it: (gnucpio -i -t -F ../ramdisk.img | gnucpio -o -H newc -O ../rootfs.img).
Click to expand...
Click to collapse
Yes both the stericson and JRummy16 busybox have most every command in the busybox you really need, oh and they create links in /system/bin for you, so that you can run commands without needing to always type busybox in front of the command.
As far as shells, I am a bourne or korn guy, so I just use the default /system/bin/sh, since I am closely intimate with bourne, being the UNIX Engineer that I am, and handling anything at the lowest level of the OS still requires bourne. But I love to program in korn (ksh), but I have not found any android shells that are useable beyond the basics, since we really are not going to spend much time there, it does not matter much. I would get aquainted the bourne, that android uses, since android seems be using the old school UNIX style bourne, more and more, yes there is some bourne again in there too.
P.S. pipe is in the /system/bin/sh, just make sure you source the /osh/apath.sh file, to get the /system/bin and /system/xbin in the shell...
The hackers keyboard has things like the arrow keys so that you can command recall, and other helpful things.
If you really need to run something, from the shell, just make sure put sh in front of it, or it won't run in a shell, one of the oddities about Android.
I have tested the method I mentioned before, and uncompressing the ramdisk that holds the kernel, and removing the sys.DeviceHealth from the init,rc, and it does work, after packaging it back up with CPIO. I tested this on an older phone that does not have a locked bootloader.
I am afraid to test it on the Atrix 2 since we still do not have a true way to get back after a soft brick at that low level.
Given the fact that this was another style of phone, and an unlocked bootloader, and the fact that the process name is a little different, I am still confident we can do something similar for our phone.
If you follow the directions on my post, you'll find it much easier to disable the Carrier IQ.
http://forum.xda-developers.com/show...6#post20281786
mrpoet said:
If you follow the directions on my post, you'll find it much easier to disable the Carrier IQ.
http://forum.xda-developers.com/show...6#post20281786
Click to expand...
Click to collapse
^^^^^^^^^^^Page not found^^^^^^^^^^^
kirkgbr said:
^^^^^^^^^^^Page not found^^^^^^^^^^^
Click to expand...
Click to collapse
Try this Link. I am not sure if it will do the job for us or not, because we don't have the same Apps installed as the Epic 4g that this original post was copied from.
Here is the thread, mrpoet created and pointed to:
http://forum.xda-developers.com/showthread.php?t=1390874
Here is the original one, that he does link to in his references:
http://forum.xda-developers.com/showthread.php?t=1373394
I am going to see if it works.
----Edit---
I just gave this a try and all the commands ran successfully, but sys.DeviceHealth is still running after following the above post.
JRW 28 said:
A lil info on what AT&T says and how it uses Carrier IQ and some of the devices it is on can be read here http://m.androidcentral.com/atts-us...its-own-analytics-app-not-just-embedded-phone
Click to expand...
Click to collapse
Just to let everyone know, the information contained in the link that JRW 28 posted, is an accurate statement from AT&T.
I have inside information that, that is BS. There are 100's of Terrabytes of Disk Storage just for this purpose.
They're a pack of bastards.
Noticed Xposed was hogging 4 GB of space. Found out its my log files. I clear them but they come back, needlessly taking up a gang of space
I don't understand the errors... All I see is that its a reoccurring error. Something to do with my clock? Other than that, I dont know. Would someone know how to resolve or possibly have it stop generating huge log files?
Any help would be appreciated!
Hi to all.
Does anybody know how many and what kind of antidebug protection tricks this apk has inside?
In main dalvik code methods are used to verify if we attach an elf file with android_debug e.g. and so sigill error is created?
Thanks to all.
Palm
I think this app is very similar to skygo so many protections should be same. For example drm protection is based on vgdrm files. Other protection is about apk signature, so if we decompile, modify manifest for debugging and recompile, new app goes in error when launched. It would be interesting to know how the system compares the 2 signatures. Most likely server side by sending the hash string to the server. Has anyone understood more? Thanks
Is possible to break into vgdrm help service when started by apk? Did anybody try it with debugger? Thanks