I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails each time I try.
Saturday, January 25, 2020
system error - "Unfortunately xxx has stopped"
My Symphony Xplorer W85 running JellyBean v.4.2.2 suddenly began showing the following errors, making the phone unusable:
- "unfortunately ikeyboard has stopped"
- "unfortunately systeminfo has stopped"
- "unfortunately adobe air has stopped"
- "unfortunately measure has stopped"
I first tried factory resetting the phone, then rooted and uninstalled Adobe Air, systeminfo, and ikeyboard using Kingroot but the phone still displays the errors. What might be causing this and what can I do to fix it?
Friday, January 24, 2020
stock browser - How can I determine the SD card's path?
I'm on a Thinkpad with Android 4.0.2 trying to open an HTML file on an SD card, using the default browser. Answers here have indicated you should access file:///mnt/sdcard
, file:///mnt/sdcard-ext
, file:///sdcard
, and many other combinations, but none of them work for me: I just get "Webpage not available".
Apparently different machines mount the SD card to a different path. How can I find out which path my SD card is mounted to? Or if that's not the problem, what is?
Answer
adb shell 'echo ${SECONDARY_STORAGE%%:*}'
Thursday, January 23, 2020
app2sd - Unable to move few Apps to SD Card
I have apps such as Any.DO and AK Notepad installed in My Samsung Galaxy Y Android 2.3.6 phone. I have tried Titanium Backup and App 2 SD (move app to SD) but still not able to move these apps to the SD card at all. What's wrong? Can someone help me out here?
Answer
An app must explicitly support App2SD, or you cannot move it to the card. There are several reasons why an app might not support it:
- using widgets (both mentioned apps seem to fall into this category. AK Notepad: "Pin notes to your home screen"; Any.DO: "You can even add our widget to your homescreen")
- running a service
As the sdcard would be unaccessible when connecting to a computer, both things would "crash" (as they could no longer access their data etc.). Of course there's always the possibility the developer simply didn't care -- in which case you should contact him and ask.
cyanogenmod - How do I stop voice typing from muting/pausing other playing media?
I sometimes want voice typing to transcribe voice audio that is playing on my device. However, whenever voice typing is started, it stops all audio coming from my phone.
I have the xposed module app settings installed. This permits you to revoke individual permissions for an app. I tried revoking media_content_control and modify_audio_settings, but this didn't do anything.
keyboard - Inputting math symbols in Android
I need to input calculus and trigonometric notations in Android.
How to input math symbols in Android?
Wednesday, January 22, 2020
Is it possible to install a ROM from TWRP ADB shell?
Let's say I place a rom in /sdcard/
. Can I install in the ADB shell through TWRP. For instance, if I
- Start up in recovery of TWRP
- Type in on the host
adb shell
Is there anyway to install /sdcard/rom.zip
Answer
The TWRP provides a command line utility called twrp
and the official site has a guide to twrp
's subcommands of which the command needed is simply install
install FILENAME :
install FILENAME zip file.
Usage: under adb shell
environment, run
twrp install /path/to/rom.zip
How do I eliminate "labels" from the Gmail program running on my Nexus 7 Tablet / Android Version: 6.0.1?
The Gmail on my tablet has a bunch of old "labels" from past email traffic, and I wish to remove/delete those labels.
None of the old labels have any documents in them (they are empty), but they are still shown on the left side of the Gmail screen. They are listed under the headings: "Recent Labels" and "All Labels"
By the way, I did access another screen that has the following listings:
▪ delete labels
▪ remove labels
▪ label:Junk-E-mail-FRIENDS
▪ cancel labels
▪ discard labels
▪ labels
▪ remove account
▪ remove account withdrawal
▪ create labels
I tried all the above commands to eliminate the labels appearing, but with no luck. The message I get is ... Whoops! We didn't find anything for "xxxx labels"
How do I remove these old label listings from appearing on my screen?
samsung galaxy s - Update from app store stuck on "downloading.."
There are three apps that needs an update on my device, I've got an always-on 3G connection and it's working (I can use whatever app I need), but when trying to download the update from the app store the progress bar reach the end (100% downloaded, should have saved it entirely) but it won't install the new update and the page on the store keeps telling "Downloading..".
I tried clearing the store cache/data several times but didn't work, I tried clearing the app's cache too (the one that needs to be updated) but it wasn't useful.
How can I solve? I didn't do anything to my un-rooted semi-new phone (Galaxy S plus with gingerbread)
Answer
I solved this by reinstalling the store update (i.e. switching it back to the basic market app and let it update again)
remove locked by android device manager message
I have played with Android device manager and I have blocked my phone. I have deblocked but everytime my phone enters into standyby it apears me the message "locked by android device manager" and I have to enter the password again.
Do you know how to remove this message?
Tuesday, January 21, 2020
wi fi - What does the "Aggressive Wi-Fi to Cellular handover" option in Developer Settings do?
In Android Lollipop 5.0, I noticed that "Developer Options" features a checkbox for "Aggressive Wi-Fi to Cellular handover" that is unchecked by default. Does anybody know what this setting does and why it's disabled by default and hidden under developer options?
Answer
The code for shouldSwitchNetwork()
best explains what it does. It just artificially reduces the WiFi RSSI (received signal strength indication) to encourage the WiFi state machine to decide to switch the connection from WiFi to cellular network. Around line 3559 of WifiStateMachine.java (line 4262 for Android 6.0.1_r10):
int rssi = mWifiInfo.getRssi() - 6 * mAggressiveHandover
+ (homeNetworkBoost ? WifiConfiguration.HOME_NETWORK_RSSI_BOOST : 0);
The variable mAggressiveHandover
is an int
that is set to 0 or 1 by the Developer Settings:
private void writeWifiAggressiveHandoverOptions() {
mWifiManager.enableAggressiveHandover(mWifiAggressiveHandover.isChecked() ? 1 : 0);
}
The rssi
variable goes on to influence how the connection is classified: isBadRSSI
, isLowRSSI
, or isHighRSSI
.
As to why it's hidden under the developer options, I'd say that is because it seems a little hackish, with a seemingly arbitrary scalar (6) that some dev came up with to nudge the behavior in the desired direction. Google is probably uncertain about the consequences of this setting and the optimal way to adjust rssi
. If I'm wrong and this is somehow meaningful, I'm happy to admit it and explain here why.
Turning this setting off does NOT turn off cellular handover altogether. The WiFi connection still gets a score and is disabled if the score is too low. But hey, the initial score is set arbitrarily too.
applications - Cannot open my app it keeps saying app not installed
I transferred some of my app to my SD card using the cm cleaner app and it was working perfectly fine .but suddenly today I cannot open those app it keeps saying app not installed.I tried restarting,reinserting the memory card but nothing seems to work.
Monday, January 20, 2020
arm processors - Are APKs architecture-independent?
Android devices have different processors like ARM and Intel processors. Can Android apps run just the same regardless of which architecture the device has? Or are there apps that will only run on ARM-architecture, etc?
Answer
Yes, applications (APKs) are independent of the architecture.
Android is made up of 4 major levels.
The apps you write is compiled into Dalvik EXecutable (DEX) code, which is finally converted into assembly code (according to the required architecture) by the kernel to send to the processor.
So, the kernel is the final one that's responsible to act according to the required architecture and it's compiled by the ROM developer accordingly.
The DEX code is always independent of the architecture, so that application developers needn't worry about the type of processor.
How to hide status bar notification icons?
I'd like to figure out how to hide the icons of the status bar that would appear in the left. Is there a way to control that? Some apps such as Weather.com don't have the option to hide that icon from the status bar.
Sunday, January 19, 2020
Have to clear google services framework on android ice cream sandwich
I recently had issue to sync with google as the following are affected:
- gmail app says no internet connection
- play store says no internet connection
- tablet is set to EPOCH (Jan 01, 1970, 00:00)
- I can surf the internet but I get tons of certificate warning whatever the website I am surfing.
I am using an android tablet (android 4.0 ice cream sandwich), wifi only. Looking around I found that I should clear data from google services framework and restart my tablet (see this post for example).
It works great, but the error keep coming back and I'm looking for a permanent fix. Should I wipe the tablet?
Thanks in advance for your help!
---- After test update -----
Thanks all for your comments and help (and sorry for my long silence). Here is the steps I've done:
- Delete and re-install accounts, Results: Error connecting server (tried with 2 different account)
- Done Factory Reset > No more issue to add account
- Install Gmail app (it took 3 or 4 trials where I reboot tablet before success). There every was fine.
- Restart tablet for testing: same issue as before :(
I guess either I never switch off my tablet or I return it
applications - Make Google Search app use Google.com.au
I purchased my HTC Desire (2.2 FroYo) from the UK and by default I guess the Google Search app uses Google.co.uk whenever I run a search through the app.
This is quite annoying as you could imagine since none of the local services/locations are show since it's searching on the UK domain.
Is there a way without rooting that this could be modified?
Answer
So I figured out a while back that it's my phones locale that is affecting this but never really thought I could change it.
This morning however as I was doing a Goolge search for "how to change Android locale" I though about trying to search for an app on the Market.
Sure enough there are a few that can. The one that I've gone with is made by inKa.
Saturday, January 18, 2020
geolocation - Using the GPS instead of Google Location Services in Chrome
I do not consent to Google collecting constant background information about my position at all times through their Google Location Service program. So I have got that option disabled.
I can get just about everything to work with just the GPS. Except for the Google Chrome browser. It keeps referring me back to enabling the Google Location Service option. Which does not make sense. The HTML5 GeoLocation API wants latitude and longitude, which the GPS is perfectly capable of providing on it’s own without involving Google’s servers. Is there a way around this?
Friday, January 17, 2020
ram - Keeping an app in memory
I once read about an init.d tweak to keep an app in memory. I'm unable to find that tweak now. Does anyone have the link? An alternate method would also be welcome.
Edit : I'm using cyanogenmod 10.
Answer
You can do it according to this post on XDA:
- Make a file called 99applock.txt
- Insert code below and put you messaging service in where it says PPID (that usually can be found in data/data if your using aftermakrket sms app) remove the .txt extension and put file in ect/init.d and just give it 777 permissions, it works for me.
#!/system/bin/sh
sleep 60
PPID=$(pidof com.your.app)
echo "-17" > /proc/$PPID/oom_adj
renice -18 $PPID
How do I get my GPS working in Android 4.1 Jelly Bean?
Recently I've been having all sorts of troubles with audio and GPS and the compass... I tried different ROMs, different kernels, different patches.
The short story is that after a long time spent messing around trying to get all features working at the same time, in the end I had to factory reset my phone and start anew.
Now, the current situation is that I have a rooted phone running Jelly Bean 4.1. It's freshly installed as of about an hour before writing this.
However, the GPS is unresponsive. Of course I want to fix this, but I don't want to go through the whole mess I just went through over the last few days.
So... how do I get my GPS working without playing feature whack-a-mole? I'm taking a breath, slowing down, and I'm looking for a reliable patch or process that I can execute with reasonable assurance and no guesswork.
Specifics are that I have a Samsung Galaxy S2, GT-I9100, issued in Japan. Android version 4.1.2, Kernel 3.0.15-CM (Siyah 5.0.1), Cyanogenmod 10-20121120-NIGHTLY.
Update: The compass issue I mentioned earlier was fixed when I used the build of Cyanogenmod available in this thread on the XDA forum. So I'm now just focused on fixing the GPS.
Answer
I found a solution in this answer in the XDA forum.
To generalize and hopefully be of use to others, the key point seems to be that even if you think you have the right ROM for the right device, it might be that your particular model has very slight differences.
In my case, if I understand correctly, I was using ROMs built for the GT-I9100 model of the Samsung Galaxy S2. However, the device issued in Japan, the SC-02C, has some very slight differences. So, I needed to get be more particular about which software I downloaded.
Who are responsible for pushing out the OTA updates?
There are many parties involved in an Android phone. My question is who is responsible for the OTA updates of my phone. Is it the manufacturer, the phone service provider or Google?
I thought this answer could be answered generally but maybe not. My phone is the Galaxy Nexus i9250 witch is manufactured by Samsung.
motorola droid - Is There *Any* Way To Increase Internal Memory?
Ok, even to me this question sounds stupid but I let's just go with "the only dumb question is the one not asked".
I have nearly 14Gb free on my SD card but the Motorola Droid only has 128Mb internal so I am constantly fighting "low memory" warnings. I have moved every app that I can to my SD card. This is not only a hassle, for some apps (*cough*AnythingGoogle*cough*) I have to choose to either have Widget functionality or sacrifice my precious internal space.
Question: Is it physically possible for me to upgrade this internal memory?
Although I believe answering that question will cure my woes, I will open it further to ask: Do you have a recommendation on what I could do differently (other than just delete your crap!). As I said, I have plenty of (SD) space so I find it asinine to have to make sacrifices because of these short-sights in this phone's design (after all, who would ever have an app larger than 1k, right? You'll never come close to using 128Mb...).
Answer
Theoretically, of course, you could modify your hardware. But this is not remotely feasible for 99% of us.
One thing you can do -- if you root -- is to install various apps that will allow you to move more to the SD card. You could also try a custom ROM that is smaller than the stock ROM. If rooted you will also be able to uninstall crapware system apps (be careful not to touch the important onces).
kernel - What linux distribution is Android based on?
Did Google use some existing distribution (Debian, Red Hat, etc.) to create Android, or did they use the bare essentials (kernel, file system and some mandatory files)?
Answer
Android shares very little with a typical Linux distribution. In fact, this is where Richard Stallman's "GNU/Linux" distinction comes in handy — Android isn't really a Unix-like general purpose operating system with a Linux kernel. It's a new system which happens to use the Linux kernel. This goes all the way down to its own custom libc implementation (called "Bionic"), which does not necessarily attempt POSIX compliance.
This article from ZDNet covers a talk which gives a pretty good overview of the system, and although it's a couple of years old it's still basically correct and helpful.
auto start - Applications keep restarting
Whenever I'm done with an application, I always exit using the back button. Somehow applications like Viber, WhatsApp, Facebook, Videos, Email, Google Maps, etc keep restarting on their own.
I have tried:
- Using a task killer
- Force stopping the apps in the settings menu
- Killing them using watchdog
...but they still restart. Any idea how to solve this problem?
Google Play Store download stops to a certain percentage on large programs
Hey fellow Android Enthusiasts,
I have encountered a very weird problem which I hope you could help. When I downloading large apps from Google Play Store, it always pause at a certain percentage, for example:
Angry Bird 2 (about 120MB of download size), the download always stopped at 61%.
Need for Speed No Limits(About 787MB of download size), the download always stopped at 97%.
When I say stop, basically the Download Manager would suddenly disappear and then the Download bar in Google Play Store would just be "stuck" at that percentage (data traffic speed also dropped from a few M/s to a few k/s before hitting 0). I have tried to download via mobile data or wifi and both still result the same.
I thought it was because my phones are running out of storage space, however my internal storage has 24.58GB free and SD card has 4.55GB free, either of which is way larger than the installation size of the two games listed above. It is also weird that the downloader stopped at the higher percentage in N4S game than AB2 game since N4S has much larger download size than AB2.
I have tried to cancel the download and re-download and it stuck at exactly the same percentage. I have also tried to clean cache (/Cache/Download and delete everything in there) and even tried to delete the entire Google Play Store app and reinstall and exactly the same thing would happen. I have also switched to different Wifi network and switched between Wifi and Mobile data.
My Google Play Store is the highest version I can find on Apkmirror (version 7.9.52.Q-all[0][PR]156316931) and I have given the permission to Storage and my Location. Phone is Huawei P9 Plus (VIE-AL10) and currently on Build Number B356 (Android 7.0 with Kernel version 4.1.18-gf6402d0).
Could you please help?
Thursday, January 16, 2020
linux - How to delete a file (e.g. malware app) that cannot be even removed with root access?
I have root access in my device, but there is a malware in /system/app/
that I can't delete. This malware installs TimeService
, MonkeyTest
, and also some other apps like DR battery
and privacy guard
, and also shows ads.
I'm using ADB shell & I have tried Root Explorer in Android. Dr.Web also can't delete it. When I tried to delete without root access, it gives the following error message:
rm failed for
, Permission denied
With root access, I got the following error:
rm failed for
, Operation not permitted
Is there a Linux command to delete this kind of files? Should I install BusyBox first?
Answer
Most likely this files attribute is set to "immutable". Which means nobody will be able to edit, rename, move or delete it. (Not even root)
You can check this in linux with the command: lsattr file
If this output shows an "i" my assumption is right.
The immutable attribute can be removed by chattr -i file
. After doing this you should be able to delete this file as root again.
As far as I know the android toolbox does not include these binaries. You need to cross compile(your device is ARM based?) busybox for your device and take care that both binaries are included or take a prebuilt busybox binary from a trusted source which includes them.
rooting - How to root Lenovo A1000 Smartphone?
I tried Kingo Root and Root Genius and some other software but finally failed to root this phone. My phone is Lenovo A1000.
motorola droid - How can I change the voice used for the Navigation app on Android?
I love the Navigation app on Android. The voice it uses is fine, but I'd like a little variety. I'd settle for it using the British voice that's available on the phone. However, I've changed the Text-to-speech
setting on the phone for language to British, but it hasn't changed the voice used by Navigation. There is not a setting in Navigation for the voice. Assuming it uses the "locale" setting, my only options on the Droid are "English" or "Español".
Am I stuck? Does this require root?
In case it matters, I'm still currently on Android 2.2.
Answer
This is apparently not possible with Android 2.2 on Motorola Droid.
rooting - HTC Desire 500 - how to root
I am completely new to this.
But I need to root my HTC Desire 500 to get rid of some virus that my phone caught unfortunately.
I have been googling etc. but I am not sure whether the information and tools there are up 2 date.
Is there ONE link/resource with an actual and updated to-do step by step process to root my phone? Or can someone possibly describe the steps I need to make without breaking my phone or something?
5.0 lollipop - How long device has been running since last charge?
In Android Lollipop, how do I see how long it has been since the last time I charged the battery? I mean I can get the approximate time by eye-balling the graph shown in Settings -> Battery. But, is it possible to get a precise time period like: "your device has been running x hours y minutes since last charge".
Or any app that can give me this info? All battery apps seem to concentrate on telling me how much longer the device can last from now. No history info.
Note: I'm not asking about the up time :-)
audio - How do I turn on the battery full notification sound?
Similar to this previous question, but I want to enable the battery full notification sound, not the opposite :)
My Galaxy S used to make a nice beep and switch the screen on briefly when the battery was fully charged, since the Gingerbread update (official Samsung 2.3.3 JV9 release) it still briefly switches the screen on, but no longer makes the noise.
This used to be great because the plug socket on my desk is right at one end, so (if I don't want a long cable getting tangled in everything) the phone's out of my line of sight and I rely on the audio notifications to tell me there's a reason to glance over at it. Now, since Gingerbread, I don't get any audible notification for the battery full, and never know when it's been fully charged.
Unlike a lot of people here I don't plug my phone in to charge overnight (why would I, when I have to pay for the electricity at home :D), so was never bothered by the noise waking me up.
I've hunted through all of the Sound and Notification settings that I can find, and already have System and Notification volumes turned up, so it's not those. I'm slightly worried that they've listened to the moaners and removed a useful feature, but hope that buried somewhere there's a nice setting that can keep everyone happy.
Tuesday, January 14, 2020
Can't connect to the device with ADB when it's in recovery mode
I am having some problems with my Samsung Galaxy S2 and I want to start an fschk
session on the device.
So, I installed Android SDK with platform-tools. I can access to the device when it's normally rebooted but I couldn't list and connect to the device when it's in recovery mode.
How can I connect via ADB when the device is in recovery mode?
Answer
adb is not available in the bootloader, try using fastboot instead
for a quick and dirty rundown of flashing your device with a new image using fastboot:
adb reboot bootloader
use fastboot devices
to verify your device is visible, if not, you're probably running windows, and you have to install some funky drivers. if you don't see 'unlocked' at the bottom of the screen, use the command fastboot oem unlock
then just:fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot flash recovery recovery.img
If you feel super confident you could just:adb reboot bootloader && fastboot oem unlock && fastboot flash boot boot.img && fastboot flash system system.img && fastboot flash userdata userdata.img && fastboot flash recovery recovery.img && fastboot reboot
PS You should only use the flash commands if the referenced files are present, if not you may or may not brick your phone (haven't tried flashing a non-existent file to the device yet)
Warning: Unlocking bootloader wipes off data in your phone.
adb - Is it possible to activate the "USB Tethering" Android setting from the command line?
I would like to activate "USB tethering" from within a bash script, so is there any possibility to run a command line with adb shell
to change some Android settings ?
Edit1:
The following command open the needed settings but don't change anything alone :
am start -n com.android.settings/.TetherSettings
I've found TetherSettings action name from
aapt dump xmltree com.android.settings.apk AndroidManifest.xml | less +/ether
Monday, January 13, 2020
4.4 kitkat - How to know which Gapps version is installed?
How to know which Gapps version is installed in official Roms. I've a Archos 45b Helium with Android 4.4.4 installed.
Answer
In SDK package of Android, there's a little tools called "aapt" which gives you information about the version:
#~:./aapt dump badging GoogleServicesFramework.apk
package: name='com.google.android.gsf' versionCode='19' versionName='4.4.4-1288895'
sdkVersion:'19'
targetSdkVersion:'19'
#~:/aapt dump badging GoogleLoginService.apk
package: name='com.google.android.gsf.login' versionCode='19' versionName='4.4.4-1227136'
sdkVersion:'8'
targetSdkVersion:'17'
#~:/aapt dump badging GmsCore.apk
package: name='com.google.android.gms' versionCode='5089038' versionName='5.0.89 (1307510-038)'
sdkVersion:'9'
targetSdkVersion:'19'
I did these commands in a terminal on my linux workstation, after exported the APK files from my /system/priv-app folder was in my phone.
2.3 gingerbread - how to root Galaxy SL GT i9003 for DDLF2
I am running official Samsung ROM build version 2.6.3 DDLF2. I wish to root it for reverse tethering and few other utilities. Need a trusted link for rooting tutorial or a rooting package for the same.
Answer
Your device seems to be quite easy to root.
- Make sure you have Samsung Kies installed.
- Download Odin 1.8.3
- Go here and download the appropriate file for your firmware. To find out you firmware's version, you can run
dumpstate
on the phone (viaadb shell
or any terminal application). The fifth line of the output will contain the version identifier (likeBuild: GINGERBREAD.XWKPG
). - Start your phone in download mode. Switch off your phone, and restart it while holding power + volume down + home
- Enter download mode and plug your phone into your PC.
- Start Odin and put the firmware you just downloaded into the PDA box.
- Click Start. Your phone should reboot after a while.
- Congratulations! You are now rooted!
- Switch off your phone and reboot into Recovery by holding volume up + home + power.
- Wipe Dalvik Cache.
- Reboot.
root access - How to run a script in background from adb shell?
I have a problem with USB tethering on my rooted Nougat phone (LineageOS). After some time phone stops USB tethering. To fix that I run the following script like this:
adb shell
su
nohup sh tether.sh &
exit
exit
tether.sh
#!/system/bin/sh
service list
while true;
do
if ! pidof -s dnsmasq > /dev/null
then
echo -n "Connectivity lost at "
date -u +%FT%TZ
echo "Waiting 3 seconds..."
sleep 3
echo "Calling ConnectivityManager.setUsbTethering(false)"
service call connectivity 33 i32 0 2>&1
sleep 3
echo "Calling ConnectivityManager.setUsbTethering(true)"
service call connectivity 33 i32 1 2>&1
echo "Waiting 3 seconds..."
fi
sleep 3
done
Problem: If I use nohup
my call to service call connectivity
fails with service not found. And I put service list
on top of the script which returns Found 0 services:
. However the same commands work when ran directly from adb shell; su
.
Why service call
doesn't work inside this background script? Does it need the same tty
to work?
Answer
Processes receive signals from other processes or kernel as a warning or as a request to make some change in state. Receiving processes can block, ignore or catch signals, except SIGKILL
which does what the name says. A process receives SIGHUP
(hangup signal) when its controlling terminal (virtual or pseudo) disconnects or its controlling process (which is usually a shell) terminates. Quoted from adb shell
source:
PTYs automatically send SIGHUP to the slave-side process when the master side of the PTY closes
* See Terminals and Shells on Android for details on PTYs
Process can then handle the signal to continue its execution or just gets killed by the kernel.
nohup
makes a process run (usually in background) by simply ignoring SIGHUP
even if the controlling terminal closes. Additionally if FDs 0
, 1
and 2
of the process are attached to the terminal, nohup
redirects STDIN
from /dev/null
and STDOUT
/STDERR
to nohup.out
file.
Android's built-in /system/bin/nohup
has some bad implementation like many other applets of toybox
. It replaces STDIN
with nothing and leaves STDERR
attached to the terminal. So all shell commandline tools which are related to system_server
behave unexpectedly because of no FD 0
.
Solution is to use nohup
e.g. from busybox or do:
nohup tether.sh
Or without nohup
:
tether.sh /sdcard/usb.log &
In order to make sure a program ignores SIGHUP
, add trap '' 1
to script above the program to be executed. But it's not required with Android's default MirBSD Korn Shell (/system/bin/sh
) which doesn't send SIGHUP
to all jobs (children processes) in the same session i.e. attached to the same terminal. So nohup
or trap
isn't essentially required, whether shell exits or gets killed.
Secondly mksh
doesn't detach from terminal(s) completely because in addition to STDIN/OUT/ERR
, it attaches to /dev/tty
directly (ref). So detaching FDs 0/1/2
doesn't suffice. However there's a daemon mode which completely detaches the command from terminal:
/system/bin/sh -T- tether.sh
Also mksh
unblocks all signals, though not relevant here.
bash
provides better job management; user can configure with huponexit
whether or not to always send SIGHUP
to all jobs on exit (ref). Bash's built-in disown
command can be used to exclude jobs from receiving signals.
To keep script running in foreground, a multiplexer like tmux
or screen
can be used. That's what I do, particularly with su
binaries from rooting solutions which don't detach (due to limited implementation of pseudo-terminals), when a program is running in background. See this issue for details.
RELATED: How to run an executable on boot and keep it running?
Is Android based upon Linux?
Is Android based upon Linux?
Answer
Yes, here is the source code download and what you need to use it.
http://source.android.com/download
From the wiki:
At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel which they marketed to handset makers and carriers on the premise of providing a flexible, upgradeable system.
cyanogenmod - Resize /system partition of Galaxy S 2
I need to increase the size of my Galaxy S 2's /system
partition from 503.4MB to... Well, anything possible.
The (main) reason why I want to do this is because I want to install GApps 20140606
, which is not compatible with devices with small (under 500MB) /system
partitions.
The Galaxy S 2's internal storage is 16GB but I mostly use my SD card, so I don't really care how much of this will be taken to use in the /system
partition.
I've found a lot of pages explaining different methods to achieve this, like this one from TechoTV, and this one from XDA, but all of them were phone-specific and never gave the information if it would be compatible with other models or not, or they would resize to a specific set size.
There's also this question from Android SE, but the answer weren't satisfactory enough for me, as the author limited himself to only say that it is possible, but not saying how.
To add a few more information, the phone is rooted and with CyanogenMod 11 (20140806-NIGHTLY), which is Android 4.4.4.
It would be interesting if the information provided works under Linux. I have access to Windows but rather not have to use it.
Aren't there any simple way of resizing the partitions, like GParted (but for Android)?
Answer
I made this following this great tutorial at XDA-Developers by user metalgearhathaway
: http://forum.xda-developers.com/galaxy-s2/development-derivatives/mod-partition-internal-memory-app-t2538947
I used PIT
files (I'll explain what they are, don't worry) made from user ElGamal
from XDA also, located here (comment number 509).
And a little bit of help from user CrackDaddy
, also from XDA.
- A machine running Windows. I used Windows 7 Ultimate 64-bits;
- Odin 3.07. Careful when installing, it is full of optional AdWares. There's also a Linux and Mac version available called JOdin3, but I didn't try it;
- Flashable ClockWorkMod 6 for Galaxy S II (it is a
.tar
file with a file namedzImage
inside); PIT
file with desired partition table configuration;- Samsung drivers for Galaxy S2. Usually you can install Samsung Kies but there's also a installer just with drivers available;
- Your original stock unrooted Samsung Jellybean firmware. You can find it at sammobile.com;
- Any ROM of your choice. I highly recommend the last nightly build of Cyanogenmod 11;
- Optionally: GApps 20140606 or newer.
I made most of those available in the following bundle file: https://drive.google.com/open?id=0BxccpydIocBpd21FOE5MaGJiMkU&authuser=0
What is missing is GApps, CyanogenMod, and a stock Samsung JellyBean ROM (as it depends of country and carrier, and might not be legal to provide it here).
I am not responsible for anything that might go wrong with your device, neither any of the mentioned users nor anyone here at Stack Overflow or XDA-Developers. This procedure will root your phone if it isn't already and also void your warranty if it isn't already. If anything goes wrong, don't panic, it is most likely fixable by reflashing the stock ROM and starting over again.
This will only work with the 16GB International version (GT-I9100) of Samsung Galaxy S II
Firstly, copy CyanogenMod 11 .zip
file (or your desired ROM) and optionally GApps .zip
file to your external SD card;
Make a backup of everything inside your internal storage, copy it to your computer or somewhere else. It will be completelly erased. Don't worry about your external SD Card, it won't be touched.
Make a NAnd backup of your current ROM, you'll be able to restore it after the repartition. To do it, you must have ClockWorkMod recovery installed, then boot your phone into recovery mode (Volume UP + Home + Power
), select backups and restore
, then backup to /storage/sdcard1
;
When backup finishes, reboot your phone into Download mode (Volume DOWN + Home + Power
) and connect your phone to the computer. Let Windows install the drivers. If it fails, try to install Samsung Kies or just the drivers provided in the bundle I made available, and try again.
Open Odin3 as Administrator and connect the phone. It should detect your phone and show it under the label ID:COM
, and also in the Message
. If it didn't, try to restart your computer, phone, reinstall drivers, check your USB cable, etc., and try again.
Now you'll need to choose a PIT
file. PIT
means Partition Information Table
and it is a Samsung-only thing. In the bundle file, I made available ElGamal
's PIT
file (I91001GB_6GB.pit
) which also resizes /system
partition to 1GB, /data
to 6GB and the rest goes to internal storage. If you wish different sizes, check the thread at XDA-Developers as he made many different versions available. I also included a PIT file for the default configuration (I9100_2GB-STOCK.pit
) if you wish to go back to as it was later.
When you have chosen your PIT
file, go to Odin and tick the following checkboxes: Re-Partition
, Auto Reboot
and F. Reset Time
. In the Re-Partition section
, click on the PIT
button and select your chosen PIT
file. In the Files (Download)
section, click on the AP
button and select Samsung's stock JellyBean ROM. Double check everything and click Start
. This can take a while, go grab a coffee.
After everything finishes, your phone will reboot into the stock Samsung JellyBean ROM. Two things can happen now, or it will work normally and if so you can use it and check if everything is as you want. Or it can ask you for a password to access the "encrypted volume", which is nothing but your internal storage that is not formatted. In both ways, unplug your phone (it it's still plugged) and reboot it into Download mode again.
It is interesting to close and reopen Odin3 to reset the settings. Plug your phone again and wait until Odin3 detects it. This time, leave checked just Auto Reboot
and F. Reset Time
and make sure Re-Partition
is NOT checked. Click on AP
button and select the ClockWorkMod Recovery .tar
file, then click Start
. This one is faster, but if you feel sleepy, go for another coffee ;)
When it finishes, you should have ClockWorkMod Recovery 6 installed in your phone, so go ahead and reboot into Recovery mode. Go to mounts and storage
, select format /storage/sdcard0
and format it as exfat
(if for some reason you have write problems in your internal storage later, come back here and select another format until it works, but exfat
should do the trick).
When it finishes, still in Recovery mode, Wipe data/factory reset
, Wipe cache
and Wipe Dalvik cache
. Let's be sure nothing remains from the previous ROMs.
Now, install zip
-> choose zip from /storage/sdcard1
and select the CyanogenMod 11 .zip
file (or of your desired ROM) and flash it. Optionally also flash GApps afterwards. Reboot your phone and check if everything is right.
If everything is right, reboot your phone into Recovery mode again, do a new wipe data/factory reset
, wipe cache
and wipe Dalvik cache
, and then recover your backed up ROM from the beginning. Reboot your phone.
Check again if everything works right. A few apps might need to be reinstalled (Spotify and Waze are examples) to work correctly again, but that's be only major issue.
Hope everything goes well.
Sunday, January 12, 2020
sms - How to turn off red-dotted-underline spelling check when text-messaging?
I've updated my HTC Desire HD A9191 to Android 2.3.3 and now I don't know how to get rid off the spelling check (red dotted underline) when text messaging. The underlining isn't present when typing in Evernote's application, for example. It is strictly text-messaging issue.
There's no spelling-check option in message settings. I've tried turning on and off spelling check under Settings->Language & Keyboard->Touch Input->Text input->Spell correction
and it didn't do anything either way. I don't have enabled neither 'Prediction' nor 'Word completion'. Google search didn't find anything about red dotted underline on Androids either.
Why would I want to disable spelling check? Androids don't support my locale the way they should (QWERTZ instead of QWERTY), so I'm forced to use German locale. Which is fine, I'd use English as a system language anyway. But the spelling check is underlining non-German words, which is obviously annoying to me as a non-German native speaker.
Answer
You can use an alternative SMS app, e.g. Handcent. I think the spell checking feature is probably HTC specific (AFAIK, HTC has their own SMS app).
Saturday, January 11, 2020
wi fi - How do I make Android consider my WiFi Access Point as valid (blue?)
We have a very large wifi network at Stack Exchange, and the primary guest network is tightly locked down. Our firewall rules permit essentially just http/https and vpn connections. When our Android phones connect to the wifi, they show good coverage but the WiFi icon never turns from grey to blue.
What is the Android phone checking to make the grey/blue wifi icon decision in JB 4.2.2?
Answer
After probing the firewall logs, it appears that the grey/blue icon is triggered depending on whether or not your device has access to Google Play. In our case, I had to open tcp-udp port 5228 (as per http://support.google.com/googleplay/bin/answer.py?hl=en&answer=2651367) and after turning wifi off and back on again, the icon became blue.
I can't confirm whether http/https is also part of the equation; we already had that open so it's possible if one is running into this issue even after opening tcp-udp 5228, that http/https may also be required.
networking - In Android 6, how to deny an app permission to access the network?
In Android 6, the user has (finally!) the possibility of approving or denying specific permissions to an app.
However, I couldn't find a way to approve or deny network access, either via Wi-Fi or via cellular data connection. The relevant permission appears in "Other app capabilities" and it's only informative -- apparently there's no way to change it.
Here's an example with the Chess Free app:
Answer
You won't be able to achieve success through the native mechanism of Android.
Cody Toombs at Android Police has very well pointed this out in the article: Android M Will Never Ask Users For Permission To Use The Internet, And That's Probably Okay.
In the section Normal and Dangerous Permissions of the document Permissions Overview, Google has noted:
Permissions are divided into several protection levels.
There are two protection levels that affect thrid party apps: normal and dangerous permissions.
Normal permissions cover areas where your app needs to access data or resources outside the app's sandbox, but where there's very little risk to the user's privacy or the operation of other apps. For example, permission to set the time zone is a normal permission.
If an app declares in its manifest that it needs a normal permission, the system automatically grants the app that permission at install time. The system does not prompt the user to grant normal permissions, and users cannot revoke these permissions.
Dangerous permissions cover areas where the app wants data or resources that involve the user's private information, or could potentially affect the user's stored data or the operation of other apps. For example, the ability to read the user's contacts is a dangerous permission. If an app declares that it needs a dangerous permission, the user has to explicitly grant the permission to the app.
(Emphasis mine)
Surprising or not, the following permissions comes under the list of Normal Permissions:
- CHANGE_NETWORK_STATE - allows applications to change network connectivity state - i.e. mobile data;
- CHANGE_WIFI_STATE - allows applications to change Wi-Fi connectivity state;
- INTERNET - allows applications to open network sockets.
If that doesn't suffice, checkout the permissions managed by AppOps here. If you don't find your permission listed there, you won't be able to do anything with it in GUI.
Since alternative methods are already extensively covered on this site, refer to:
Why does stock email app only keep 25 latest emails?
Why does the stock Galaxy / Android app only keep the latest 25 emails?
Its pretty annoying and lame for me who receive well over 50 emails per day in my work email. That means I cant even see a whole day's email without "loading more" and I don't always have Internet connection where I am.
Is there any way to work around this issue?
Edit: I am on ICS
Answer
The stock email application and many other I've tested present a list of 25 emails per page.
The user can however load older emails on demand. This is done due to two main reasons:
- to prevent large transfers of data that end up using the device communication thus leading to a faster battery drain;
- to preserve memory consumption that in turn would leave your device slow and inefficient.
I haven't found any option on all the applications I've tested that allows the user to define how much emails should be presented each time.
I did find that the Gmail app auto-loads a new emails list when we reach the scroll limit, thus kinda facilitating the users trouble, but even with this scenario, the user needs to scroll all the way down to get the new list, and yet again, the Gmail app like the others, doesn't have a setting to define the number of emails to be loaded each time.
Essentially, this is a status-by-design conception used by Android and app developers. You may come across with an app that allows you to go around this issue, unlikely it may be, but for the stock app, the reason as to why it loads only 25 emails at a time are the ones explained that sum up as performance issues.
unbricking - What's my solutions if i brick my android phone?
Are there any tricks (general or not) that I can use if I brick my Android phone? e.g.: when updating android..
Where does Android store the "default application for file type (open with)" settings?
Where does Android store the default application settings that connects each type of content with a designated application? I mean which application open each kind of file or content type so if I got two PDF readers and I downloaded a PDF file android will use one of them without letting the user an option to choose.
I know I can clear the default settings of an application but it's not what I'm looking for.
I want to find the table/database/file that android uses for this. Is it in a sqlite database file? Where is it stored ?
Friday, January 10, 2020
adb doesn't detect phone on Ubuntu 12.04
I have a Ubuntu 12.04 PC that sometimes does not detect my Samsung Galaxy Note 2 smartphone. The following error message will pop up when I connect the device.
Unable to mount SAMSUNG_Android
Unable to open MTP device '[usb:001, 085]'
USB debugging has been enabled on the device, and 51-android.rules/52-android.rules both have the device USB PID in them.
adb detects my Galaxy S3 and Nexus 5 just fine.
I've tried rebooting the phone, as well as killing-restarting adb, but still nothing.
Any help?
Thursday, January 9, 2020
Why does my Xperia X10 spontaneously reboot?
Several times a day I find out that my Sony Ericsson Xperia X10 is waiting for PIN entry, probably because of a soft reboot. It annoys me to no end, and I end up missing calls beacuse of this. Is there a tool or another way to help me find out what actually happened, when, and what caused that?
sync - Sharing Browser Links between PC and Phone
I'm starting a wiki to compile a short list of browsers, apps, extensions, etc. that allow users to easily link or bookmark webpages between their PC and phone. This is ultimately just a "best apps" question, so answers should be made CW. I placed an answer below. Any other suggestions are appreciated!
Answer
If you're running Android 4.0+, just use Google Chrome both on PC and Android, and associate it with the same Google account. This allows you to sync your browsers so that you can see open tabs from both locations on all devices. You can even have multiple PCs/OSs synced, just use the same Google account.
"Sign in to Chrome to sync your open tabs, bookmarks, passwords, and omnibox data from your computer to your phone or tablet. Pick up right where you left off."
Wednesday, January 8, 2020
rooting - How to root a Xperia SP (C530x)?
Simply, how to root a Sony Xperia SP device?
Answer
There are two ways, depending on your firmware version. They work on both locked & unlocked bootloader.
Requirements
- Having adb drivers installed (usually installed with Sony PC Companion)
- Having enabled
Unknown Sources
- Having enabled
USB Debugging
- PC Companion must not be running
(credits for DooMLoRD, guide from this thread)
- Download this archive and extract it.
- Connect your phone to your computer.
- In the extracted folder, double click on the RUNME.bat file.
- Follow the instructions (usually one key to tap).
- Reboot your device if it doesn't do it itself.
(credits for DooMLoRD, guide from this thread)
In these versions, Sony has patched the exploit, so we need to flash an older kernel that has the exploit and then reflash the kernel of our actual firmware version. This requires flashtool.
- Download this archive and extract it.
- Download the kernel file from 1.257 firmware.
- If your actual firmware version is 2.245, download this kernel file. If it is 2.254, download this one.
- Open flashtool, click on flash icon (see image), select flashmode, browse to 1.257 kernel ftf, validate.
- Disconnect your device, shut it down, then while pushing on the volume down button plug your device to your computer. The illumination bar should go green.
- Wait for flashtool to finish, then reboot.
- CLOSE FLASHTOOL
- In the extracted folder, run the runme_ file (exact name depends on your OS).
- Once it is finished, shutdown your device.
- Open Flashtool again, repeat the same steps as before, but select the kernel FTF for your actual version (2.245 or 2.254).
- Plug your device in Flashmode.
- When flashtool has finished, you can reboot and finally enjoy your root!
As for 12.0.A.2.245 and 12.0.A.2.254, the exploit is fixed, so we need to root while being on an older firmware (2.254 preferably), flash the new stock rom zip via recovery and flash the new kernel via Flashtool. (thanks to niaboc79 for this method).
- Downloads:
- Update to 12.0.A.2.254.
- Root using the 2nd method.
- CLOSE FLASHTOOL
- Unzip the recovery archive and run the .bat file.
- Put the ROM and fix zip on your phone.
- Reboot in recovery (Power Off your phone, then power on and press (not maintain) volume up on multiple times until it vibrates).
- Flash the ROM.
- Flash the fix.
- Advanced -> Power Off
- IF IT ASK YOU ABOUT A SU OVERWRITE, SELECT NO
- Open flashtool and flash only the kernel from the .266 ftf. (see screenshot from niaboc79)
- Unplug, power on and enjoy Android 4.3 with root!
gps - How to configure smartphone/tablet to have no data connection?
Before going on a trip overseas with no data plan, I need to check how well my Google Nexus 7 tablet works to geolocate me with just GPS + Glonass + GSM towers.
From experience, I know that just relying on GPS with no data connection pretty much doesn't work: Even after being outside in open skies for hours riding a bike, my GPS-only smartphone had a very hard time geolocating me, and wouldn't follow after it did, while it did work in just a few seconds when connecting to the Net through wifi.
So, I'd like to experiment while I'm still home: Is it possible to configure an Android device to have no data connection and only rely on other means to geolocate the user?
If needed, I don't mind moving to different ROMs such as CyanogenMod.
Thank you.
Edit: I found the reason why GPS wouldn't work even after hours standing outside: In Settings > Location, the option "Download GPS assisted data only over Wi-Fi networks" was disabled; Once enabled, geolocalizing through GPS alone works OK, although it works faster and better with the Nexus 7 tablet that has GPS + Glonass.
Answer
Airplane mode should do what you want. If you want to turn off just the mobile or just the wifi, you can do that in CyanogenMod anyway from the pull-down notification-- just click on the wifi icon to turn wifi off, or the mobile icon (usually labeled with your carrier) to turn mobile functions off too. You can always pull your SIMcard to be absolutely sure you're not using your mobile network. If by the way, you want to use mast-based positioning/triangulation without using your mobile connection-- that may be a bit more difficult. Try using an app like llama which I believe uses cell towers signal strength to triangulate your position.
How to Root my LG Optimus L70 LGMS323
I know there are many ways to root a LG Optimus L70 LGMS323 but I don't understand some of it. Is there a simple way to root my of device running Android 4.4.2?
Calendar Agenda view won't stay on today
I have the Optimus V. I use Google calendar for all my calendaring needs. I'm using the standard Calendar app that came with my phone, build 2.2.1.
I start the Calendar app, and go to Agenda view. It's scrolled so that yesterday is the top. Weird, I don't know why I'd care about my agenda for yesterday. Any normal person would want to see today's agenda plus however much of tomorrow that fits. So I go to menu->Today. Now Today is at the top. So far so good.
Now I go to menu->More->Settings, look at my settings and hit the back button. Grrrr. Yesterday is at the top again. So I go to menu->Today. Now Today is at the top again.
Now I hit the phone's power button. Then I hit the power button again and unlock my phone. Now the top entry in agenda is TWO DAYS ago, and today isn't shown at all.
Is there any way to prevent this extraordinarily irritating behavior? I want "Today" to always be at the top of agenda view. Not some completely random day. Today. Always Today.
Answer
Well, I tried "Business Calendar" which seems a lot less flaky and is free, so I guess the answer is to switch to another Calendar application.
networking - How to set up reverse tethering over USB?
- My HTC G2 phone is rooted and running Cyanogenmod 7
- I don't have a data plan.
- Sometimes I want to connect the phone to the Internet when there isn't Wi-Fi, to update Market apps, backup SMS messages to Gmail, sync new contacts from Gmail, etc. Things I can't do with USB mass storage mode.
- I have a Windows 7 Professional computer connected to the Internet, but I'm not allowed to set up an ad-hoc Wi-Fi network. (If I do, they will notice and hunt me down.)
Is there a way for the phone to access the Internet through the USB connection to the computer? If so, how do I set it up?
Tuesday, January 7, 2020
cyanogenmod - Blank screen when trying to boot into recovery mode on Samsung Galaxy Tab 2 10.1
I am in the middle of trying to install Cyanogenmod on my Samsung Galaxy Tab 2 10.1 according to Wiki instructions and I'm getting stuck when I try to go into recovery mode. I tried to flash it to koush's ClockworkMod Recovery (recovery-clockwork-6.0.2.3-p5110)
I've tried using Power + Vol Up and by using adb reboot recovery
in the terminal on my PC. It seems to start into recovery mode with a message in blue stating it's entering recovery mode, however, it just goes black and I can't progress passed this point.
I can still boot into the stock and into Download Mode fine.
It's possible there was a problem installing the custom recovery as I never saw a progress bar as described in the wiki. Instead, it seems to stay at the "Don't power off target device" screen, despite the message in my terminal stating that it was finished. If the custom recovery was botched, how can I remedy it?
What can I check to narrow down the problem?
I'm running off a PC using Linux Mint in case that helps.
malware - Device wants desperately to install a package (com.google.system.s) on its own
I have in my hands a Mpie M8 device (Android 5), The previous owner said it wasn't working properly and I suspected it had a virus. I factory reset it and now the phone wants desperately to install com.google.system.s
every 5 seconds even though I press cancel and even though I have WiFi off. I install it and it said that it is about locking. The phone started restarting all the time. I downloaded 360 Security and it said this is malware.
I tried to uninstall it and it said that this app is deep in my phone. I finally uninstall it (with a lots of sweat). And I have the same problem again, every 5 seconds. What is this file? What should I do?
file system - How to detect filesystem type of un-mounted partition?
These commands won't work:
fdisk -l #outputs nothing...
su; fdisk -l #nothing..
sudo fdisk -l #sudo not found...
parted -l #parted not found...
Is there any app that shows that easly?
EDIT:
For now I had to attach the sdcard to PC and let Linux mount it, I found the partition was ext3
and not ext2
that I thought! All I read says partition must be mounted to know its type. I think we must create a path and mount it with automatic detection and see mount output to know the partition type.
stock rom - A/B (Seamless) update device questions
The internal storage of each Android device is separated into partitions such as system and boot. Most devices have only a single copy of each partition, but devices that support seamless updates have two copies of certain partitions—slot A and slot B, hence A/B—so that one copy of the partition lies dormant while the other is in active use. Because each partition is a copy, they can be used interchangeably to boot into Android. This also means that you can update one partition in the background and then swap to it when you reboot—thus your update is seamless!
I need to know more about this for a stock unrooted device:
After OTA system update, does the device install OS to both partitions? Or install to only one partition.
whether the device continues to same(current) android version until reboot manually?(after installing version update). Or whether it updates current to latest version overnight.
When normal reboot(not after update), how can a user identify whether device is booted to which slot (A/B)? Else, will the device continues to current slot on normal reboot(for example if it is A).
If any one slot got corrupted, Is it possible to use other slot only.
Answer
After OTA system update, does the device install OS to both partitions? Or install to only one partition.
and
whether the device continues to same(current) android version until reboot manually?(after installing version update). Or whether it updates current to latest version overnight.
It installs only to the inactive partition, which becomes active on reboot after update. Figure explains clearly
When normal reboot(not after update), how can a user identify whether device is booted to which slot (A/B)? Else, will the device continues to current slot on normal reboot(for example if it is A)
On a normal reboot, it always reboots into the currently active partition. You can verify by running this command pre and post normal reboot
fastboot getvar all | grep “current-slot”
(On Linux)
On Windows, fastboot getvar all
and search for current-slot
If any one slot got corrupted, Is it possible to use other slot only.
If you mean by corruption , the update has failed,
....the device will roll back to the working build on the other slot....Your data is kept perfectly intact, even if the update is borked, as there is only one partition (userdata) which houses your data.
From How A/B Partitions and Seamless Updates Affect Custom Development on XDA and for more technical details see A/B (Seamless) System Updates
Monday, January 6, 2020
performance - Other than portability, are there any other advantages (or disadvantages) to storing apps on external storage?
Are there any particular advantages/disadvantages to storing apps on the external storage of an Android device? As I have a Nexus S, I can't think of advantages for me as I can't remove the storage, also the internal storage is more than enough for my needs.
I noticed that on phone start up, when I had all my apps moved to USB storage it was quite sluggish to register all the apps on the menu/home screens.
I also read somewhere that having a wallpaper set from a photo that was stored on the external memory actually drained quite a bit of battery too with all the reads (although I think this may have been a bug).
Answer
Advantages:
- Extend the available space on internal memory for installing more apps.
Although some parts of the app still stay on the internal memory (data and settings,) it still frees up a significant amount of space. For older handsets with 150MB of free space (G1, MT3G, etc.) this is a huge improvement. For owners of these devices this advantage alone outweighs any disadvantages that this method brings.
Disadvantages:
- Cannot use apps moved to SD Card if it's unmounted.
Kind of self-explanatory: if you un-mount the SD Card for removal, the apps that reside on it need to be stopped and um-mounted as well to prevent crashes and data loss if you do remove the card. - Inability to use widgets or sync adapters when you move those apps to SD Card.
This is a design limitation that stands from the above point. Since the apps stored on SD Cards need to be able to be removed on demand, things like widgets or apps that hook into your account settings (e.g. Skype, LinkedIn) will crash, with no easy way to re-start them. So Google made a compromise by requiring these apps to stay on internal memory. Even if you do manage to force them to the SD Card (some custom ROMs allow this), you simply won't be able to use them. - Longer boot-up and shut-down times when the system mounts/un-mounts all of the apps stored on SD Card.
Apps that were moved to SD Card are not stored in plain sight to prevent rampant piracy. Instead, Android sets aside some space and creates a virtual partition for each app that you move. This means that at the initial boot-up, all these virtual partitions need to be mounted before apps stored on them can be accessed. The same holds true when you turn the handset off - each virtual partition is un-mounted before other shutdown processes can happen. Depending on the number of installed apps this can take an extra minute or even longer for the system to "stabilize" upon boot-up (and about 20 extra seconds for shutting down.) Once this happens though, launching these apps doesn't take any longer than those on internal memory. - Extra wear on the SD Card.
This point is debatable, since writing to SD Card (which causes wear) doesn't happen that often. And besides, the SD Cards these days are cheap enough to not worry about their life time. - Apps require an update to support this functionality.
Ability to be moved to SD Card is not automatically granted to older apps. Developers must change their apps to support this feature and issue an update via Market (or whatever distribution method they use.) Some older apps may not be supported any longer, and so may never get this feature. Although some custom ROMs can override this, for most people that are running stock firmware, this is a problem.
For newer devices with gigabytes of internal memory moving apps to external storage is not necessary, since space is not an issue. However for handsets with low memory it's an invaluable tool that extends their shelf life for their owners.
Sunday, January 5, 2020
AT&T Samsung Galaxy S6 will not connect to WiFi automatically
I have an Asus TM AC-1900 WiFi router at home. We have a Nexus 4, Nexus 5, Nexus 7, iPhone 6 Plus and notebook computers. They are all able to connect to Wifi when I get home. However, the new AT&T Samsung Galaxy S6 will randomly fail to connect to WiFi when I get home. It does manage to automatically connect some of the time but most of the time I have to remember to connect it manually. Is this a defect on my particular unit? I have tried doing a factory reset but it doesn't seem to help.
4.0 ice cream sandwich - minimal hardware requirements for Android
Possible Duplicate:
What are the minimum specifications for Android?
I would like to know the minimum hardware (memory, CPU) to run Android, good documentation is also a good answer.
Versions : gingerbread or ice cream sandwich
settings - How can I change the data usage cycle for Mobile data?
The mobile data cycle (Settings -> Data usage) looks quite arbitrary. Since I have changed my data plan, now the new cycle should start at the first day of the month instead of the 6th.
How can I change the begin of a data cycle? I cannot seem to find some edit button, though I vaguely remember seeing it at the Data usage cycle menu.
Affected versions: Android 4.0, 4.2.2, 4.3.1.
Answer
Changing the starting day for Mobile data is indeed non-obvious. You need to enable the mobile data connection (2G/3G) before the options are available:
TURN OFF WIFI First.
- Enable Mobile data.
- Exit the Data usage settings app.
- Tap the spinner below the Set mobile data limit checkbox.
- Tap Change cycle....
- Change Date of each month (I prefer the first day of the month,
1
) - Hit Set.
- Undo Mobile data if necessary (e.g. if on Wi-Fi).
How do I get my Nexus 7 to show up in the adb devices list?
So I have a Nexus 7 that I'm trying to connect to my Windows computer for debugging over adb. Adb works fine with my phone, but when I plug in the tablet and run adb devices
in Windows I get an empty list back:
C:\android\sdk\platform-tools> .\adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
C:\android\sdk\platform-tools>
The tablet is running stock Android 4.2.2 build JDQ39. USB debugging is enabled, I did click on the build number 7 times to get the developer options enabled, and I've tried connecting both as a Media device (MTP) and as a Camera (PTP). The tablet is not rooted and I have not unlocked the bootloader.
The computer is running Windows 7 Enterprise SP1 x64. I have the latest adb version, 1.0.31. The SDK manager tells me I have SDK Tools rev 22.0.1 and SDK Platform-tools rev 17. I've tried using the Google generic usb driver version 7.0.0.1 and 6.0 as well as the Asus usb_driver_r06 from http://support.asus.com/Download.aspx?SLanguage=en&m=Nexus+7&p=28&s=2. Each driver I try does show the tablet as connected in device manager as either "Android Composite ADB Interface" or "Android ADB Interface"
If I plug the tablet in to my Macbook Pro and run adb devices, I get the the RSA fingerprint dialog as I would have expected to see in Windows:
Also if I start the tablet in fastboot by holding down the power and volume down buttons. I can see it with the fastboot utility:
C:\android\sdk\platform-tools> .\fastboot devices
015d262e32540802 fastboot
I am completely out of ideas here. Any and all off the wall suggestions would be welcome.
Answer
I finally found my problem. This might have been specific to my Windows machine, but I'm writing it down here in case someone else has the same problem.
Turns out I didn't have a usb.inf file in my C:\Windows\inf
directory. Apparently some installers/uninstallers have been known to mess with that file. I found the tip in this thread while trying to figure out why my new mouse didn't work...
I copied the four files from C:\Windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_153b489118ee37b8
over to C:\Windows\inf
and re-installed the drivers and the security dialog popped right up on the tablet.
default applications - Mp3s open in Google play after tapping always, have already reset all app preferences. What now?
Thanks for not scrolling by after the first half. This happens in Firefox, irrespective of which site used. The first time it offered the choice of downloading using play or downloads. Naturally I clicked the app I'd be opening it in. Now it just opens the file. After resetting the app preferences three time and closing both promhams after resetting and before trying again. With no obvious solution in Firefox settings. I'm out. Do any of you have any suggestions? Have a nice day.
Answer
- In the Firefox address bar, enter
about:config
. - search for
download.preferred
. - After the search had filtered some items, You will see a preference named
browser.download.preferred.audio/mpeg
whose value is probablycom.google.android.music
. - Tap the
Reset
button at the lower right corner of this preference.
Future tip: To see preferences you modified yourself, enter about:support
, and check under Important Modified Preferences
.
Can I get DLNA on my Droid?
Can I get DLNA on my Droid 1 through some sort of hack, patch or accessory or do I just have to upgrade to a newer phone?
I'm sure this question must seem absurd to some people but I looked around and it's still not clear to me if DLNA is a software or hardware solution.
Answer
Twonky media, who make the very good Twonky DLNA server for PCs, have released a Twonky Server app for Android, this should allow you to share content (videos, music, pictures) that are stored on your phone to network attached DLNA compatible devices on your network (eg Windows Media Player on Windows 7, XBox 360, PS3, specialised set-top boxes, some new TVs).
Also, I don't know if it's carrier specific but my Samsung Galaxy S came with the AllShare app (which I haven't used yet) that claims to be a DLNA server and client. Can't find it in the Market, so I assume its Samsung only.
Saturday, January 4, 2020
recovery mode - Samsung phone still bricked via FRP after factory reset
This is a continuation of this question, but here are the facts: I have a rooted Samsung Galaxy J1 Ace SM-J111F running the stock ROM in Android 5.1.1. I used this XDA-Developers guide to root it. It suddenly got bricked via FRP lock so I tried to unroot it using the stock boot binary.
Here is an Imgur album containing screenshots and images of the phone during the unrooting process.
Description of images:
- The phone is set on Download/Odin mode.
- Odin is ran as administrator and is loaded with
boot-stock.tar
provided by this XDA-Developers guide. - The settings of Odin.
- This shows that the flash has failed.
- The custom binary is blocked by FRP and I have to restart the phone to flash again.
I tried downloading from www.samsung-firmware.com and www.sammobile.com but all downloads have failed. It stops midway and asks for a HTTPS certificate and the archive becomes corrupted between 20 to 70 percent.
I therefore decided to wipe the data using the stock Android system recovery. However, after rebooting it, the binary is still blocked via FRP lock. I've wiped the cache as well.
What caused this issue and how do I solve this?
Answer
Be sure that the stock firmware is correct. It should be 1 or a few gigabyte(s) in size.
I've finally unrooted my phone. I used Updato's firmwares (which is the only one that has SM-J111F stock firmwares), specifically SM-J111F with product code XME and its PDA as J111FXXU0AQD2 (J111FXXU0AQD2_J111FOLB0APL2_J111FXXU0AQC2_HOME.tar.md5
).
samsung galaxy s 2 - Solutions for connecting phone/tablet to a bigger monitor?
An ebook I purchased is locked to my device so I can't open it anywhere else. I'm having a hard time reading due to the small screen size of my phone.
Is there a way I can get it to display on my monitor? I don't have any special cables so I'll have to use any wireless means possible. Also to note: I'm not looking for emulation as the app has locked my ebook to the device.
Any creative solutions are welcome.
data recovery - How can I recover a deleted file on Android?
I just deleted a file on my Nexus S that I really need back. (It was actually part of an app using a sqlite database that did a drop table when upgrading to a new version.)
Presumably I need to root the phone first (which I hear is easy on Nexus phones) but am I in a catch-22 here? Namely, does rooting the phone mean wiping/overwriting the partition where the data lives?
If not, what do you recommend for data recovery tools? Presumably the file was just unlinked and not actively overwritten (per usual when "deleting" a file) so technically the data must be there...
Friday, January 3, 2020
How to open Microsoft Excel files?
I would like to read my Microsoft Excel files on my Android device. Is there anything built-in natively? Is there an application for viewing and editing Excel files on Android?
languages - Help getting Arabic on Android
My Friend is going to sell his Nexus S because it does not natively support Arabic.
I have found several websites that claim to have a solution to this issue.
http://ardoid.com/ Seems to be the easiest solution to implement.
Has anyone tried this or any other solution?
Do the characters run together like how Arabic is written and not the single characters?
Will the menues change to Arabic?
Can he store contact names in Arabic?
What arabic does it use?
Will the push updates work?
Will the spell checker work?
wi fi - Why does HTC Incredible S turn Wi-Fi on by itself?
Sometime after latest official update to Android 4.0 phone began to switch Wi-Fi on by itself when being in sleep mode (or maybe at other times).
Reproduction: turn off the Wi-Fi, leave it in a Wi-Fi enabled area (there are open networks, but no which I would like to use), and next time I look at phone it shows this notification "There are open networks" and has the Wi-Fi enabled.
The reason I'd like to disable this behavior is phone likes to connect to some saved public Wi-Fi's when I'm on the move and browsing via 3G, thus disrupting the loading of pages. So I usually turn Wi-Fi on and off manually.
Thursday, January 2, 2020
sd card - Mount /sdcard with Linux
I have two Android 4.x devices, one 4.0.2 and another 4.4.2. On both, I have installed SSHelper to push data to and from the device using rsync
. It worked, but the new environment does not even have a usable rm
. I would like to switch over to something that works better and possibly faster.
My next attempt was to use MTP over USB with mtpfs
, but that does not work, it freezes. simple-mtpfs
is not packaged for Ubuntu 13.10. KDE KIO is able to read from the device over MTP, but that does not help me at all, since I want to write my own script using rsync
, and it is not able to write to it.
Then I tried sshfs
, I do not get any errors mounting it, but I get IO-errors whenever I even try to cd
into the mountpoint. I guess the environment with SSHelper lacks something. It does not work with HTTPS and FTPS Server either. The SFTP provided with the latter works with Filezilla, though.
So how can I get /sdcard
to be mounted somewhere on my Linux machine and copy and delete files from it like I want?
Wednesday, January 1, 2020
samsung galaxy s 2 - Rooting Stock Firmware - GSII with NFC
I have a Galaxy S2 with NFC (GT-I9100P) and I wish to have root access to properly administrate my phone.
I've been looking at various forum posts on different sites and I've just been getting more and more confused as to what I need to do.
From what I understand, I need to flash an unsecure kernel to the phone (with ODIN) to get root access, then I can flash the stock firmware back onto the phone and retain root access. Is this correct?
Further information: My baseband version is I9100PBVLP7
kernel version: 3.0.15-I9100PBVLPA-CL364024dpi@DELL169 #3
and my operator is Orange UK.
I've managed to obtain the firmware version that is on my phone already through sammobile.com, I just have no idea what I need to do next.
Reward If anyone can help me to get root access on my stock firmware I will give them as much bounty as I can when the question is eligible for it.
Answer
If all you need is root access, try flashing the Siyah kernel via ODIN. Ensure you get the S2 version, as the dev has one for the S3 as well. Also, you will need the TAR version as you will flash it via ODIN (at least for the first time). Later instances, you can get the ZIP format and flash it via CWM (ClockworkMod recovery, which is built into the kernel). Apart from features like more processor steps, you can also overclock/underclock, adjust various parameters and have features like Backlight Notifications.
Since you will flash this kernel, you DO NOT need to flash the firmware. You can keep the stock firmware and your data intact. This kernel automatically installs root access so your primary requirement is also fulfilled.
As with all operations, ensure you have an off-site backup of all your data.
As an aside, once you install the kernel, get the ExTweaks app from the market which is designed especially for this kernel and offers a GUI/frontend to access many under-the-hood features.
Assuming you have all the drivers installed, here's how you go about it:
Download the TAR file of the Siyah kernel. Note that the latest series is for ICS, in case you're running Gingerbread, search for and download the appropriate older version of the kernel.
Start ODIN and connect your phone via the USB cable AFTER you enter DOWNLOAD MODE (Press Vol down + HOME + POWER button simultaneously for a few seconds after completely shutting down phone. At the warning screen hit Vol UP to confirm entry to download mode).
Once connected, you should see a COM port number with a yellow background.
In the ODIN program, press the PDA button and point to the TAR file.
make sure ONLY Auto-reboot is ticked and then click START.
If all goes well, you should see a green box with PASS! shown after which your phone will boot up. It may take a minute or two, so don't panic.
Refer to the FAQ and the respective threads on XDA-Forums for more info.
samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade
I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...
-
It runs Android 2.3.6 and has the 2.3.38.6-perf kernel version. I've already tried using SuperOneClick but it doesn't work. :( I...
-
The Samsung Galaxy Tab 10.1 comes with a special charger which (I'm assuming) provides a higher current output than the USB standard. Wi...
-
I'm trying to change my phone's (CM 12, Stock 4.2, both rooted) preferred network mode from "GSM/WCDMA" (0) to "WCDMA...
-
Is it possible to enable Location Services(GPS or Google NetworkLocation) via ADB or Terminal Emulator? I'm on a rooted Phone. Extra Poi...
-
In order to save some volume on my data plan, I'd like to limit updates from the market to the times when I'm connected to a WiFi. A...
-
I would like to activate "USB tethering" from within a bash script, so is there any possibility to run a command line with adb she...
-
I want to run an Android init service. I have a device which has rooted shell (purchased from manufacture as rooted). This device doesn...