text:
slow unusable nexus s
Samsung Nexus S, android 4.3.1, cyanogen 10.2.0-crespo, usable memory: 383MB

I have this mobile for three years now. The phone seemed to work okay until ICS and it started to get worse with Jelly bean. Now-a-days the phone is really slow and it is mostly unusable. It becomes more unusable when enabling data/wifi. I assume many apps are sent the broadcast message at the same time and they are all trying to perform updates at the same time.
I used to have Watchdog app and for quite a long time I have been monitoring cpu utilization and load average and found it to be high at most times. Until one day, I spotted the available memory was close to zero. Then i assumed the cpu is performing a lot of wasteful GC at most times. Later, I spotted more occurrences of memory plummeting to zero. I noticed that the garbage collection kicks in when I view 'My apps -> Running' and I am not sure whether it happens often enough to make the system performant.
In order to debug, I decided to reduce the number of apps and started uninstalling many of the apps including watchdog but that approach has not solved the problem. I have installed cyanogen updates and that has not solved the problem. I did notice the phone is much faster with the default apps from cyanogen. after installing gapps.zip, android installs more apps based on purchase history and the phone becomes slower. also the phone seems to be faster on restart and after a few days of uptime, it has less memory to work with. i believe there may be a memory leak and not enough memory to launch new apps and does wasteful GC work.
the ways I realize the phone to be slow are
1. when looking at running apps, android seem to be killing many non-foreground apps as I notice status 'restarting'
2. when i use the button on my microphone, the beep to the interrupt arrives either too late or it is completely missed.
3. if i come out of an app to the home screen, I can notice trebuchet initializing
guys, can you please offer some suggestions to debug the issue?
Thanks
Currently installed apps
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<AppListData>
  <App appname="Amazon" pname="uk.amazon.mShop.android" size="5316335" sizeString="5.07MB" date="23/04/2013" time="1366738427171" />
  <App appname="Amazon Kindle" pname="com.amazon.kindle" size="23581179" sizeString="22.49MB" date="21/04/2013" time="1366570897904" />
  <App appname="App List Backup" pname="com.brandao.applistbackup" size="2304027" sizeString="2.20MB" date="01/04/2014" time="1396383102282" />
  <App appname="App List Backup" pname="com.punsoftware.backup" size="378902" sizeString="370KB" date="01/04/2014" time="1396382887244" />
  <App appname="Barcode Scanner" pname="com.google.zxing.client.android" size="668224" sizeString="653KB" date="21/06/2013" time="1371836472245" />
  <App appname="BubbleUPnP" pname="com.bubblesoft.android.bubbleupnp" size="3957649" sizeString="3.77MB" date="13/03/2014" time="1394747887162" />
  <App appname="Bus Scout" pname="eu.asteryx.transportlocator" size="1681662" sizeString="1.60MB" date="26/10/2013" time="1382772788648" />
  <App appname="ColorNote" pname="com.socialnmobile.dictapps.notepad.color.note" size="859481" sizeString="839KB" date="27/04/2013" time="1367058968594" />
  <App appname="English" pname="livio.pack.lang.en_US" size="14437111" sizeString="13.77MB" date="26/04/2013" time="1366978486863" />
  <App appname="Facebook" pname="com.facebook.katana" size="17040328" sizeString="16.25MB" date="19/07/2013" time="1374218323740" />
  <App appname="Gmail" pname="com.google.android.gm" size="4253876" sizeString="4.06MB" date="21/04/2013" time="1366552277742" />
  <App appname="Google Play services" pname="com.google.android.gms" size="12235141" sizeString="11.67MB" date="21/04/2013" time="1366552139811" />
  <App appname="Google Play Store" pname="com.android.vending" size="6951714" sizeString="6.63MB" date="01/08/2008" time="1217592000000" />
  <App appname="Google Search" pname="com.google.android.googlequicksearchbox" size="15140947" sizeString="14.44MB" date="01/08/2008" time="1217592000000" />
  <App appname="Journey Pro" pname="com.navitime.journeypro" size="9248795" sizeString="8.82MB" date="21/04/2013" time="1366582802991" />
  <App appname="Klipsch Control" pname="com.outsidesource.klipschcontrol" size="1133885" sizeString="1.08MB" date="06/02/2014" time="1391648578499" />
  <App appname="Maps" pname="com.google.android.apps.maps" size="7231300" sizeString="6.90MB" date="21/04/2013" time="1366552318711" />
  <App appname="Music" pname="com.jrtstudio.music" size="1015725" sizeString="0.97MB" date="13/12/2013" time="1386910689644" />
  <App appname="Pink Floyd" pname="com.pinkfloyd" size="802578" sizeString="784KB" date="29/09/2013" time="1380469681247" />
  <App appname="Pink Floyd Lyrics" pname="com.burke.pinkfloydlyrics" size="789866" sizeString="771KB" date="29/09/2013" time="1380469799724" />
  <App appname="Planning Poker" pname="com.ubxd.poker" size="106737" sizeString="104KB" date="29/04/2013" time="1367230918208" />
  <App appname="Pulse" pname="com.alphonso.pulse" size="9143806" sizeString="8.72MB" date="21/04/2013" time="1366570526289" />
  <App appname="Silent Time" pname="com.QuiteHypnotic.SilentTime" size="83997" sizeString="82.03KB" date="22/04/2013" time="1366618039740" />
  <App appname="Skype" pname="com.skype.raider" size="17600039" sizeString="16.78MB" date="31/05/2013" time="1370024457835" />
  <App appname="Sound Sleep (MT)" pname="imoblife.mtsoundsleep" size="16695081" sizeString="15.92MB" date="02/06/2013" time="1370209484511" />
  <App appname="SwissArmyKnife" pname="com.digital_and_dreams.android.swiss_army_knife" size="761305" sizeString="743KB" date="22/04/2013" time="1366644512928" />
  <App appname="Titanium Backup" pname="com.keramidas.TitaniumBackup" size="6155960" sizeString="5.87MB" date="13/07/2013" time="1373670423283" />
  <App appname="YouTube" pname="com.google.android.youtube" size="7754318" sizeString="7.40MB" date="06/02/2014" time="1391648972286" />
</AppListData>

System information:
u0_a41@crespo:/ $ uname -a
Linux localhost 3.0.101-Cyanogenmod-g7421011 #1 PREEMPT Mon Dec 2 14:43:29
PST 2013 armv7l GNU/Linux

u0_a41@crespo:/ $ free -m
             total         used         free       shared      buffers
Mem:        392408       377584        14824            0         1180
-/+ buffers:             376404        16004
Swap:            0            0            0

u0_a41@crespo:/ $ ps
USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME
root      1     0     584    448   ffffffff 00000000 S /init
root      2     0     0      0     ffffffff 00000000 S kthreadd
root      3     2     0      0     ffffffff 00000000 S ksoftirqd/0
root      6     2     0      0     ffffffff 00000000 S rcu_kthread
root      7     2     0      0     ffffffff 00000000 S khelper
root      8     2     0      0     ffffffff 00000000 S suspend
root      9     2     0      0     ffffffff 00000000 S sync_supers
root      10    2     0      0     ffffffff 00000000 S bdi-default
root      11    2     0      0     ffffffff 00000000 S kblockd
root      12    2     0      0     ffffffff 00000000 S khubd
root      14    2     0      0     ffffffff 00000000 S cfg80211
root      15    2     0      0     ffffffff 00000000 S cfinteractive
root      16    2     0      0     ffffffff 00000000 S rpciod
root      17    2     0      0     ffffffff 00000000 S khungtaskd
root      18    2     0      0     ffffffff 00000000 S kswapd0
root      19    2     0      0     ffffffff 00000000 S ksmd
root      20    2     0      0     ffffffff 00000000 S fsnotify_mark
root      21    2     0      0     ffffffff 00000000 S nfsiod
root      22    2     0      0     ffffffff 00000000 S crypto
root      37    2     0      0     ffffffff 00000000 S kapmd
root      38    2     0      0     ffffffff 00000000 S pvr_timer
root      39    2     0      0     ffffffff 00000000 S sec_jack_wq
root      40    2     0      0     ffffffff 00000000 S irq/38-sec_head
root      41    2     0      0     ffffffff 00000000 S irq/167-fsa9480
root      42    2     0      0     ffffffff 00000000 S mtdblock0
root      43    2     0      0     ffffffff 00000000 S mtdblock1
root      44    2     0      0     ffffffff 00000000 S mtdblock2
root      45    2     0      0     ffffffff 00000000 S mtdblock3
root      46    2     0      0     ffffffff 00000000 S mtdblock4
root      47    2     0      0     ffffffff 00000000 S mtdblock5
root      48    2     0      0     ffffffff 00000000 S mtdblock6
root      49    2     0      0     ffffffff 00000000 S spi_gpio.3
root      58    2     0      0     ffffffff 00000000 S f_mtp
root      59    2     0      0     ffffffff 00000000 S file-storage
root      60    2     0      0     ffffffff 00000000 S irq/308-mxt224_
root      61    2     0      0     ffffffff 00000000 S irq/173-k3g
root      62    2     0      0     ffffffff 00000000 S gp2a_wq
root      64    2     0      0     ffffffff 00000000 S irq/172-s3c-sdh
root      65    2     0      0     ffffffff 00000000 S binder
root      66    2     0      0     ffffffff 00000000 S krfcommd
root      67    2     0      0     ffffffff 00000000 S mmcqd/0
root      68    2     0      0     ffffffff 00000000 S mmcqd/0boot0
root      69    2     0      0     ffffffff 00000000 S mmcqd/0boot1
root      70    2     0      0     ffffffff 00000000 S dhd_cfg80211_ev
root      71    2     0      0     ffffffff 00000000 S dhd_watchdog
root      72    2     0      0     ffffffff 00000000 S dhd_dpc
root      73    2     0      0     ffffffff 00000000 S dhd_sysioc
root      74    2     0      0     ffffffff 00000000 S irq/334-cypress
root      75    2     0      0     ffffffff 00000000 S max8998-charger
root      76    2     0      0     ffffffff 00000000 S irq/39-max8998-
root      77    1     512    304   ffffffff 00000000 S /sbin/ueventd
root      78    2     0      0     ffffffff 00000000 S yaffs-bg-1
root      79    2     0      0     ffffffff 00000000 S yaffs-bg-1
root      81    2     0      0     ffffffff 00000000 S jbd2/mmcblk0p1-
root      82    2     0      0     ffffffff 00000000 S ext4-dio-unwrit
root      83    2     0      0     ffffffff 00000000 S jbd2/mmcblk0p2-
root      84    2     0      0     ffffffff 00000000 S ext4-dio-unwrit
system    86    1     924    220   ffffffff 00000000 S
/system/bin/servicemanager
root      87    1     4128   512   ffffffff 00000000 S /system/bin/vold
audit     90    1     976    296   ffffffff 00000000 S /system/bin/auditd
root      91    1     9916   904   ffffffff 00000000 S /system/bin/netd
root      92    1     960    244   ffffffff 00000000 S /system/bin/debuggerd
radio     93    1     7160   996   ffffffff 00000000 S /system/bin/rild
system    94    1     50844  34260 ffffffff 00000000 S
/system/bin/surfaceflinger
root      95    1     291036 12620 ffffffff 00000000 S zygote
drm       97    1     10404  952   ffffffff 00000000 S /system/bin/drmserver
media     98    1     38252  3228  ffffffff 00000000 S
/system/bin/mediaserver
install   99    1     952    316   ffffffff 00000000 S /system/bin/installd
keystore  100   1     3292   648   ffffffff 00000000 S /system/bin/keystore
gps       101   1     26124  1980  ffffffff 00000000 S
/system/vendor/bin/gpsd
shell     104   1     848    212   ffffffff 00000000 S /system/bin/sh
root      105   1     588    32    ffffffff 00000000 S /system/xbin/su
root      115   2     0      0     ffffffff 00000000 S kauditd
root      116   2     0      0     ffffffff 00000000 S pvr_workqueue
system    368   95    471676 107716 ffffffff 00000000 S system_server
u0_a39    446   95    369460 70424 ffffffff 00000000 S com.android.systemui
radio     564   95    351644 28920 ffffffff 00000000 S
com.android.phoneu0_a13    572   95    318548 16920 ffffffff 00000000 S
com.bel.android.dspmanager
nfc       580   95    321468 15204 ffffffff 00000000 S com.android.nfc
theme_man 589   95    314312 14152 ffffffff 00000000 S
com.tmobile.thememanager
root      677   2     0      0     ffffffff 00000000 S loop0
root      678   2     0      0     ffffffff 00000000 S kdmflush
root      690   2     0      0     ffffffff 00000000 S kcryptd_io
root      691   2     0      0     ffffffff 00000000 S kcryptd
root      692   2     0      0     ffffffff 00000000 S ext4-dio-unwrit
nfc       694   95    317504 13424 ffffffff 00000000 S
com.android.nfc:handover
u0_a48    788   95    314072 13252 ffffffff 00000000 S com.android.smspush
u0_a49    2181  95    361244 24236 ffffffff 00000000 S
com.google.process.gapps
u0_a49    2204  95    352248 17264 ffffffff 00000000 S
com.google.process.location
root      3158  2     0      0     ffffffff 00000000 S flush-179:0
u0_a1     3844  95    325584 19564 ffffffff 00000000 S android.process.acore
root      17538 2     0      0     ffffffff 00000000 S kworker/u:3
root      21485 2     0      0     ffffffff 00000000 S kworker/u:1
u0_a24    22634 95    321564 32460 ffffffff 00000000 R
com.android.inputmethod.latin
root      23014 2     0      0     ffffffff 00000000 S kworker/0:2
root      24625 2     0      0     ffffffff 00000000 S kworker/u:0
root      25153 2     0      0     ffffffff 00000000 S kworker/0:0
root      25948 2     0      0     ffffffff 00000000 S kworker/u:2
root      26130 2     0      0     ffffffff 00000000 S kworker/0:1
root      26146 2     0      0     ffffffff 00000000 S flush-31:4
root      26147 2     0      0     ffffffff 00000000 S flush-31:6
wifi      26386 1     3252   908   ffffffff 00000000 S
/system/bin/wpa_supplicant
dhcp      26418 1     952    440   ffffffff 00000000 S /system/bin/dhcpcd
u0_a66    27191 95    352376 50764 ffffffff 00000000 S com.facebook.katana
u0_a41    27231 95    310040 27240 ffffffff 4011f6f0 R jackpal.androidterm
u0_a41    27247 27231 848    468   c0040f64 4002fef8 S /system/bin/sh
u0_a67    27258 95    0      0     ffffffff 00000000 Z ogle.android.gm
u0_a49    27275 95    439248 26740 ffffffff 00000000 S
com.google.android.gms
u0_a17    27356 95    313376 24288 ffffffff 00000000 S android.process.media
u0_a41    27388 27247 1172   460   00000000 4004215c R ps
u0_a41@crespo:/ $ uptime
up time: 10 days, 21:42:08, idle time: 07:47:10, sleep time: 10 days,
07:34:03

u0_a41@crespo:/ $ df
Filesystem               Size     Used     Free   Blksize
/dev                   191.6M    64.0K   191.5M   4096
/mnt/secure            191.6M     0.0K   191.6M   4096
/mnt/asec              191.6M     0.0K   191.6M   4096
/mnt/obb               191.6M     0.0K   191.6M   4096
/mnt/fuse              191.6M     0.0K   191.6M   4096
/cache                 469.5M    89.6M   379.9M   4096
/efs                     6.8M     4.6M     2.2M   4096
/system                503.9M   380.8M   123.2M   4096
/data                 1007.9M   483.1M   524.8M   4096
/storage/sdcard0        13.3G     5.6G     7.7G   4096
/mnt/asec/imoblife.mtsoundsleep-1    17.0M    16.0M     1.0M   4096

u0_a41@crespo:/ $ cat /proc/interrupts
           CPU0
18:       4434  s3c-uart
22:       4434  s3c-uart
28:          7  s3c-uart
30:       5924  s3c-uart
33:    5651790  s5p_vic_eint  acc_int
34:        237  s5p_vic_eint  proximity_int
38:      88976  s5p_vic_eint  sec_headset_detect
39:         19  s5p_vic_eint  max8998-charger
43:     106060  s5p_vic_eint  modemctl_mbox
44:          0  s5p_vic_eint  pn544
47:          2  s5p_vic_eint  modemctl_bp
50:          0       VIC  s3c-pl330.0
51:          0       VIC  s3c-pl330.1
52:          0       VIC  s3c-pl330.2
58:        179       VIC  System timer
61:   16928706       VIC  rtc-tick
78:     341601       VIC  s3c2440-i2c.0
83:     535608       VIC  s3c2440-i2c.2
88:          0       VIC  s3c-udc
90:    8682840       VIC  mmc0
92:     354172       VIC  mmc1
95:    3416889       VIC  onenand
97:     247260       VIC  s3cfb, s3cfb
101:       3249       VIC  s3c-fimc0
102:          0       VIC  s3c-fimc1
103:          0       VIC  s3c-fimc2
104:          9       VIC  s3c-jpg
106:    1490590       VIC  pvrsrvkm
109:   45691172       VIC  s3c2440-i2c.1
110:          0       VIC  s3c-mfc
112:     854208       VIC
130:    1695299       VIC  mmc2
157:          0       VIC  debug-signal
164:     156714  s5p-eint  bcmsdh_sdmmc
165:          3  s5p-eint  bt_host_wake_irq_handler
166:       1912  s5p-eint  gpio_keys
167:         21  s5p-eint  fsa9480 micro USB
169:        197  s5p-eint  gpio_keys
170:        155  s5p-eint  gpio_keys
171:       3738  s5p-eint  akm_int
172:          0  s5p-eint  s3c-sdhci.2
173:       9764  s5p-eint  k3g
174:        105  s5p-eint
308:      41106  s5pv210-eint-group  mxt224_ts
334:       1347  s5pv210-eint-group  cypress-touchkey
FIQ:              fiq_glue
Err:          0
u0_a41@crespo:/ $ netstat -an
Proto Recv-Q Send-Q Local Address          Foreign Address        State
tcp6       0      0 ::ffff:192.168.0.6:48308 ::ffff:173.194.41.162:443TIME_WAIT
tcp6       0      0 ::ffff:192.168.0.6:52519 ::ffff:31.13.72.81:443ESTABLISHED
tcp6       0      0 ::ffff:192.168.0.6:41936
::ffff:173.194.66.188:5228ESTABLISHED
tcp6       0      0 ::ffff:192.168.0.6:48137
::ffff:173.194.41.142:443ESTABLISHED
tcp6       1      0 ::ffff:192.168.0.6:50009 ::ffff:173.194.41.132:80CLOSE_WAIT
tcp6       0      0 ::ffff:192.168.0.6:35612
::ffff:173.252.102.16:443ESTABLISHED
tcp6       0      0 ::ffff:192.168.0.6:52520 ::ffff:31.13.72.81:443ESTABLISHED

I have one of these phones as well, but I don't use it as my primary phone anymore. Honestly, the device has been over run by today's software. Apps keep evolving to make use of the more powerful hardware available and these older devices just can't keep up anymore. I still use my Nexus S as a play device for my kids. It has a very bare minimum installed and is still frequently low on or out of RAM. The 512 MB total RAM available isn't enough by today's standards. With the aggressive nature many apps have to keep themselves running, killing them doesn't do much good and even Android's memory management can't keep up.
I see you don't have a lot installed either as you've been removing things during your troubleshooting, but some of those apps that are left can be pretty weighty and run in the background most if not all the time. Check the Show Cached Processes as well as Running Apps and you'll likely see what else is hogging your memory.

i have upgraded to cyanogenmod version of kitkat for crespo. i have not installed gapps and i use amazon store for apps and occasionally try some .apk files. the phone is much faster and responsive and i have mostly around 100MB free. kitkat OS developers really have spent some time to be nice with old low-memory devices https://developer.android.com/training/articles/memory.html

There RAM usage seems a bit disturbing. I try to see to it that it has a min. of 15% - 30% free space.
There is a bit of a lag on our crespos. But, that relates to how many Apps are executed from Internal Memory and / or USB Storage.
Did you try moving Apps in and out of your Internal Storage. However, RAM is needed immaterial to your App's location.
Did you try any options, as yet?


text:
How to delete google play?
I want to disable or delete google play store (I don't want the person who has access to the device to install any apps, and I want to free up some space while I'm at it).
I have root. Where are the files stored (such as the apk, odex)?
Is it in /system/app?

Use titanium backup, which lets you disable/remove apps like that. Or, flash a new rom that doesn't include gapps, download a gapps package and remove the Play Store, then flash that modified package.

Do I have to get rid of all gapps to remove google play? Can I first install google maps and then remove google play?

You shouldn't have to remove everything just to disable the one app. Google Maps? Sorry, I can't really follow haha. Should be a simple task to use an app such as Titanium Backup to disable/remove the Play Store by itself. If you ever do want to put it back on your device you can always download and install the apk from here:
http://www.androidpolice.com/2014/03/13/download-latest-google-play-store-4-6-16-with-new-require-password-option-tweaked-ui-forced-self-update-and-more/ (I believe that is the latest version of the store, but I may be wrong).

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Where can I see all my +1 and app ratings?
Where can I see all my +1 and app ratings?

In Google Play Store, click the My Play activity link.

Source.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
USB Condenser mic with Nexus 10 tablet
I've got a Samsung / Google Nexus 10 tablet, and I'd like to find a way to use my AudioTechnica AT2020 USB condenser microphone with it. The microphone has a standard USB type B connector on it (similar to a printer), and the typical cable goes to a USB type A connector.
Does anyone know if there is any way to hook this up, so I can record audio with my tablet?

I don't think the OS supports USB audio, so you'd need to find a custom ROM and kernel that do.


text:
How can I detect if a shell script is running on Android?
What is the most reliable way to detect if a script is running on Android (instead of a regular Linux build)?
To run scripts, I'm using bash, the Terminal app, and BusyBox.

To do this, we need the code below in a file somewhere on the Android device (in /data/checkdroid for example):
ANDROID_HOST=0
ANDROID_BUSYBOX=/system/bin/busybox
ANDROID_BUSYBOX_APPLETS="acpid add-shell addgroup adduser adjtimex arp arping ash awk base64 basename beep blkid blockdev bootchartd brctl bunzip2 bzcat bzip2 cal cat catv chat chattr chgrp chmod chown chpasswd chpst chroot chrt chvt cksum clear cmp comm conspy cp cpio crond crontab cryptpw cttyhack cut date dc dd deallocvt delgroup deluser depmod devmem df dhcprelay diff dirname dmesg dnsd dnsdomainname dos2unix du dumpkmap dumpleases echo ed egrep eject env envdir envuidgid ether-wake expand expr fakeidentd false fbset fbsplash fdflush fdformat fdisk fgconsole fgrep find findfs flock fold free freeramdisk fsck fsck.minix fsync ftpd ftpget ftpput fuser getopt getty grep groups gunzip gzip halt hd hdparm head hexdump hostid hostname httpd hush hwclock id ifconfig ifdown ifenslave ifplugd ifup inetd init insmod install ionice iostat ip ipaddr ipcalc ipcrm ipcs iplink iproute iprule iptunnel kbd_mode kill killall killall5 klogd last less linux32 linux64 linuxrc ln loadfont loadkmap logger login logname logread losetup lpd lpq lpr ls lsattr lsmod lsof lspci lsusb lzcat lzma lzop lzopcat makedevs makemime man md5sum mdev mesg microcom mkdir mkdosfs mke2fs mkfifo mkfs.ext2 mkfs.minix mkfs.vfat mknod mkpasswd mkswap mktemp modinfo modprobe more mount mountpoint mpstat mt mv nameif nanddump nandwrite nbd-client nc netstat nice nmeter nohup nslookup ntpd od openvt passwd patch pgrep pidof ping ping6 pipe_progress pivot_root pkill pmap popmaildir poweroff powertop printenv printf ps pscan pstree pwd pwdx raidautorun rdate rdev readahead readlink readprofile realpath reboot reformime remove-shell renice reset resize rev rm rmdir rmmod route rpm rpm2cpio rtcwake run-parts runlevel runsv runsvdir rx script scriptreplay sed sendmail seq setarch setconsole setfont setkeycodes setlogcons setserial setsid setuidgid sh sha1sum sha256sum sha3sum sha512sum showkey slattach sleep smemcap softlimit sort split start-stop-daemon stat strings stty su sulogin sum sv svlogd swapoff swapon switch_root sync sysctl syslogd tac tail tar tcpsvd tee telnet telnetd test tftp tftpd time timeout top touch tr traceroute traceroute6 true tty ttysize tunctl udhcpc udhcpd udpsvd umount uname unexpand uniq unix2dos unlzma unlzop unxz unzip uptime users usleep uudecode uuencode vconfig vi vlock volname wall watch watchdog wc wget which who whoami whois xargs xz xzcat yes zcat zcip"

checkAndroid() {
    [ ! -e "/system/bin/adb" ] && return
    ANDROID_HOST=1
    if ! type $ANDROID_BUSYBOX >/dev/null 2>&1; then
        echo "FAILED! this program needs busybox to work on Android" 1>&2
        exit 1
    fi
    for i in $ANDROID_BUSYBOX_APPLETS; do
        eval "alias '$i=$ANDROID_BUSYBOX $i'"
    done
}

Here is an usage example of this fixture:
source "/data/checkdroid"
echo "ANDROID_HOST=$ANDROID_HOST" && type rdate
# output:
# ANDROID_HOST=0
# rdate not found
checkAndroid
echo "ANDROID_HOST=$ANDROID_HOST" && type rdate
# output:
# ANDROID_HOST=1
# rdate is an alias for '/system/bin/busybox rdate'

Source: https://gist.github.com/enten/67c4e332908b248a59a9

Please clarify the usage of your script.

To determine if the script itself is running on an Android device or another flavor of Linux use getprop to detect if the script is running on Android instead of regular Linux.
If you want to use the getprop command in a script to determine which version of Android is installed, use getprop ro.build.version.release.  It will look something like COMMANDIF="$(command -v getprop ro.build.version.release)" in a script.  Source reference https://github.com/TermuxArch/TermuxArch/blob/master/setupTermuxArch.bash#L657 example.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
What is true octa core?
I found few budget phones are releasing with true octa core.What does it mean? I read that the powerful dual core snapdragon phone is snappier than the quadcore phone of mediatek processor. Is it true? I also read that from ics only android supports dual core. Is the latest kitkat version is made to support octa core?

A true octa-core is basically a processor either with homogenous or heterogeneous multiprocessing architecture.
The processor in the Galaxy S4(Exynos 5410) for example (intl. edition) has 8 cores based on the ARM big.LITTLE architecture wherein 4 cores are slower with low-power and 4 are faster with relatively higher power consumption. Under this scheme two possibilities are there:

Only homogenous multiprocessing, For example in Galaxy S4. This allows only 4 cores to run at a time out of a total of 8. The processor can control which 4 run but all 8 cannot be utilized together.
Heterogeneous multiprocessing, For example in Galaxy S5. This allows all the 8 cores i.e the low power as well as high power cores to run together effectively increasing the maximum achievable performance of the SoC.

MediaTek's processor is also based on Homogenous Multiprocessing but has 8 homogenous cores instead of 4+4 different ones. This allows these cores to operate in coalition with each other without the heterogeneous architecture.
As far as fast or slow goes it depends on the FLOPS which the processor can achieve.
In this case, Mediatek's processor usually has a slower clock speed than Qualcomm's processor and a different architecture as well. Thus it's impossible to make a direct comparison of two processor without either a benchmarking software or a datasheet, but in general Qualcomm's latest top of the line processors are better than Mediatek's and this is despite additional cores.
One more reason which exists for this performance parity is that not all applications are built to utilize multiple cores i.e parallel processing. If you want more information regarding the same, consider reading this wiki article on Amdahl's Law.


text:
More than 50 android devices on same username/password
I have between 50-100 Android devices.  They are being used as a sensor network. Another 50 are coming online soon.  The devices need to download an app from the play store.  So I need to login with a google username/password.  For now, I have been using the same username/password on all the devices.  However, now google is asking me to resign in to the devices after a week or so.  This didn't happen before.  I think the number of devices on the same account is tripping some alarm.
Does anyone have any recomendations for how to set up 50+ devices so that they are all able to download and receive updates from the app store?

Google Play won't let you do this. You can only have a few devices attached to each account at a time. This is to stop people abusing the facility of using paid content from any device on their account.
If the app is an open-source one, or it's under your control, you should distribute it to all your devices through a different mechanism (e.g. a custom app list on F-droid). Otherwise, you should contact the developer of the app and ask to make a volume licensing deal. Unless they're already dealing with enterprise customers, they won't be prepared for this situation, but I think most app developers will be willing to help you out for a reasonable bulk price.

The app is under my control.  The reason I've been using the app store is to get the automatic updating.  Is there a way to have many devices and still get the auto-updating, without building the auto-updating infrastructure?

Yeah: use a different app delivery platform that's not targeted for retail use. There are several third-party solutions; even if you roll your own, you can still use GCM to push the updates to clients.

I tried poking around.  Do you have a name or two for the third party solutions?

not yet tested... but a lead http://stackoverflow.com/questions/15213211/update-an-android-app-without-google-play

As app publishing questions are off-topic for this site, which deals with end-user questions only, I don't think it would be appropriate to recommend a distributor for your app.

i think if it answers the question it would be alright

"Is there a way to have many devices and still get the auto-updating, without building the auto-updating infrastructure?" Sure, just use different accounts for each device.


text:
Will a Factory Reset on an unlocked Samsung S2 4G T989 from T-Mobile relock the phone?
I have a Samsung S2 4G T989 from T-Mobile which is unlocked. It is currently using ion Indian carrier.
I want to Factory Reset it. Will it be locked again after performing a reset? I don't have any code with me.

NO. A Factory Reset does not re-lock your phone.

No because efs files will not be updated by factory reset


text:
Uninstall app without deleting data
I am building an app that receives updates from a server. So at the beginning of the app, a download occurs. However, this thing is getting a bit annoying since whenever I want to test a new build, I would use:
adb -d uninstall com.mycompany.myapp

This command removes the app as well as its data/cache stored. Now, whenever I do this, I would have to go through the process of downloading the updates again and it takes time (a lot of it).
Is there an adb command that would uninstall the app without removing its data/cache? Eclipse ADT can do this but I don't want to fire up Eclipse everytime I build.
EDIT: I've tried using adb uninstall -k com.mycompany.myapp but it always responds with this:
The -k option uninstalls the application while retaining the data/cache.
At the moment, there is no way to remove the remaining data.
You will have to reinstall the application with the same signature, and fully uninstall it.
If you truly wish to continue, execute 'adb shell pm uninstall -k com.mycompany.myapp'

If I try adb shell pm uninstall -k com.mycompany.myapp it just says Failed.

Why can't you just provision your revised app as an update which installs over the new app?

How do I exactly do that?

@LanceGray - update the version code in your AndroidManifest.xml

If you run adb with no arguments, the help text will tell you the answer to this question.
adb uninstall -k com.mycompany.myapp

removes the app but leaves the data and cache directories. Similarly,
adb install -r myapp.apk

reinstalls an existing app with a new APK file, keeping its data intact.
As a side-note, I don't know if this affects you, but don't forget that Google Play's developer terms forbids apps from updating themselves (updating the APK file) through a non-Google-Play channel. This is to stop developers side-stepping the Google Play terms by building a 'stub' app that, once installed, replaces itself with an app that doesn't meet the Google Play terms. Updating data files and the like is perfectly fine.

Thanks. Whenever I try adb uninstall -k com.mycompany.myapp, I get an error saying that it's not supposed to be used and if I really want to use it I should use the adb shell pm counterpart, which doesn't work on me. The app I'm building is not for Google Play, so I guess it's fine? Can you provide a link so that I can look more into it?

The -r option works perfectly for me when I needed to update the apk of an app I have installed (with the same signature, mind you) without loosing all my data.


text:
Why there is no Calendar sync Option on android 4.2.2? (Lenovo A850)
I can't find the sync option for calendar in my new Android 4.2.2 phone.
There is every other option such as: Gmail, Google+, Contacts and so on but no calendar!
Can somebody help me to make it work?
By the way, I have rooted my phone. Thanks.

Have you installed Google Calendar?

Install Calendar app
Enable calendar sync

Select calendars to sync

I just found out that running "Google Calendar" app (download from Google Play) on my Huawei synced the "hidden" google calendar (look into the apps settings and calendars on the top left hand corner). Running this app forced a calendar sync and all my events are now visible and the Calendar Sync option in the Gmail account in the Users & Accounts section of Settings is now visible again.
I hope someone out there finds this helpful.


text:
Nexus 4 GPS uses mobile data even when data is turned off
My Nexus 4 running on Android 4.4.2 (KitKat) uses mobile data even when the mobile data is turned off, and I turn on the GPS. When the GPS is turned on I get the carrier message that data is used and the balance is reduced. Why is this happening?

Most phones use data downloaded from the cell network to speed up the initial position fix when you turn on GPS: without these data, it can take several minutes to first get the position, as the GPS receiver has to download all the ephemeris data (i.e. the latest updates/corrections about the satellites' orbits) via the low-bandwidth GPS connection.
Using the cell network to download these data only takes a few seconds, and then you can get a GPS fix right away if you have good visibility. It doesn't actually use the internet at all, which is why it's not affected by the mobile data setting, but since it does download data over your cellular connection, some carriers choose to bill for this as mobile data.
See also What is assisted GPS? on this site.


text:
Lock screen but keep Google Maps turn-by-turn navigation and GPS active
I've a Sony Xperia Z with Android 4.2.2 and need to lock my screen but keep the (voice/turn-byturn) navigation active. How can I achieve that?
As it's currently, as soon as I lock the screen, GPS seems to be disabled instantely (at least when I unlock the phone, it needs to reaquire a GPS fix) and turn-by-turn navigation in Google Maps is instantly disabled.
How can I keep both things activated?
Background: I want to travel by bike without needing to look at my smartphone every few crossroads. Since I don't have a handlebar mount for my smartphone I've to keep it in one of the pockets of my pants. For some reason (I guess the fabric is too thin) the phone registers touches all the time, leading to 'butt-dials' and similiar things.

are you using Extend standby mode or power saving mode this will turn off gps when screen is locked

not as far as I can tell. I checked energy settings and only 'power saving mode' is active which should only take effect if battery state is less than 30% (which it isn't). Also 'Disable GPS' is unchecked as is 'Disable mobile data'.

Can you disable power saving mode and check

Is it working now?

@sameer sorry for the delay but I had to bicycle home (18km and I'm not very...fit, which is currently changing) before I could post again. So, yes it worked. If you post your comment as an answer, I'll mark it as 'the' answer.

Power saving mode will disable the gps when the screen is locked. Disable power saving mode in settings.


text:
Hide the address bar ("omnibox") in Chrome for Android without scrolling?
I'm dealing with a web app that I can't scroll up and down or zoom (scale) in and out, and there is just a tiny bit of the bottom of the page that doesn't fit on the display. Since scrolling and scaling is unavailable, there is simply no way to access it.
However, if I could just hide the Chrome address bar (I believe it's technically called the "omnibox"), then everything would fit. Unfortunately, the only way that I've been able to figure out to hide it is to scroll down the page--which, again, I can't do.
Is there a way to auto-hide the address bar in Chrome for Mobile, without having to scroll down?

Don't work around the problem: the only way to fix it for everyone is to complain to the developer of the webapp. Likely they have only tested it in Safari on iPhone.

As a developer myself, I certainly appreciate this sentiment, and I definitely want it fixed. However, I don't think demanding a "real" fix excludes finding a workaround until they do fix it.


text:
Recovering the contacts, SMS and call log from SD card
I am using an Micromax A57 running Android 2.3.5. Since there was a problem in the launcher, I reset the phone to factory settings, taking my SD card out before doing so. Since the phone's internal memory is very small, all the contacts, call log and SMS are saved on the SD card.
While doing the factory reset, my assumption was that I could restore this information from the SD card afterwards. However, when I re-inserted the SD card, my phone could not get any of my contact, SMS or call log information. I searched the Internet for the past 2 days and tried several applications to get it back but all in vain. My questions are:
First of all, would it be possible to get the SMS, contact and call log back from SD card (as I reset mobile alone taking SD card out)?
If possible, how to restore SMS, contact and call log?
Phone is rooted and I am sure the data lies somewhere in the phone as bits and bytes. Experts advise please.

How did you save the contacts &c. on the SD card in the first place? They're usually only stored on the internal storage.

I added the contacts in phone...but internal memory was just 150 MB effective in my phone and it was maintained on the same line...so my assumption was contacts also being pushed to SD card. were I wrong? And same applies for sms and call log also?

Unless you've done something special to move or export them to the SD card, they would have been on the internal storage, which means your factory reset deleted them.

Your assumption was incorrect. Contacts, SMS and Call logs are indeed stored on the internal memory of the device. Unless you synced your contacts to your Google account, backed up SMS and call logs, they are now lost after a factory reset.

Your assumption that Contacts, SMS and Call Logs are automatically saved to the SD Card was incorrect. They are indeed stored on the internal memory of the device. /data/data/com.android.providers.contacts/ is the most likely storage location. That can change though, depending on Android OS version, manufacturer/carrier modifications, or even 3rd-party apps that you use in place of built-in Contacts/Phone/Messaging apps.
Unless you synced your contacts to your Google account, backed up SMS and call logs, they are now lost after a factory reset.

It is possible to retrieve your contacts as google may have backed it up.
Just add your google account to the phone and when sync is enabled the contacts will be back.
But SMS and Call Logs may not restored.
Also from now on use any app to backup contacts, SMS, call logs etc.
You can use Super Backup from Play Store.


text:
Set background to fill single screen on galaxy nexus
Currently galaxy nexus fits my image for all 5 of my screens, but I want my image to fill the whole screen, on every screen, so when u scroll between screens its the same background, and its the full image, not just parts of it. How can i Achieve this?

Which Android OS version is your Galaxy nexus currently running?  Settings -> About phone -> Android version

I found an app to do it for me, wallpaper wizardrii. Really good!

@Max Can you post that as a separate answer, instead of a comment? Then, don't forget to mark it as Answer two days later. :)


text:
What is the meaning to close Google apps source code
According to the recent news, google apps are closed source and one cannot use it after forking android.
But, as I understand, I can fork Android, create my own OS and then install Gapps manually.
If the users can do it manually, theoretically anyone with any device can use Gapps, than what is the advantage of closing the source if it does not prevent Google from creating other Android alternatives, e.g Cyanogenmod?
EDIT: I am quite aware of the advantages of having closed/open source. The question is that Google wants to get rid of competitors and prevent Android fragmentation. People can fork Android and one day become major OS provider. OF course, forking android without google services has very little value for users and it is extremely difficult to write such services from scratch. So, Google tries to keep its leadership in Android market by closing its service.
But, if one can fork android, customize it, than use Google services (even if installed manually), than this does not help Google at all in reaching its goal, i.e. prevent competitors and Android fragmentation.The Google services still can be very easily used and everyone can have its own alternate Android. So, what is the point to close the services?
Besides this, again, what is the meaning to have Google approved devices?I can  manufacture devices and use their services without having the approval.

Technically, you are not allowed to "install Gapps manually" unless your phone already comes with them pre-installed.  The Google Apps package (that includes Google Play Services, Play Store, and several other apps) is Google's intellectual property, and nobody is allowed to distribute it, except for Google's certified partners that have passed CTS.
For example, CyanogenMod ROM does not include, host, or distribute the Gapps package. Instead, they have scripts built into their tools that back up Gapps that are already installed on your handset prior to  installation/upgrade, and restore them afterwards.  Any other ROMs and maintainers who do host Gapps packages are doing so illegally, and are infringing on Google's copyright.  For the most part, Google chooses to not enforce their copyright against small-time guys, but will not hesitate to unleash their army of lawyers when they deem is necessary.
To answer your question, Google's services are essential for their grip on Android's ecosystem. Only the big guys like Amazon or Samsung can afford to completely steer clear of Google's services with their own offerings. For example, not having access to Play Store on an Android handset is a huge drawback for a smaller manufacturer like HTC, Huawei, Motorola, etc., since the alternatives are usually lacking in both numbers, as well as (perceived) security.  Google uses this as both a carrot and a stick.

Please see the question update.

Answer still applies. Legally speaking, you cannot cannot "use their services" without being certified. It's one thing when a couple of WinZip masters post a file on a forum, and another when a manufacturer wants to bring a new Android device to the market.

Is Cynogenmod certified to use them? I did not find any info on the web

As I said in my answer, CM no longer provides Gapps. During initial installation and subsequent updates, they back up Gapps that are already present on your phone and restore them after install/update process. This is because Google actually sent them "Cease and Desist" letter back in the day when Gapps were baked into CM. See the drama here.

With that said, Cyanogen, Inc. is most definitely certified for Google Apps, and CM on Oppo N1 is fully licensed.

The advantage to closed source apps is that I can write my app and add features and then sell it. This makes me money. But if it is open source, other people can fork the source code for my app and modify it. They might even make it better. But then I'm not getting any money because they are using the better version although I was the first one to come up with it.
Even though the user can manually load up Google apps, they are not able to modify it at all. Companies such as Cyanogenmod can't take Google apps source code and make it better because they don't have that source code.
Lastly, this is very common in software development and you shouldn't expect most things to be open source.
After your edit,
It does help Google. You must understand that Google does not directly generate revenue from Android as an OS. They generate revenue when people use Google services on Android. If you use Google services, Google makes money even if they didn't explicitly tell you so. Google is not going to come after you as an end user using their services.
Now if you are an OEM or company that wants to tack on Google services on your fork of android, you require to be certified as explained in the other answer. Then Google rightly wants a part of the money you make because you are marketing your device with Google services!

Please see question edit


text:
What does this button do in the Twitter app?
I tried to find the answer online but I couldn't.  In the screenshot what does the circled button do?

That button is for replying to a tweet

Wow, I feel stupid...I was wondering what it did because I see on my own tweet so I thought it had a different use than replying....thanks.

actually, when i press reply on my own tweet why does it not show my handle and only the hsndle of the person I was tweeting to....you sure that button still means "reply" when it's below our own tweet?


text:
Why does GMail appear on my phone without unlocking?
If I use GMail and then lock my phone, when I switch it back on, GMail is usable before the PIN has been entered. I can use it entirely as normal but for the absence of the show all apps button at the bottom of the screen, and pressing home takes me to my lock screen.
This is obviously a massive security hole! Is there an option somewhere that I've missed to enable this functionality?
I'm using a rooted Nexus 5 with The Xposed framework and GravityBox.

This is definitely not a normal behavior. Do you have any other Xposed modules loaded? Is it the actual Gmail app, or maybe a lockscreen widget?

Cheers, I worked it out thanks to your comment! See below. :)

I am also using the App Settings extension, and 'Show when locked' was enabled. D'oh. I don't think I did this, but might have done whilst experimenting with my new phone!
Thanks @Chahk1 for the helpful comment which gave me a hint on where to look. :)


text:
How do i fix optimus zone/dynamic storage?
The problem is, there is no "move to sd" option when you try to switch over an app. This is a problem because the internal storage is 1 GB and phone storage is about 200MB. This is not enough to install more than a few apps depending on what they are. In the app manager, there is a button for "move to phone" or "move to internal storage." But there is no move to sd. Plus the phone won't read apps off of the sd card anyways. Last, there is no option for choosing default storage area and even if there was there is still the above mentioned problem that the phone would not read the sd card apps.

Is your phone rooted (if not, are you open to rooting it?) Which Android OS version is it currently running?

I would look into apps such as App2sd in the play store. I think they create a symlink in internal storage that is linked to the actual app data on the sdcard.
I used this on my old phone. It worked pretty well.

It's worth noting that most "apps-to-sd" types of apps require a rooted device.  The ones that don't rely on Android's built-in functions for moving apps to SD Card, and won't work on devices that don't support it natively.


text:
Toggle between 2 gmail calendars?
I would like to have 2 separate gmail calendars, one for work and one for personal.  I have 2 different gmail accounts but I can only find how to sync them together instead of going back and forth between.  Is it possible to keep them separate but both still visible on my phone?

Are you using the samsung calendar app? or the google calendar app?

@MattClark The question is tagged with "google-calendar"

There isn't a way on the stock Calendar app. However you can do this by using two different Calendar apps.


text:
How can I enable USB debugging on my HTC One with Android 4.4?
I have recently updated my HTC One from the stock 4.3 firmware it came with to the stock 4.4 firmware via an OTA update. Since this update occured, I am no longer able to connect to the device with adb for the purpose of installing apps in development on a Windows laptop. adb devices tells me no devices are found HTC Sync Manager is also unable to detect the phone.
However, I am able to transfer files via MTP, something I was unable to do on 4.3 while USB debugging was enabled. Additionally, Windows detects the phone and installs drivers for the device (recognised as "HTC One" though some resources seem to indicate it should appear as "My HTC"). When USB debugging is disabled, it also installs MTP drivers. When USB debugging is enabled, it fails to install MTP drivers and states that the device was disconnected during installation. This does not appear to have any impact on the functionality of MTP however.
However, I have USB debugging enabled under developer options, I have my Android SDK completely updated and HTC Sync Manager fully updated.
I have tried:

Different USB cables which did not work.
A different phone (my old HTC Desire HD) which still works over adb.
Uninstalling and reinstalling HTC Sync Manager & Drivers.
Using a USB 3.0 port
Not using a USB 3.0 port

So you're saying even though the box is checked under developer options, it still isn't letting you install apps through Adb?

Does the phone think it's connected to ADB? If it does, you get a notification with a little KitKat icon. If you get that icon, the problem's on the PC; otherwise, the problem is on the phone.

@DanHulme Yes, my phone is aware that is connected via ADB. I found the issue since asking this question.

Found the solution* Apparently I need more reputation to edit comments here.

As it turns out, the issue was that my phone was no longer being recognised as a composite USB device by Windows, meaning only one of ADB, MTP or HTC Sync was capable of running at a given time. After the update, MTP was always recognised first. This explains both the 4.3 issue of MTP and ADB conflicting, and the 4.4 issue of no ADB.
The solution was provided by HTC's support website:

Step 7. If you could see your phone as the portable device on your PC, but there is still no "Android USB Device" in "Device manager", please try to manually update the driver for your phone.

Expand "Portable Devices" in "Device Manager"
Right click on your phone's name or "MTP USB Device"
Update driver software
Select “Browse my computer for driver software”
Tap “Let me pick from a list of device drivers on my
computer”
Don’t check “Show the compatible hardware”
Select Standard USB main controller
Select USB composite device in the right hand side list as the screen shot below and then click Next
After you click Next, if there is Warning message window pop up, please choose Yes.

Link to HTC support website is broken.

Make sure cable is connected properly.
Try other usb port.
Close all programs running that is related to adb.
Go to developer Options and tick on USB Debugging.
Delete HTC android drivers in device manager and reinsert you cable
:) then restart.

Try uninstalling the previous drivers and after that connect your device to the PC and let the system detect your device drivers and download it.

http://plugable.com/2012/12/01/windows-8-and-intel-usb-3-0-host-controllers
Updating 3.0 drivers from Microsoft to Intel makes HTC devices connect through ADB and FASTBOOT!

But following that link, there is this note: "Important Notice: As of Windows 8.1, we don’t recommend replacing the in-box Windows USB 3.0 stack with the Intel Windows 7 stack, as described in this post. This post is being kept for historical background, but we recommend working with your computer manufacturer and/or Microsoft on any remaining issues with the built-in Windows 8.1 USB 3.0 stack."


text:
samsung s3 battery
When my Samsung S3 battery gets down to 20-15%, the phone becomes unusable. The signal goes completely and the phone screen starts flickering. As soon as that starts, I watch the battery go down from 20% to 1% and die within minutes.
I've only had the phone for 4 months, and it is still under warranty. But I don't want to send it away to be fixed and be phoneless if I can help it. The phone is running the latest software. And I have done antivirus checks and nothing seems to be the problem.
The battery lasts perfectly fine until it gets to around 20% - 15%. Any ideas on what I can do to stop it from happening? Is it the battery or the phone itself?

That's really not normal. The phone should behave completely normally right up to the point it turns itself off.
Since it's still under warranty, you should make a warranty claim. Trying to fix it yourself (or taking it to someone else to fix) will void the warranty, and might not fix the problem, which would leave you worse off than you started.
From what you've described it's not possible to tell where the source of the fault is. If you have a friend with an S3 you could borrow, you could try their battery in your phone to see what difference that makes; but if you make a warranty claim, they'll likely want to test both the phone and the battery, even if you think you've isolated the cause yourself.

You Need to fully drain you devices battery until it turns off by itself at then plug it in the outlet and  leave it overnight.
Explanation:

Battery needs to be calibrated especially if you are not charging the
  battery to a full 100%.

Tips:

Charge your battery to 100% at least a week :)
Ample Power Company suggests:

Conditioning Batteries
How do batteries that are only four months old die? Perhaps they
  weren't broken in properly; maybe they sat deeply discharged for a few
  days or more; perhaps they were allowed to self-discharge. There's
  plenty of ways to murder batteries.
All batteries that refuse to accept a charge are not necessarily ready
  for the scrap heap. Often, a deep discharge followed by a slow charge
  will recover lost capacity and charge acceptance.

Please cite your sources. Copying content from others without providing attribution is not appropriate.

From my reading on Battery University between 40 - 80% charge is the sweet spot for LiOn batteries. They 'prefer' not to be fully discharged, and definitely not fully topped up and left plugged in. IIRC their staff leave them to 40 and charge up to 80%. The battery stats can be calibrated with apps if the device is rooted.

Sorry I forgot to post the link(source)... thanks for the edit...


text:
What kind of account does the Calendar support?
I cant add events to the Calendar, nor the default nor aCalendar because I need to have an online account to sync them.
In Settings/Accounts I have the option to add a Corporate Account (Exchange), Facebook and Yahoo. Facebook and Yahoo do not work, Exchange looks like the right option but I dont have Exchange.
I am using Android 4.1 and it doesn't have the Google applications installed.
Is there another alternative like using a webcal or a local calendar?

many calendar apps support Google account.

Doesn't it need to have the Google apis installed? Maybe I did something wrong but I have installed aCalendar and it ask me to connect to Google Calendar through the Android Accounts (Those under the Sync & Account in Settings), I cannot connect directly.

Try using the Business Calender app, or one of the offline Calendar apps.


text:
Sony Ericsson Xperia X10 USB Debugging Detection Issues
My PC - well, specifically, Flashtool - doesn't detect that my X10 has USB Debugging turned on, even though it displays that it has been activated both in the Settings menu and the notification shade. I've tried the modded Flashtool from XDA-Dev, and the latest versions, but to no avail. Any suggestions? I believe the drivers are up to date, as I can turn storage mode on when plugging it in and transfer files just fine. Rooted, running stock. It was fine pre-root, but as soon as I rooted it the first time around, it hasn't been able to detect. Recovery can't be flashed due to the lack of debugging.

Are you using windows 8

Windows 7 Ultimate

Did u see any exclamation mark near the driver in device manager? Try different port or computer even try different cable

Does the led turn on when you connect? What error are you getting in flashtool when you are connecting?

That's the thing, no errors, no nothing. It can connect just fine, but it never detects that USB debugging is on...

What do you mean by connect fine. Can you provide a snapshot of device manager. Can you check with other pc or Settings > Xperia > USB Connectivity > USB connection mode and select Mass storage mode (MSC). Note that USB cable must be unplugged to change this option and then connect

Can you able to solve the problem

Yes, after a gazillion tries, constantly uninstalling and reinstalling PC Companion and Flashtool, and removing and installing the same drivers over and over again, it finally detected Debugging. Mass storage mode was selected the whole time. No clue what happened that caused it to suddenly start working, but I'm not complaining haha. Thanks for all of the help! It still only detects after I unplug and plug in the USB once or twice, but I can live with that.

Install Sony Pc companion.Go to folder in which flashtool is installed mostly C:/Flashtool.You will find Drivers folder in which you will find Driver.exe click it select the driver for your device click install.
Windows will give you error select Trust the vendor. It is better to turn off your antivirus.
Once installed enable usb debugging mode and connect

I've already done so. I used the drivers in Flashtool, as well as Sony PC Companion, but to no avail...do you think it might just be hardware?


text:
Phone connected as USB storage but PC can't connect to SD card
I have a Huawei Prism II, and my laptop is running Win7.  When I connect it to my laptop's USB port, I get a notification that says "Connected as USB storage," but when I go to My Computer, the phone is showing as:
CD Drive (E:) Mobile Partner
0 bytes free of 7.75 MB
CDFS

So the SD card's memory isn't available to transfer files.  When I go to the Notifications screen and tap "Connected as USB storage", the radio button for "USB storage device" is already selected.  I can select the "Media device (MTP)" option and successfully perform file transfer to/from my SD card this way, but I'm wondering why the "USB storage device" option doesn't make the SD card available.

It looks to me you need the USB driver on your pc. Search Huawei site for "USB driver". Also set "USB Debug" on (on your phone, that is. I don't know if this alone would solve your problem, though).

My phone is Amoi N828 and I have a similar problem. My workaround is disable the USB debugging :) Then reconnect your phone to the computer :)
Hope this help.

SOLVED!
My phone is an HTC Droid Incredible running Android Jelly Bean 4.1. I had the same issue as well, but as Tiana suggested, I turned off USB debugging, rebooted the device (not power off, but actual reboot) and it worked fine.
I had turned on USB debugging previously because I was downloading CM10 but had forgotten to turn it off afterwards.

First Go to [settings]. Then go to (general column). Then go to [developer options]. If you are not getting developer options, then in the same area go to [about the device]. Go to [build number]. Tap on it 5-7 times. Then go to developer options. I guarantee this will help you.

How does going under Developer options helps to solve the problem? There must be a sense somewhere that either I'm missing or the answer doesn't have it. Please explain the reasoning behind your answer.


text:
How to stream video from one device to other?
I need to stream video from my Android device to other Android device over Wi-Fi, but I do not want to have a server in between. How can I do this?

You can use IP Webcam, or perhaps use DLNA. For example Samsung devices come with an app called AllShare which can share and access DLNA enabled devices on the network. I think IP Webcam is your best bet, though. You should be able to open the stream it creates using MX Video player or something like that.
Source: https://stackoverflow.com/questions/14401340/live-stream-video-from-one-android-phone-to-another-over-wifi


text:
"Mediaserver" under Power management / Battery usage (xperia ZL)
I have a Sony Xperia ZL running Android 4.2.2 . There's a background process named "Mediaserver" which uses most of my battery, while the phone is on standby. If I charge it to 100% and leave it alone, the "Mediaserver" process by itself will account for some 30% of all battery usage after 8 hours or so... Mediaserver manages to have "Keep awake" CONSTANTLY!
I've spent quite a lot of time searching about this, and went around many ideas, including that this excessive battery usage could be caused by some corrupt media (audio/picture/video) file stored on the device. But, despite having flashed several stock ROMs from around the world, without even having any kind of media (or even any app but the stock ones), the problem persists!
I have also tried the apps "Rescan Media Root" and "Mediaserver Killer" from the Play store (of course, I do have root access). For my misfortune, they were not useful.
As a fairly advanced user, who likes to be in control of things, I've tried to find "Mediaserver" under Settings / Apps hoping to stop it but it's not there. I'm believing to have found it under /system/bin/Mediaserver (no extension), but how can I stop it from running all the time? It seems to me that deleting/renaming this file isn't really a good idea.
Ps: I also tried a few Task Managers, but still couldn't find/stop the running process.
Any ideas on this will be appreciated, including possible some more information on how to manage built-in background processes on Android. Anything, really, I don't care if it envolves turning to ADB or running commands from Terminal Emulator.
Thank you everyone!

Is google music installed in your phone?

Another cause of this (From my experience) is hitting the home button with a game running (not exiting correctly) and then leaving it or dismissing the app from the 'Recent Applications' screen. Rayman is a devil for this, it will consume battery non stop under the 'media server'.

@sameer: Yes, it is

@Marc.2377 for few uninstalling google music solved the problem but it may be also due to corrupt file

@sameer I doubt it is due to any corrupt files because it happens even from a fresh ROM flashing, like if the phone is brand new. I tried different ROM files and versions as well. Thanks for the tip on Google Music, I'd try that but I kind of gave up on this already.

No i am talking about files in your sd card not the rom

@sameer I'm not making myself very clear. Even if I don't have any files in my phone other than the default ones, it still happens

It could be that it's not a particular file that's corrupt, but the filesystem itself. I've had a similar problem on a Galaxy S3, and the culprit was a filesystem error on the SD card. Removing the SD card and scanning the filesystem for errors from a computer fixed the problem.

This must be the answer I guess, however I didn't have a chance to scan it for errors before the phone crashed.

The media server application indexes all your media on the phone.
Its common that if you transfer media files to your phone that the power consumption of the media server will go up but only for a short period of time. This is necessary, otherwise app's won't be able to find your newly imported media.
But in your case, since you seem to be having troubles with the media server app constantly consuming battery. I think that you may have a/or several corrupt media files in the phone or on your SD card. Causing the media server app to constantly trying to index files.
Just to do a quick test, try to copy all your important media and other files to your computer then delete them from your phone or do a format on your storage memories and check if you still experience this.
If you don't, the problem is as I suspected a broken or corrupt media file. The hard part is to figure out which one.
Source: http://talk.sonymobile.com/

Try to FORCE STOP applications that use your camera such as snapchat and skype. I did and it worked. Good luck!

I have the same problem. (Xperia running 4.4.4) It happened to me when I plugged my phone in to my car USB (ironically to charge the battery). The car system must request a list of media for it to play (I hope it is clever and doesn't ask for photo's too.) From then on my phone started to heat up and my battery started discharging rapidly. This went on for a few hours, long after I had disconnected the phone from the car. Even turning the phone off and restarting it did not clear it. In the end I just looked for running apps, found two processes being run by media. I closed these and the drain stopped. I reckon what is happening is that media keeps trying to handshake with the USB port (or something like that). Some sort of bug in the program keeps it looping when it should close.

I bet one of those apps was PowerAmp? I just cannot find the answer currently, but that app seems to have a setting to always trigger the media scanner. Switching that off should cure the issue.

I had the same problem on my Samsung Galaxy S5. I deleted LOST.dir and the Android map from my SD card, and it fixed the problem.


text:
Does rooting (but no custom roms) trigger knox's void warranty
Does it make Knox's "void warranty" = 0x1

There are two events that will trigger the Knox flag to change from 0x0 to 0x1.

Unsigned recovery (recovery.img) is flashed
Unsigned kernel (boot.img) is flashed

It's not the actual custom rom that trips Knox when you get to flashing. It's the step before that, getting a custom recovery loaded in order to flash the rom itself.
This is also why the de-la-vega root method works, because it flashes a prerooted stock system image to your device without touching the two partitions that DO trip Knox of modified.

Lucky boy! When I did the root procedure on my Galaxy S4, I did not figure out that I was going to lost my warranty increasing the Knox counter... Infact almost any root procedure will do this.
But, as I told you before, you are lucky because there is some new root-procedure that will not increase the Knox counter. You can read further on this: http://www.theandroidsoul.com/universal-root-de-la-vega-script/
Hope I've helped you!
Luca

Have you actually tried this?

The linls are dead on that site and in the comments people were having a lot of trouble

I did not tried it by myself cause I already did the "classic" root procedure with the Chainfire CF-AutoRoot. I'm sorry but I can't help you more :(


text:
Custom ROM dev and Networks
How are International ROMs made?

I have downloaded and installed a little while ago a ROM which is the best I've ever used in terms of speed, smoothness, battery life, and customization and features. However, I am unable to make calls, send SMS and MMS and use the Internet (Mobile Data) due to the fact that I am in Australia and the ROM is not an International ROM.
I am a developer. However my experience in this regard is limited. How would I go about making this ROM support Australian networks? If you know anything at all I would appreciate your help on this. Even if its something as little as a keyword to search for because I have been searching for a long time and have not found a single result that was related.

Is your phone sim locked??

@Sameer Sorry for the delay, my phone is not sim-locked. I can use any sim in my phone (Telstra, Vodafone, Optus, etc)

There's no such thing as an international ROM. When you see (for example) a Cyanogenmod ROM "Samsung Galaxy S III International", it means that the ROM is for the international variant of the phone hardware, with the right drivers for that phone's hardware. The international variant might just have a different radio (to work on the right GSM frequency for your country), but sometimes the international variant is a completely different phone, with a different SoC or screen, but in the same case.
If your phone is an "international" variant, then a ROM that's for the US variant will be missing drivers you need. Fixing this problem requires finding the correct drivers for your hardware and integrating them into the ROM.
If there is only one variant of your phone, or the ROM is already for the correct variant, then you don't need an "international ROM". The only important difference between ROMs for different regions (in this case) is that they have network settings for networks in that region. You just need to get the right APN settings from your network operator (you can probably find them on their website), go into the Mobile networks settings in your phone, and input the correct settings.

But he is not even able to make calls. APN is for mobile data rite?

May be he is in a sim locked phone

I assumed that it worked fine before he installed the custom ROM, which would rule out the phone being SIM-locked. But I suppose I could be reading too much into the question.

Sorry about the delay in reply guys I fell asleep.

@DanHulme, My SIM phone is not locked to any network. I can use Vodafone, Telstra, Optus, etc just fine (well, I could... before I installed this ROM :-)

@DanHulme thank you for your answer. This is making much more sense now. I do have a question though, I thought that APN settings were only used to enable Internet and MMS to work? I only think this because There are only ever 2 types of APN settings in any phone I've bought, which happen to be MMS and Internet. I've never seen settings for Phone (calls). And when I have (in the past) removed both Internet and MMS APN settings, I was still able to make and receive calls. Is there a way to input Phone call settings for the network for a Samaung phone? (I'm already searching for that)

@DanHulme If I understand correctly, these drivers basically just tell the phone how to connect, or what settings to use to connect to a network? If that is the case, then if I don't have the drivers, and there is a setting to use to input those settings, that should work, right?

@Spike I see what you mean now: you're right, the settings for voice calls are entirely on the SIM. If your phone is an "international" variant, then it could have completely different hardware to the US variant. In that case, you need a ROM with the right drivers for that hardware, not just some settings.


text:
android system update in custom rom
I am using a custom rooted android device (not used by anyone else) which comes with android 4.1.2 custom rom.
Suddenly I received an auto update notification and everything was erased... it was a total mess...

Where does my device get the link to download the update from?
How do I disable the auto update?

Even if those things are totally differ from one device to another, I would be very glad to receive a few leads...
thank you.


text:
How to force 2G/3G/4G?
I recently moved from Note 2 to Moto X. In Note 2, the 'Mobile Networks' page inside Settings had the 'Network Mode' setting with options: GSM/WCDMA (Auto mode), GSM only or WCDMA only.
In Moto X however, instead of 'Network Mode' there is 'Prefered network type' which has the options: 4G (recommended), 3G or 2G.
Through this I can force 2G, I'm assuming, but not 3G or 4G (there's no 4G in India yet anyway).
Is there any other setting or any app that can force only 3G (or 4G)?

Hello, here http://www.feelzdroid.com/2015/08/how-to-force-android-phone-to-use-3g-wcdma-mode.html is the brief explanation of what explained above with screenshot. This work for all networks like vodafone, BSNL, airtel etc...

Try *#*#4636#*#* in your dial pad (type the * and # also). Under Phone information you will find Preferred network type. Select GSM  or WCDMA from there.
You will find

WCDMA preferred this will use both 2g and 3g whichever has the
better reception
WCDMA only this will use only 3g
GSM only this will use only 2g

If any one are trying this in dual SIM Moto G, the secret menu is applicable for SIM1 only.

Priceless. Locked the network to lte or wcdma only. I thought selecting the option in CyanogenMod would make it stick but it still went back to edge and sometimes GPRS. This time, its locked for Good.

Methods to manage mobile network settings: http://www.technewstoday.com/21776-how-to-force-a-3g-signal-on-any-android-phone/

You saved my cell phone. I was suffering two weeks with this problem. I was not able to use 3G. This tip was incredible.

Already added to favorites

Install Network app  and try the option WCDMA only.


text:
Normal Internet surfing, without being redirect
Disclaimer: I'm new in the smartphone world.
So, I  have my new smartphone (LG5), I open the browser and I would like to surf internet as I do from my laptop.
I go to google, search a site, for example a newspaper page, I click and... I'm automatically redirect to a page starting with and "m" like m.normal.site.addres which is the page for mobile devices, and which is often a pay-service.
How can I see the normal web page without being redirect?
Thanks in advance for help!

In Chrome for Android, you select "Request desktop site" from the menu in the browser.
I don't know if your phone ships with Chrome as the default browser or something LG have cooked up, so the option might be named differently, but there should be an equivalent.
Most sites will respect this, but you might find that if a site is redirecting you to push you to a pay service, they have another way of redirecting you anyway.

Thanks! If my default browser does not have this choice, how can I install a clean version of chrome?

You can install it from Google Play.

Worth noting that dolphin browser, boat browser, opera etc are great alternatives to Chrome (I do NOT like Chrome, long story) and have this option also!

Maybe your smartphone does not support Chrome browser. By the way, you can do the thing suggested by @Dan Hulme with almost every "custom" browser on the Play Store.
Opera is a good choice (you must consider the lightest one) but Firefox, expecially in the last updates, is another good choice.
If I remember well, the stock andoird browsers has this option too: try to check in the settings!


text:
Change default calendar used by Google Calendar from "Phone" to my Google account
When I create an event on my phone, by default it is created in the "Phone" calendar, unfortunately:

Which means the event is not synced to google.com/calendar.
I have to switch manually every time.
QUESTION: How to change the default calendar?

"Sync Calendar" is enabled.
In the app I have no "Settings > General Settings > Default Calendar" setting.
"Home > Settings > Applications > Calendar Storage > Clear data" did not solve the problem.
Android 4.1.2 with Google Calendar 201308023.
I'd rather stick with the official app, except if it is unfixable.


text:
What is the purpose of a ramdisk in Android?
I am reading a link that explains what partitions exist in Android.
Can someone tell what is the purpose of ramdisk in Android ?
The link says ramdisk is present (along with the kernel) in /boot partition. However, when I try to do some searching based on that, I encounter pages where people try to copy boot.img and ramdisk.img to the phone.
Is ramdisk part of boot ?
Thanks.

The Android ramdisk is the same as the normal linux ramdisk. It's used to start init which then mounts all the normal partitions (normal linux boot procedure).
Have a look here for more details: https://www.ibm.com/developerworks/library/l-initrd/.

Ramdisk

ramdisk.img is a small partition image that is mounted read-only by the kernel at boot time. It only contains /init and a few config files. It is used to start to init which will mount the rest of the system images properly and run the init procedure. A Ramdisk is a standard Linux feature.

The ramdisk is in the boot image and also in the recovery image which is kind of boot image
Here is the tree for unpacked the boot image (Inside the boot.img):
.
├── dt.img
├── img_info
├── kernel
├── ramdisk
│   ├── data
│   ├── default.prop
│   ├── dev
│   ├── file_contexts
│   ├── fstab.goldfish
│   ├── fstab.ranchu
│   ├── fstab.universal3475
│   ├── init
│   ├── init.baseband.rc
│   ├── init.carrier.rc
│   ├── init.container.rc
│   ├── init.environ.rc
│   ├── init.fac.rc
│   ├── init.goldfish.rc
│   ├── init.ranchu.rc
│   ├── init.rc
│   ├── init.rilcarrier.rc
│   ├── init.rilchip.rc
│   ├── init.rilcommon.rc
│   ├── init.trace.rc
│   ├── init.universal3475.rc
│   ├── init.universal3475.usb.rc
│   ├── init.usb.configfs.rc
│   ├── init.usb.rc
│   ├── init.wifi.rc
│   ├── init.zygote32.rc
│   ├── lib
│   │   └── modules
│   ├── oem
│   ├── postrecovery.do
│   ├── proc
│   ├── property_contexts
│   ├── publiccert.pem
│   ├── sbin
│   │   ├── adbd
│   │   ├── bgcompact
│   │   ├── cbd
│   │   ├── emmc_quickverify
│   │   ├── ffu
│   │   ├── firmware_key.cer
│   │   ├── healthd
│   │   ├── knox_changer
│   │   ├── sverifysignature
│   │   ├── ueventd -> ../init
│   │   └── watchdogd -> ../init
│   ├── seapp_contexts
│   ├── sepolicy
│   ├── sepolicy_version
│   ├── service_contexts
│   ├── sys
│   ├── system
│   ├── ueventd.goldfish.rc
│   ├── ueventd.ranchu.rc
│   ├── ueventd.rc
│   └── ueventd.universal3475.rc
└── ramdisk.packed

How do I unpack an android boot.img. Some of thelinux tools I used are not working entirely.


text:
What does the command `adb sideload FILE` do?
I am reading a tutorial on the sideload command at link.
It contains the steps of rebooting into recovery mode and using adb sideload [file].zip.
My question is that what does sideload actually do with that zip file ? In the past I have compiled AOSP and flashed a device using

adb reboot-bootloader
adb fastboot flashall -w

Is sideload trying to achieve something similar to the above ?
Edit:
I think my confusion relating to sideload stems from my lack of understanding of how Android's memory is structured. I found two links.
First is a link that explains Android partitions : partitions
Second is a SO answer, that explains Android's memory: memory
Now my understanding so far is this :
Android has RAM and ROM. ROM is divided into several partitions, namely, /system, /data, /boot, /recovery, /cache, /misc and /sdcard.
Now the link relating to sideload states that this command installs a zip file.
What I don't understand still is that, is this zip file, going to replace the entire ROM in Android ? Namely, will it have to have the right partitions as in the list above ?
This also makes me confused about a similar command 'fastboot flashall'. I know when I run it, the terminal goes by saying its writing to several of the partitions. So my questions boil down to these :
1) Is sideload replacing entire ROM ?
2) Is the related command 'fastboot flashall' also replacing entire ROM ?
3) Are there ways to replace select partitions ?
Thanks.

Adb sideload command just loads a zip file from the computer to the phone. The creator of the zip controls what it does (the recovery just uploads it from the computer and looks at a specific file).
You can do a lot with it, but it's not a full rom, it's cannot replace a rom.
Here is an example of an update.zip I once wrote and sideloaded it to a phone:
mount("yaffs2", "MTD", "userdata", "/data");
delete("/data/system/gesture.key");
delete("/data/system/password.key");
ui_print("Done!");

It deletes a couple of files, and prints a successful result.
2.The command fastboot flash all can replace an entire rom, because it does a bunch of operations like format a partition and install a new rom. But you can flash other files that don't do those things (but often this command do exactly that.)
3.You can do a lot of things in the adb command line, like delete a partition a flash or just copy something else to it. What exactly do you want to do? On which partition?
Hope this is helpful, and check out the android developers page on adb ( http://developer.android.com/tools/help/adb.html ).

That page has no mention of sideloading.

@Nir Thanks for the example of the zip file. Do you have a list of commands that can be used in the zip file for sideload ?

@ChromoZonX sideloade is relatively new command. Here is another article with for 10 basic adb commends: http://www.androidcentral.com/android-201-10-basic-terminal-commands-you-should-know

@Jake you need to write the commends in a file named 'updater-script' inside the update.zip file (in the path META-INF/com/google/android/). Here are some of the commends that you can write in the 'updater-script': http://forum.xda-developers.com/showthread.php?t=936175 and http://forum.xda-developers.com/showthread.php?t=1669489 and i think this can help you too: http://androidforums.com/galaxy-prevail-all-things-root/557602-edify-script-language-reference-updater-script.html

It allows you to flash new firmware or install apps you have developed with the Android SDK.
This is discussed in my question here:
Alldaymall A88s popping up a bunch of junk from PornClub. I have it rooted. Now what?


text:
Does the phone consume less power when 3G disabled Vs 3G & WiFi Enabled?
I found couple of questions about it but they are two year old.
So Is it better to disable (in the top panel) 3G when I have an active WiFi connection and disable WiFi (in the top panel) when I doesn't have active WiFi connection and enabled 3G Data connection?
By better I mean consumes less battery power

When you switch on wifi  3g data will be automatically disabled

You'll definitely have better batty life when you're not using wifi if you turn it off. I don't believe turning off 3g when you're on wifi will save much battery life, because Android is already automatically routing all communications over wifi.

If you're in a area with a poor signal, it will adversely affect your battery even if connected to wifi since the phone has to work harder to maintain the cellular connection.

Wifi is designed to be fast and consume little power. This is especially true if you have a fairly recent phone. The drawback of this is distance or range. You trade the power savings for distance when you use a cellular connection. Therefore, a cellular connection does take up quite some power. This can be easily verified by turning on airplane mode and then turning on wifi. Take note of how long the battery lasts.
In other words, a poor 3G connection will absolutely destroy your battery life. I wouldn't worry so much about keeping Wifi on all the time and letting it do its thing in the background since it sips very little power on standby. So to answer your question, disable 3G when you're in an area with poor connection. Keep wifi on all the time.

I'm not sure you understood me.By 3G connection I mean 3G data connection (The arrows icon in the top drop down panel).
You answer is suitable for this as well?

Yes, it applies to any communication over 3G. Data included. If you're connected to wifi, all data is automatically routed over that as mentioned in the other answer. But it doesn't drop the 3G connection because of that.

But I'm not talking about disabling the whole 3G communication only the 3G data communication (Internet connection). Correct me if I'm wrong but disabling 3G communication will cancel the ability to use the phone as phone, I won't be able to make calls.

Turning the radio off will cancel that ability. Just for power saving, you can drop down to 2G or so. As far as I know, there is no way to toggle 2G/3G in stock android from a toggle.

You still don't understand what I mean.
I'm talking only about Mobile Data(Internet) connection that I can turn off\on using the icons in the top drop down panel

In that case, if you're connected to wifi, having that toggle on or off makes no difference since all data will go through the wifi connection anyway. My apologies for the misunderstanding.


text:
What is a WTF Condition?
If you go to the developer tools menu in Settings, then tap Launch Tools and open Bad Behavior,  there's an option to "Report a WTF Condition". What is a WTF Condition? Why would an app report one?

What phone or custom ROM are you using? There's no such option in the standard developer optiohs.

@DanHulme nightly builds of CyanogenMod 11. toro.

In android development there are different logging levels. For example, there is Log.v for verbose, Log.e for level error, Log.w for level warn. All these are visible in logcat during development.
Then there is Log.wtf which is like Log.e except it has level Assert which may actually terminate the program depending on the system. Ideally, this should never happen in your app.
Sidenote: wtf stands for "what a terrible failure".
Android docs on this: http://developer.android.com/reference/android/util/Log.html

And there I thought WTF stood for something else... (Worse Than Failure, of course)

I'm sure they spent some time coming up for an appropriate expansion for that acronym. ;)

What the F*** does WTF stand for? :)

What The Fudge maybe?

Quite likely what it formerly stood for.


text:
When is an "in app purchase" not an in app purchase?
The Play Store policy on in app transaction fees reads like this:

For applications and all in-app products that you choose to sell on Google Play, the transaction fee is equivalent to 30% of the price. You receive 70% of the payment and the remaining 30% goes to the distribution partner and operating fees.
  (Reference: https://support.google.com/googleplay/android-developer/answer/112622)

I get that this applies to things like premium currency, extra levels, even e-magazine subscriptions.  However, there are some cases where I assume, perhaps incorrectly, that that a particular app couldn't possibly be paying 30% on purchased items.  To name just one example of this, eBay.  I doubt they pay 30% of the price of an item when they themselves collect maybe 20% of the sale price, but correct me if I am wrong.
Is there a rule, hopefully officially written down, which explains when a purchase made through an app is not subject to the 30% fee?

I think that you have mis-interpreted

For applications and all in-app products that you choose to sell on
  Google Play

to mean all purchases made through apps distributed via Google Play rather than purchases made using the Google Play Store. When you use the Ebay app they don't take payment via Google Play and therefore do not need to pay Google 30%.
Having said that... as mentioned by Dan Hulme the Google Play terms prohibit using other payment mechanisms for purchases that are are entirely within the app (i.e. excluding magazine subscriptions, other kinds of downloadable content, and purchases of physical goods)

App purchases:

Developers charging for apps and downloads from Google Play must do so by using Google Play's payment system.

In-app purchases:

Developers offering virtual goods or currencies within a game downloaded from Google Play must use Google Play's in-app billing
  service as the method of payment.
Developers offering additional content, services or functionality within another category of app downloaded from Google Play must use
  Google Play's in-app billing service as the method of payment, except:

where payment is primarily for physical goods or services (e.g., buying movie tickets, or buying a publication where the price also
  includes a hard copy subscription); or
where payment is for digital content or goods that may be consumed outside of the app itself (e.g., buying songs that can be played on
  other music players).


text:
Can't mount SMB folders on rooted device
Android 4.3 on a rooted Samsung galaxy note. Astro file manager can work with my network (SMB) folders but the CIFS Manager app says "mount: no such device". (Mount Manager app doesn't seem to support passwords.)
Is this a problem with the kernel? How can I find out?

you can check if cifs module is loaded with this command: lsmod|grep cifs. If it gives no output then it is not loaded.

lsmod says "/proc/modules: No such file or directory". Terminal emulator has been granted root. So I don't know...

This means that kernel is compiled without loadable module support. I do not think you can get this running without flashing a different kernel.


text:
Remove Password on Galaxy S4
I somehow set a password for my Galaxy S4 (Android v4.3). I cannot figure out how to remove the password. Where is the setting to do so? I have to enter the password anytime I want to unlock the phone from the lock screen.
Note: I know the password, I just need to turn off the password.

Is this a password you have to enter on the lock screen, to unlock the phone; or a password you have to enter when the phone boots; or something else?

@DanHulme - It is the password I enter on the lock screen to unlock the phone. I edited question to reflect this.

Enter the main device Settings, and from the My device page, choose Lock screen. Click on the Screen lock item to see the list of screen lock methods, and change it to whichever type you like (perhaps Swipe or None). You'll have to enter the existing password (or PIN) to make the change.
If you're using your phone to connect to a corporate Exchange server, or similar, then a security policy on the device might force you to have a password (or possibly a PIN, depending on the policy). In that case, you'll have to speak to your network administrator to get the policy removed before you can remove the password.


text:
Scala and ART, android runtime
I understand that Dalvik has a just-in-time compiler.
The android team is making ART, android runtime, which has an ahead-of-time compiler.
Effectively using Scala can increase code execution time but I am under the assumption that reported performance is only regarding the Dalvik VM.
What would the implications of using Scala with ART be?

What makes you think that Scala would increase the code execution time?

I read a few articles, but upon reading more the consensus is that it does not.

You shouldn't worry about ART or Dalvik since you have no control over which one they are using. Assume they are using the slower one and go from there.
ART is far off anyway and even after its out as the default for android it will still probably be years before its the biggest chunk of the market. And ART is still in beta so who knows how good or bad it will be after they optimize/fix all bugs, etc. Do NOT worry about ART  right now unless it causes your app to crash.
Scala can be slower but if it decreases your overall development time then just use it. Scala's compiler is still evolving and the possible gap in equivalent code is shrinking.


text:
Gps mistaken my location and get me to trouble
I really need ur help I hope u will do CZ I'm so in trouble with my husband becz of Gps mistakenly located my position I'm. A specialist. Pediatrician working in hospital and that day I.have oncall duty and I was working in the hospital all that time my husband can not belive I'm oncall he was tracking my position I think by my Gmail. Because he knew my email password later Gps photo showed to him that I was not at hospital and I was go out to 3 different place and he do not want to believe. Me he insulting me although all what Gps point is not true and I ask him to asks the nurses and security that night when I was oncall where I am but he do not want to believe he is trusting that Gps than me  I attached here the Gps he view showing where I have been although all the time I was working in the hospital ?is there anyway I can prove Gps being wrong or  Can I contact Google Maps and can they give an official printout of that certain day and every location I was? I really need to prove my honesty to him and hope there is a way.

Sorry to hear this. I sympathise. This relationship is being jeopardized by reliance on a technology that has a built-in margin of error. GPS is not exact. He has to come to realize this.

So what can I do now ? Does anybody out there can read the Google map Gps he saw! How I can prove he is wrong ?how I contact google map and  can they give an official printout of that certain day and every location I was on that day?? Please help

You can get your location history in Google maps, however, the GPS isn't the issue here at all is it? It is the complete lack of trust, and the utter invasion of your privacy from your husband. The GPS/WiFi/Cell location is NOT accurate and can be off by hundreds of meters radius, which is a HUGE area to cover. Really you should be talking to him and looking at your relationship. This isn't normal, it isn't right, and it's tally invasive. Lock your account and turn off 'location history' and sit down and talk to him. You said he is insulting you, this seems to be a much bigger issue tbh.

I'm thankful for all your help and sympathy technology Is sword with two sharp points offf offff

First, Google does track your Android device's location not solely on GPS. They use also WiFi Access Points and cell towers to do so. This makes not only the accuracy sometimes very inaccurate, but could also lead to false location reports.
I doubt that Google will be helpful here. This is more of a social problem then a technical one, consisting of the absolute believe in technology, which is wrong, and the distrust in persons, which is also wrong.

You can check this on google location history.... and I can attest it isn't entirely accurate

(more so when the points are several kilometers apart, and I probably walked at supersonic speeds)
As @flow has said though, its more of a socio/cultural issue as a technical one - I shouldn't be judging someone elses culture but this kind of unfounded suspicion and emotional abuse isn't right.

It's helpful thanks you so much I hope I can convince him


text:
Where are WhatsApp voice notes stored on an Android device?
I have checked the /WhatsApp folder (and all the subfolders under it) but they are not there. I also tried the /Android folder but I am not able to find an entry for WhatsApp there.
I am using a Nexus 5, if that is important.

Have you checked WhatsApp/Media/WhatsApp Audio/ ?

@MinNaingOo: I checked. That folder contains audio files that have been sent as attachments not the voice notes sent by pressing and holding the mic button.

Your voice files are also stored in the whatsapp folder.
The path is:

For voice notes:
WhatsApp/Media/WhatsApp Voice Notes/
The file names are starting with PTT. The files are stored here if the sender recorded the note via whatsapp.
For audio:
WhatsApp/Media/WhatsApp Audio/
The files are stored here if the sender recorded the note in an external application and shared it to whatsapp

Well what do you know... It IS there. I could have sworn I didnt see it the last time i checked. Thanks.

For people who couldn't find this folder: Some (most?) phones have an SD card folder; the above folder will be inside that.

That is the path for it, but sometimes you won't find them there, so a workarround if you want to have it in your computer is to select it, click share, and send it to your email address. The only problem is that you must do it one by one :(


text:
Rooted Android Phone - Add Latest Google Play Store to System App for future factory reset
I rooted my Android Phone and deleted some unwanted apps with google play store, google play services and google text to speech.
Now how to add these apps again (latest version) as a system app for future factory reset?

Download Google Play store here [ http://forum.xda-developers.com/showthread.php?t=1996995 ].
Install it from file manager by clicking APK file. Convert to System app via TitaniumBackup if you've already bought it as this feature is only available in PRO version. Or use this app [ https://play.google.com/store/apps/details?id=de.j4velin.systemappmover ] which is free. You can also move to /system/app folder manually and then set the right permission [and generate odex file] but using app to convert app to system app is safer option.

The system-app-mover is available here for non-Google users: https://f-droid.org/repository/browse/?fdid=de.j4velin.systemappmover

Not working.. I have followed process which you described and then I factory reset phone, these apps are pre installed but not working when I open.

Also 2-3 errors coming very frequently.. com.google.process.gapps has stopped working, google play strore has stopped working etc.

You mentioned that system app mover creates an odex file when apk moved from user apps to system apps. but this file not created automatically.

I mean you may need to create odex if you are using odexed rom. I don't know system app mover will generate one or not. But lucky patcher can create odex for you. Also, please remove your installed gapps and try with this. [ http://en.miui.com/thread-3998-1-1.html ]

Download file for Play store and then download and install the Link2SD from Google play store.
Now open Link2SD app and go to App file which you want to convert to system files and long press you will see the option to convert file as system.
Press ok and reboot.

In the question it says that Play Store has been removed; how would the user install an app from the Play Store if Play Store is not installed on the phone?

for rooted phone
download play store convert it to system app with link2sd then odex google play using lucky patcher.


text:
Moon Reader Pro Text Wrapping
I have tried MoonReader Pro but when I increase the font size the text is not wrapped and the increased text overflows the screen in my tab. I want it to behave like as note pad does with its size and with increase in font size.

Sounds like you should report this to the developer. It's unlikely that anyone else would be able to change the behaviour of the app.

@DanHulme I thought there was some option that I did not know of. Is there any alternative app to this?


text:
Google Voice and SD cards
Why does Google Voice need to be able to modify or delete the contents of my SD  card? It's part of the permissions and I don't want to download it until I understand it.

Google Voice needs to be able to save data such as contact details, ongoing conversations, etc., somewhere and in the case of conversations delete them later - I suspect that this is where the "modify and delete data from SD card" comes in.

Don't forget the language packs for offline speech recognition :)

authors: สายันณ์ พงซื่อ