text:
Android libc in Htc Desire x throwing fatal signal SIGBUS and crashing
I have an HTC desire x(CID HTC_038) running a rooted stock Rom,my problem is that the phone crashes reboots randomly by throwing fatal signal 7 SIGBUS at various addresses. I have the following logcat outputs and I cannot see any software faults that could lead to this problem:
Logcat output 1
D/Socket_Alarm( 6570): HTCSocketMonitorImpl::HTCSocketMonitorImpl
D/LocationManagerService(  224): add listener to CarGpsProvider to provide NMEA
V/LocationManagerService(  224): requestLocationUpdates
V/LocationManagerService(  224): _requestLocationUpdates: listener = Receiver{40f323c8 Listener android.os.BinderProxy@41570118}mUpdateRecords: {}
V/LocationManagerService(  224): _requestLocationUpdates: provider = passive listener = Receiver{40f323c8 Listener android.os.BinderProxy@41570118}mUpdateRecords: {passive=UpdateRecord{413aba28 mProvider: passive mUid: 10049}}
D/WifiService(  224): acquireWifiLockLocked: WifiLock{NetworkLocationLocator type=2 binder=android.os.BinderProxy@413e8640}
D/WifiService(  224): updateWifiState(): enable and start wifi
D/WifiStateMachine(  224): [DriverStartedState] CMD_START_DRIVER
D/WifiStateMachine(  224): setWifiEnabled: true
I/PackageManager(  224):  setEnabledSetting(), pkgName=com.google.android.apps.maps, clsName=com.google.android.maps.driveabout.app.DestinationActivity, state=1, flag=1, pid=5948, uid=10049
W/wpa_supplicant(  287): wlan0: [HTC] wpa_supplicant_event():2261- Got an original EVENT_SCAN_RESULTS
I/global  ( 6570): call createSocket() return a new socket.
D/WifiStateMachine(  224): fetchRssiAndLinkSpeedNative RSSI = -56
W/System  ( 6570): Error writing session data for www.google.com to /data/data/com.google.android.apps.maps/app_sslcache/www.google.com.443.
F/libc    ( 6570): Fatal signal 7 (SIGBUS) at 0x4d34ecf9 (code=2)
D/GpsLocationProvider(  224): GPS status listener died
D/CarGpsProvider(  224): GPS Mock status listener died
D/LocationManagerService(  224): [LPS] In removeUpdatesLocked.p.setMinTime:
W/ContentService(  224): binderDied() at ObserverNode
D/WifiStateMachine(  224): [DriverStartedState] CMD_START_DRIVER
V/LocationManagerService(  224): Location listener died
V/LocationManagerService(  224): _removeUpdates: listener = Receiver{40f323c8 Listener android.os.BinderProxy@41570118}mUpdateRecords: {passive=UpdateRecord{413aba28 mProvider: passive mUid: 10049}}
D/WifiService(  224): releaseWifiLockLocked: WifiLock{NetworkLocationLocator type=2 binder=android.os.BinderProxy@413e8640}
D/WifiService(  224): updateWifiState(): enable and start wifi
D/WifiStateMachine(  224): setWifiEnabled: true
I/ActivityManager(  224): Process com.google.android.apps.maps:NetworkLocationService (pid 6570) has died.
W/ActivityManager(  224): Scheduling restart of crashed service com.google.android.apps.maps/com.google.android.location.internal.server.NetworkLocationService in 5000ms
D/Zygote  (  134): Process 6570 terminated by signal (7)
D/WifiStateMachine(  224): fetchRssiAndLinkSpeedNative RSSI = -55
I/ActivityManager(  224): Start proc com.google.android.apps.maps:NetworkLocationService for service com.google.android.apps.maps/com.google.android.location.internal.server.NetworkLocationService: pid=6608 uid=10049 gids={3003, 1015}
D/Socket_Alarm( 6608): registerHTCSocketMonitorCallBack
D/Socket_Alarm( 6608): set mSocketMonitor
D/Socket_Alarm( 6608): HTCSocketMonitorImpl::HTCSocketMonitorImpl
D/WifiStateMachine(  224): fetchRssiAndLinkSpeedNative RSSI = -54
D/LocationManagerService(  224): add listener to CarGpsProvider to provide NMEA
V/LocationManagerService(  224): requestLocationUpdates
V/LocationManagerService(  224): _requestLocationUpdates: listener = Receiver{413db688 Listener android.os.BinderProxy@415effa8}mUpdateRecords: {}
V/LocationManagerService(  224): _requestLocationUpdates: provider = passive listener = Receiver{413db688 Listener android.os.BinderProxy@415effa8}mUpdateRecords: {passive=UpdateRecord{413bb580 mProvider: passive mUid: 10049}}
I/PackageManager(  224):  setEnabledSetting(), pkgName=com.google.android.apps.maps, clsName=com.google.android.maps.driveabout.app.DestinationActivity, state=1, flag=1, pid=5948, uid=10049
D/WifiService(  224): acquireWifiLockLocked: WifiLock{NetworkLocationLocator type=2 binder=android.os.BinderProxy@41716128}
D/WifiService(  224): updateWifiState(): enable and start wifi
D/WifiStateMachine(  224): [DriverStartedState] CMD_START_DRIVER
D/WifiStateMachine(  224): setWifiEnabled: true
F/libc    (  439): Fatal signal 7 (SIGBUS) at 0x5226616e (code=2)
W/ContentService(  224): binderDied() at ObserverNode
W/ContentService(  224): binderDied() at ObserverNode
W/ContentService(  224): binderDied() at ObserverNode
W/ContentService(  224): binderDied() at ObserverNode
W/ContentService(  224): binderDied() at ObserverNode
W/ContentService(  224): binderDied() at ObserverNode
D/Process (  224): killProcessQuiet, pid=623
W/AudioFlinger(  136): AudioFlinger::NotificationClient::binderDied() died
I/ActivityManager(  224): Process com.android.phone (pid 439) has died.
W/ActivityManager(  224): Scheduling restart of crashed service com.android.phone/.BluetoothHeadsetService in 1250ms
W/ActivityManager(  224): Scheduling restart of crashed service com.android.stk/.StkAppService in 11250ms
W/ActivityManager(  224): Scheduling restart of crashed service com.android.phone/.NetworkQueryService in 21250ms
I/ActivityManager(  224): Kill android.process.acore (pid 623): provider com.android.phone.IccProvider in dying process com.android.phone
I/ActivityThread(  623): Removing dead content provider: icc
D/Zygote  (  134): Process 439 terminated by signal (7)
F/libc    (  224): Fatal signal 7 (SIGBUS) at 0x4dc1bd31 (code=2)
W/AudioFlinger(  136): power manager service died !!!
W/AudioFlinger(  136): AudioFlinger::NotificationClient::binderDied() died
W/AudioFlinger(  136): session id 16 not found for pid 136
W/Sensors ( 3824): sensorservice died [0x7464c0]
I/ActivityThread( 4415): Removing dead content provider: settings
I/ActivityThread(  303): Removing dead content provider: settings
E/OMXCodec(  136): wrong state to free OMXCodec 1
I/ActivityThread( 4374): Removing dead content provider: settings
I/ActivityThread( 1934): Removing dead content provider: settings
I/ActivityThread( 2496): Removing dead content provider: settings
I/ActivityThread(  999): Removing dead content provider: settings
I/ActivityThread(  623): Removing dead content provider: settings
I/ActivityThread(  450): Removing dead content provider: settings
I/ActivityThread( 4429): Removing dead content provider: settings
I/ActivityThread( 3699): Removing dead content provider: settings
I/ActivityThread( 5948): Removing dead content provider: settings
W/Sensors ( 6608): sensorservice died [0x78c870]
I/ActivityThread(  417): Removing dead content provider: settings
I/ActivityThread( 4520): Removing dead content provider: settings
I/ActivityThread( 6608): Removing dead content provider: settings
I/ActivityThread( 5692): Removing dead content provider: settings
I/ActivityThread(  503): Removing dead content provider: settings
E/SurfaceTexture(  133): [StatusBar] dequeueBuffer: SurfaceTexture has been abandoned!
E/SurfaceTextureClient(  303): dequeueBuffer failed (No such device)
F/libc    (  303): Fatal signal 7 (SIGBUS) at 0x4d3a518b (code=2)
W/wpa_supplicant(  287): wlan0: [HTC] wpa_supplicant_event():2261- Got an original EVENT_SCAN_RESULTS
D/Zygote  (  134): Process 303 terminated by signal (7)
E/SurfaceTexture(  133): [com.htc.music/com.htc.music.HtcMusic] dequeueBuffer: SurfaceTexture has been abandoned!
E/SurfaceTextureClient( 4415): dequeueBuffer failed (No such device)
F/libc    (  139): Fatal signal 7 (SIGBUS) at 0x0000973c (code=2)
F/libc    ( 4415): Fatal signal 7 (SIGBUS) at 0x4d3a518b (code=2)
W/JavaBinder( 2944): BinderProxy is being destroyed but the application did not call unlinkToDeath to unlink all of its death recipients beforehand.  Releasing leaked death recipient: android.database.CursorToBulkCursorAdaptor
D/Zygote  (  134): Process 4415 terminated by signal (7)
F/libc    (  138): Fatal signal 7 (SIGBUS) at 0x400c4222 (code=2)
D/Zygote  (  134): Process 224 terminated by signal (7)
I/Zygote  (  134): Exit zygote because system server (224) has terminated
F/libc    (  144): Fatal signal 7 (SIGBUS) at 0x0000af4c (code=2)

Locat output 2
E/SurfaceTexture(  134): [StatusBar] dequeueBuffer: SurfaceTexture has been abandoned!
E/SurfaceTextureClient(  378): dequeueBuffer failed (No such device)
E/ViewRootImpl(  378): IllegalArgumentException locking surface
E/ViewRootImpl(  378): java.lang.IllegalArgumentException
E/ViewRootImpl(  378):  at android.view.Surface.lockCanvasNative(Native Method)
E/ViewRootImpl(  378):  at android.view.Surface.lockCanvas(Surface.java:76)
E/ViewRootImpl(  378):  at android.view.ViewRootImpl.draw(ViewRootImpl.java:2158)
E/ViewRootImpl(  378):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1810)
E/ViewRootImpl(  378):  at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2700)
E/ViewRootImpl(  378):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/ViewRootImpl(  378):  at android.os.Looper.loop(Looper.java:156)
E/ViewRootImpl(  378):  at android.app.ActivityThread.main(ActivityThread.java:5099)
E/ViewRootImpl(  378):  at java.lang.reflect.Method.invokeNative(Native Method)
E/ViewRootImpl(  378):  at java.lang.reflect.Method.invoke(Method.java:511)
E/ViewRootImpl(  378):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/ViewRootImpl(  378):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/ViewRootImpl(  378):  at dalvik.system.NativeStart.main(Native Method)
E/InputQueue-JNI(  378): channel '413d4c70 StatusBar (client)' ~ Publisher closed input channel or an error occurred.  events=0x8
E/InputQueue-JNI(  378): channel '413d5be0 NavigationBar (client)' ~ Publisher closed input channel or an error occurred.  events=0x8
E/InputQueue-JNI(  378): channel '413517f0 TrackingView (client)' ~ Publisher closed input channel or an error occurred.  events=0x8
E/InputQueue-JNI(  378): channel '41630278 RecentsPanel (client)' ~ Publisher closed input channel or an error occurred.  events=0x8
E/InputQueue-JNI(  378): channel '413556a8 com.android.systemui.ImageWallpaper (client)' ~ Publisher closed input channel or an error occurred.  events=0x8
E/InputQueue-JNI(  496): channel '41287c10 com.htc.launcher/com.htc.launcher.Launcher (client)' ~ Publisher closed input channel or an error occurred.  events=0x8
E/InputQueue-JNI(  378): channel '412ebea8 StatusBarExpanded (client)' ~ Publisher closed input channel or an error occurred.  events=0x8
D/Zygote  (  135): Process 267 terminated by signal (7)
I/Zygote  (  135): Exit zygote because system server (267) has terminated
F/libc    ( 3472): Fatal signal 7 (SIGBUS) at 0x0000efe0 (code=2)

I cannot figure out what is going wrong. can anybody help me?
The full logcat can be found in this link.

Finally i found the issue and resolved it!, the error was in the firmware of the device(especially in the radio,don't ask me how did it got the error, cz i've no idea). The solution is to download the OTA update and install it in the device. if the OTA update is not able to install to the system because you have a custom recovery, goto cache\ and find the OTA update package like OTA_PROTO_U_JB_45A_S_hTC_Asia_India_2.22.720.6-1.18.720.3_release_316889ltmnu8ffxfy8672r.zip open it with WInzip/Winrar/7zip and extract the  firmware.zip to a folder. This archive contain the firmware files like radio.img,recovery.img,boot.img,hboot etc. now we are going to flash the file to the device if you are on an unlocked bootloader
Re-lock the bootloader
1.reboot the device to bootloader(goto cmd>type adb reboot-bootloader)
2.type fastboot oem lock
Flash the firmware.zip
1.type fastboot oem rebootRUU

cd to the directory where the firmware.zip is located.

3.type fastboot flash zip firmware.zip
now the  firmware is updated and it will be visible in the bootloader menu,use the HTC provided method for unlocking the bootloader

Judging by the logcat, libc does not like it at all, coincidentally it does look like the wifi triggering it?
But this what caught my eye though:
> W/System  ( 6570): Error writing session data for www.google.com to
> /data/data/com.google.android.apps.maps/app_sslcache/www.google.com.443.
> F/libc    ( 6570): Fatal signal 7 (SIGBUS) at 0x4d34ecf9 (code=2)

Are you running out of space on the /data partition?

The OMXCodec, which is related to the graphics driver, should not be crashing like that at all:

E/OMXCodec(  136): wrong state to free OMXCodec 1

Questions:

Try disabling the wifi completely, and check for stability with it turned off, any differences?
When did the problem appear? Was it after you installed a last app recently?
Are you running some app that requires root and modifies the system - such as Xposed module running?
What version of Android are you referring to?
Is it overclocked?

These are the questions you need to work out and investigate.
Last resort - try a factory reset or wipe cache/data from recovery (You will lose root!)

I have tried all the available options before posting it to this site - disabled wifi,turned on offline mode,disabled apps,wiped and tried roms,kernels and recoveries used many CPU governors tried tools like Kernel tuner and nothing seems to be a help so far.from your answer i think there maybe some corruption in the /data partition i'll try to re-format the /data and other partitions and see if it will help,Thanks for the reply anyway


text:
How do I factory reset/wipe Galaxy Note 2 with no screen?
My phone's LCD is broken but the rest of the phone works 100%. I can't do the normal steps to erase the phone because I can't interact with the menu on the screen to do so. I would like to erase everything so I can sell the phone to somebody willing to have the screen repaired.

Hold volume up + Home + Power Key wait for 3 mins
Press volume down 3 times
Press power button
Press volume down 6 times
Press power key

That will do a hard reset.

I know this is an old question, but I'm going through the same thing with the same phone. How do you confirm that your phone has been reset since you can't see the screen?

If you have the Android SDK installed on your computer (otherwise, see e.g. Is there a minimal installation of ADB?), you can use the fastboot utility for that – provided USB Debugging was activated on the device (which might be the default in recovery mode):
fastboot erase data
fastboot erase cache

These two commands should erase everything from the /data (user-apps and data) plus /cache (app cache) partitions. So then you only had to take care for information stored on the SDCard(s), which you could erase e.g. via UMS/MTP (concerning the internal SD). There might be ways to do this via fastboot as well.
Take care to not erase things like system or recovery, as that would render the Android system unusable – which is not what you want. Entering the fastboot command without parameters lists up what you can do with this utility (syntax etc.).
For more details, you might want to watch some introductionary video: Fastboot clean erase tutorial: that describes a complete erase of the device, followed by a re-flash.

Hold Volume Up + Home + Power key
Wait for three seconds
Release buttons
Press Volume Down three times
Press Power button
Press Volume Down seven times
Press Power key

That will do a hard reset.

Wait 60 seconds.
Hit Power again and it will reboot the phone.

Neither of these answers worked for me when this happened to my friends phone. USB debugging was never turned on because she had no need for it. The screen however was completely busted after being dropped face down on the sidewalk. The only way that I could find to clear her data was to connect the Galaxy Note 2 to my Ubuntu box and delete all the directories except for "Android" and the "device_id.txt" file. I hope this helps someone else.

If your device is registered with Android Device Manager you can erase from that site.

Thanks for the answer but we expect details. Please mention how should that Manager be used to erase the app.

source: Stack Exchange

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

sort: votes


text:
Big battery usage
I have Galaxy s2 running android 4.1.2.
My phone can eat near to 25% battery in 6h – and during this time I spend only ~5minutes on Facebook. I downloaded  Wakeuplock and it shows that Google+ is running for 30minutes and keeping my phone wake. Here's a screenshot screen:

Screenshot (click image for larger variant)
As you can see Activ parameter is over 20% ( so its bad as someone told me).
Can you suggest me something how to improve batery life.
Phone is on the battery save mode all time.

27% drain in almost 7 hours is not that bad, to be honest.

25% -7h in which i used facebook for5 minutes and checked buses  and listening radio for 2 isn't that bad? 95% time this phone is idle with battery saving on

A smartphone with the battery lasting more than 24h is very good, honestly. Many people have trouble to get home before the battery runs out... Are you using the G+ app, or would "disabling" it be an option to you?

I today lunched this app for the first time to check if it's sharing my location xD. If it's possible I'll delete it already

As you state you don't even need "that app", here are two approaches to keep it from eating your battery:
Disabling the app

Go to Settings → Apps, select the "All" tab
Scroll to the app in question (in the current example, Google+)
Tapp its entry to open the details
Tapp the "Force Close" button to end all its processes
Optionally, tapp the "Clear Cache" and "Delete Data" buttons to free some space on the device
If you see a button labeled "Uninstall Updates"1, tapp it. The button will then rename itself to...
Tapp the "Disable"1 button2

The app should no longer start itself now, and thus not eat any battery anymore. If you need it back at a later point in time, it's still listed in Settings→Apps (though it might have been moved to the very end of the list). Opening its entry should show a button labeled "Enable" now, which speaks for itself.
Keep the app from running when you don't need it
On the playstore, you will find an app named Greenify. This can be used to automatically "hibernate" an app when its not running in foreground. Though Greenify is delivering its full potential benefits only with "root powers", it can do many things already without. If its free version cannot deal with the app in question (Google+ here), you might need the Donation package (for ~USD 3), which has additional ways to force apps into "hibernation".

Greenify: Start screen, App Analyzer (Source: Google Play; click images for larger variants)

1 If you have none of the two buttons, but an "Uninstall" button, it's no system app: simply uninstall it.
2 Note that not all system apps permit this (button is grayed out then).

25% battery in 6h for a smartphone is good. A smartphone battery typically last less than 24 hours.
If you want to maximize your battery autonomy

disable automatic sync
disable Wifi, GPS, Bluetooth
use minimum brightness for the screen. The screen is the bigger battery killer.

Smarphone is without Wifi/Gps/BT/Brightness all the time + energy saving mode

Then you did your best to improve your battery usage. Last thing you could do is block or uninstall all apps that could run in the background. Or unsolder unused component (speaker, Bluetooth, etc.) to prevent physical battery drain from these components, at your own risks.

In Google+ app, go to Settings -> [your account name] -> Location Sharing and disable it.  In my personal experience, this is by far the worst offender in terms of battery drain.
If you have automatic photo backup enabled, you may want to restrict this feature to only when the phone is on the charger by going to Settings -> Auto Backup and enabling the While charging only option.

Location sharing was off. I have nothing like Auto backup in the menu. I don't have any photo backup.

The Auto Backup should be in the main Settings menu, right above your account name.

Auto Backup was disabled

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


text:
Wifi problems after 4.4 KitKat update
After updating to 4.4 all of my Nexus devices (4, 7 & 10) have problems with wifi, they all worked fine before the update.
After some idle time they lose the wifi connection and it can only be reactivated after restarting the device.
The Nexus 7 right now doesn't connect to wifi at all, I can set the wifi switch to 'on' in the settings but it won't even show available wifis (see screenshot).
Anyone else experience this? Any ideas on how to resolve it? Without wifi the device is pretty much useless.

Screenshot (click image for larger variant)

Some people solved this by removing the wpa_supplicant.conf file... Last time it happened to me, I just reflashed the kernel...

I found out what the problem was: on every single device there were 'battery saver' apps installed. The devices are in my workplace, so I'm not the only one who uses them and someone must have installed those apps.
I didn't care for them until now and they never did any harm, but they somehow must've interferred with the new 4.4 Android. After uninstalling them everything is fine on all devices :)

I had Juice Defender on my Nexus 4. When I upgraded to 4.4, I had to uninstall it to get automatic Wi-Fi reconnection. Still rooted, and all is well.

I read that this happen to phones that are rooted, if your phone is, try to restablish to original configuration and updated it.


text:
How to rename files by batch?
I use OI file manager, but I would like to know if there is a way to remove spaces from file names and replace them with underscores, preferably in batch mode?
I would even be willing to perform this operation on my windows laptop, so this isn't specifically an Android question, though I'd prefer to do this on my phone. I'm a graphic artist and I have thousands of inconsistently named images in various places, and I'd really like to avoid doing this manually, one by one, as it would take months!

You may want to look at this question on StackOverflow; you can do this on Windows with a simple batch. Alternatively, there are a lot of bulk rename programs for Windows.

This is certainly possible with tasker, though I cannot give you the "complete recipe". Basically, you could create a task like this:

Execute Command: ls -1 /path/to/your/files, and capture the output into a variable
the command will list all files in the given directory, one file per line
Work on the variable. There are possibilities to convert it into an array, so you can use a for loop to handle each file
again with variables, you can setup the rename command (e.g. using Variable Search Replace) in a new variable. Pseudo-Code: mv "$old_name" "$(s/ /_/,$old_name)"

But it is much easier to use a simple shell script in some terminal app (or via adb shell) to achieve the same:
cd /path/to/your/files
for file in $(ls -1); do mv "$file" "$(echo $file|sed 's/ /_/g')"; done


text:
Turn a Android Phone with broken screen into dedicated Web server
I have a Nexus 4 with a broken LCD/Digitizer, I have no control via touch at all. The other parts of the phone are functional.
Now, what I want to do and hope is possible is to clear the phone and install some Linux distro via Usb. The trick is, I need to be able to control the installation via wifi or USB directly after the upload of the Linux package. After this I want to run it as a dedicated Web server of some sort. I welcome any type of solutions. All I want in the end is to use my phone as a dedicated Web Server which I can control remotely.
Thanks.

Welcome to the Android Enthusiasts, Majk! We support end-users with Android-specific issues, but cannot help you setting up a Linux server on a device, though it was running Android before. Still, some helpful hints:

There are means to control your device even with a broken screen. We've got several issues reported where people wanted to do exactly that. Please check e.g.:

My screen got broken, how to see on the computer what I'm doing in my device?
Control Android with broken screen from PC
Use android phone with broken screen as WiFi camera
Broken Screen + Using adb shell to run vnc server

There are several web server apps available for Android as well. Even some supporting/including things like PHP and MySQL. Some examples:

AndroPHP
Ulti Server: PHP, MySQL, PMA
KSWEB: server + PHP + MySQL
NAMP nginx android web server

I guess that should get you started if you want to solve your issue using Android. And as I initially wrote: Doing that with any other OS, even on an "Android device", is beyond the scope of this site. But I would wonder if you will really need that, after these details – right? :)


text:
Crossed bell on notification meaning in CM12's Lollipop
I'm using OnePlus One (bacon) running CM12 Unofficial (daleski75's build). If you long-press a notification, you could see a crossed bell on some app.

It seems to permanently mute every notification with the same text inside. A new notification with a different text from the same app is shown as usual.
Is that the meaning of that button? How can re-enable notifications with the same text?

Looking from the answers, looks like it's not a standard Lollipop feature. Could you please also mention the device model and whether you're using custom ROM or not?

@AndrewT. OnePlus One (bacon) running CM12 Unofficial (daleski75's build)

In Android 5.0 (at least in the CM12 Unofficial builds) you can go to Settings -> Privacy

From there go in to Filter Notifications. Clicking on an item will allow you to see when it was last blocked and remove it from the list.

It's a setting that can be changed under Settings->Privacy->Filter notifications.


text:
Adaptive brightness is not present in notification bar and altogether does not work
My Nexus 7 2013 has updated with OTA update to Android 5.0.1.
The notification bar has changed. Now when I change brightness, there is no button for auto-adjustment. It currently looks like this:

In settings, I can find Adaptive brightness settings - optimize brightness level for available light. However this does not work as expected. It just seems I have two different brightness settings. If I turn it on and set manually via notification bar to maximum, it is maximum, although the settings is ON. Then I turn it off and set it to maximum and it lets me do it too. When it is turned on, the brightness is just slightly darker than the turned OFF mode. However, it is always exactly as I set it with this small offset. It does not correspond to the external light.
It seems like it is a bug, but I can't tell. Do you experience the same with your Nexus 7 2013? Is the "auto" button missing in all lollipops? Does it mean that when you want to go to auto-brightness mode you have to enter settings and brightness via more like 5 clicks? (two swipe downs, settings, brightness, turn on)

It's the same with my Nexus 7 2012 on 5.0

Android has removed "Auto-brightness" in place of "Adaptive brightness" on Android 5.0 Lollipop.
From Android Police,

If you're looking for the auto-brightness switch on the Android L preview build, you won't find it. That's because it's been replaced with the adaptive brightness toggle. [...]
In short, adaptive brightness is like quasi-autobrightness. You're essentially setting a "range" of available brightness levels when this feature is turned on, so that if you have display brightness set to 50%, the phone may only actually adjust itself between 40 and 70% brightness in a given situation. This is as opposed to completely automatic brightness, which typically gives you the full spectrum of brightness adjustments depending on the ambient light. The problem with fully automatic brightness is that's it's often slow and a poor judge of what level of brightness your eyes really need. So, this adaptive mode allows you to set a baseline brightness that the phone will then adjust from based on your surroundings.

If adaptive brightness is active, it will be always active even if the brightness is changed from the quick setting panel, because it will only change the baseline brightness.
On the other hand, it's correct that there is no quick setting to toggle "Adaptive brightness" on stock ROM. It seems the only way to do that is with 3rd-party apps, but I didn't found any as of current writing.

It is adaptive brightness. Slider determines the sensitivity of the brightness in case adaptive brightness is turned on. If you keep the slider on 50%, it will work the same as auto brightness. If it is 30%, then the brightness will be equal to the brightness of the external illumination which is 20% less than current illumination. So, essentially it helps people save power or improve readability by adjusting the sensitivity of brightness according to individual preference


text:
Creating restricted accounts on phone running Lollipop
Can we create restricted user on phone running Android Lollipop? Seems that restricted users are not supported on mobile but only on tablet (mobile has only simple user no restricted user option).
Reference: http://www.howtogeek.com/205301/how-to-use-android-5-lollipops-restricted-user-profiles-for-basic-parental-controls/

+1 because every so often some children ask me to play games with my phone

Although it is not possible to create restricted accounts, you can achieve almost the same effect using a "normal" account.
This is the recipe:

Create account, go into its properties and select whether you want it to be able to take/make phone-calls
do NOT log in to your Google account during creation of that account
after creating the account, deactivate any system-apps you do not want for that user and uncheck notifications for that app. Note that you need to uninstall updates to do so (you can update on your original owner account afterwards)
log in to Google play using your owner account
go to all apps
"install" all wanted apps that are already on your mobile. This will NOT download that app again, but seems to simply create a link to that app, activating it within the mobile for the current user (similar to restricted accounts, but more complicated in the handling)

do not forget to install any keys-apps for bought apps after the app

Now enter the properties, accounts select your google account and delete it (just for that user)

The result will be a user without your google login but with some of your apps.

This will also lose apps auto-update ability, right?

@Sarge Borsch As long as the app is also installed on your main account updates will take effect for all other accounts, too. Only if your "restricted" account is the only one with that app you will loose the update function for this app.

Very interesting workaround! Will it work in the latest Pie as well? One if the main reasons I was looking for restricted profile is because of the option to limit access to settings, specifically the data limits. Is it still possible with this workaround?

Never mind, I just followed some of the steps to create the account and haven't setup apps yet, but I can see that the user has full access to settings, including the data usage of the primary account. There is probably some way to install an app and lock down access to settings, but it will not be granular.

I thought about this approach a bit more, but one gaping hole is that the alternative user can login to play store with another credential and install whatever they want, so this doesn't present access to apps. However, only the main user can set data limits l so with some additional planning and monitoring this could work.

@haridsv you can install locker-apps that forbid access to some apps and/or system settings.

@Nils You mean, with apps like AppLock? Yes, that is what I finally did. I actually used SafeKids (Free) to not only restrict the apps, but also to websites. SafeKids has a parental dashboard and I get some ability to remotely monitor and modify controls. The only additional thing I did was to install Incognito Away. The kid can still install apps using Play Store on desktop, but I will know it via Safe Kids. Two annoying thingswith this setup are 1) After restart, primary user needs to login first. 2) Safe Kids makes it hard to use the primary account as it thinks it is a violation.

Using stock Android unfortunately the answer is No. It may be possible using a custom ROM but as the site you've linked to suggests, Restricted profiles are only supported on tablet devices.
On a phone you can configure whether the user can receive phone calls and SMS but this is the only option available.
Unfortunately I've not found any information on how to enable restriced profiles in a custom ROM either. As Android can be built from source I'm sure it will be possible but it does not appear to be something that many people have investigated yet. You don't mention what phone you are wanting to set this up on but it might be worth asking over at XDA in the relevant forum as they may be able to shed more light on it.

No workaround possible? I do not want to waste space on reinstalling apps that are already there.

I think the only workaround possible will be custom EOM or some  hack, but nothing official until  Goggle itself adds support for restricted accounts

Updated answer for 2019 - it appears that Google Family Link let's you lock down an Android phone (including restricting apps).
It works by creating a "child" Google account which is locked down, and you simply have to log in with that child Google account.
Here's a guide I found with step by steps on how to set it up https://www.howtogeek.com/205301/how-to-use-android-5-lollipops-restricted-user-profiles-for-basic-parental-controls/

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


text:
Name of the app which shows colorful Android and sweets in grid
Can someone help me what is the name of this app? I can't find the name of it. Is it a spyware?

It's not malicious - it's part of an "easter egg" hidden in Android 4.4. You can access it by going into Settings → About and tapping on the "Android Version" quickly 4-5 times. Here is a demonstration on YouTube.
There are also some third-party apps on the Play Store that attempt to extract these easter eggs into portable apps, or use them for boot animations or daydream animations. Whether or not those are malicious is difficult to determine definitively, but you could probably hazard something of a guess based on the permissions the app requests.
The easter eggs have been of varying levels of complexity and interactivity. Lollipop's is basically an Android-themed Flappy Bird clone.


text:
Where is Chrome's "Merge tabs and apps" option on Android Tablet running Lollipop?
System:

Nexus 9 32GB Wi-Fi
Android 5.0.0 Lollipop LRX21R
Chrome 39.0.2171.93

While researching this myself, most questions I found are about how to disable 'Merge tabs and apps,' but I haven't found one that fits my problem, I'm trying to enable it.
For example, OMGChrome explains how to disable this as follows:

Open Google Chrome for Android
Open the menu
Select "Settings"
Tap "Merge tabs and apps"
Set the slider to off

Reversing these steps, for me, is unsuccessful. The "Merge tabs and apps" option does not exist for me, as far as I can tell.

This is a feature that I'd like to have, but don't know how to get.

You really did merge this quickly. Thanks again

The "Merge tabs and apps" option should be inside the "Basics" header. However, as of current writing, it seems Google didn't add this feature for Android tablet. The same case was reported on Android Central's forum, and the reply was

It looks like that feature is only on Chrome on phones. It may be due to the fact that Chrome on tablets already has visible tabs, while Chrome on phones doesn't.

Chrome 39.0 setting on Android phone

Chrome 39.0 setting on Android tablet

Thanks for your reply! That sounds like it would work, but when I navigate to the 'Basics' tab, I still don't see that option. Here's a screenshot: http://imgur.com/ejMhUSq

I didn't expect that... and I just found this forum thread regarding Chrome on Android tablet. I'm afraid it's impossible to have this feature on tablet...

authors: ธนกร ศิริโกเมน


text:
Is there a valid Android alternative to iTunes U?
iTunes U makes the difference (at least, to me) when it comes to choosing a tablet for study purposes. Does it exist a valid Android alternative to Apple's iTunes U?
For those who don't know iTunes U, it is a service that allows students and teachers to manage, browse and view media (such as videos and pdf files) related to education.

Welcome to AE! I don't have any experience with it, but you may want to look at this article. Apparently you can actually use iTunes University on Android. Kinda.

See also: Sync iTunes U and Android? | How to view iTunes U without iTunes?

There is the Google Play for Education program detailed here and here.

Tunesviewer is an application for Linux or Android that "[allows]  access iTunes-University media and podcasts." (From Tunesviewer main page).
You may want to check it out. There is an APK installer to run on Android devices. It's also available from F-Droid.

It's in Fdroid repository as well - that may be a better option, as it tells when there are important updates to your apps.

@NoBugs Indeed it is. Thanks, I've added that to the answer!


text:
Any way to force an app to rotate?
I've got an app that refuses to open according to how I'm holding my phone.  So, it makes it uncomfortable to use it so I uninstalled it.  I do have auto-rotate on but I guess this app doesn't recognize it.  Is there a safe way to get apps that run upside down to work the right way?  I can't function without the home button near my left hand.
OS: 4.1
S3

You might try the Ultimate Rotation Control app -- when I tested, I found that it could force any of the apps I tested to rotate.   It's a seven day free trial, then requires a license purchase (US$2.99).
It turned out that I didn't really consider the app that inspired me to download this any better when force rotated, so I did not purchase, but your mileage may vary.

I have not tried this myself, but it seems to be possible using the Xposed Framework and its AppSettings Module – provided your device is rooted.
From its announced features:

Force orientation (portrait/landscape/auto)

Got an Unrooted one.  :-(


text:
How to use an USB 3G modem data connection with an Android phone (Galaxy Nexus)?
I own a Galaxy Nexus phone and i'd like to know if there is a way i can use an USB dongle to provide it with an Internet connection.
I imagine I will need some kind of adapter (and some Google searches suggested an USB OTG cable).
I'd like to know if the stock OS supports this (i have Android 4.2.2 currently) and if I'd need root or a customer kernel. Also, if it is possible, could you please provide a guide on how to do this?

OTG cable is correct. And yes, that should work. To be sure, you might try it in a shop. Setup sometimes depends on the dongle -- but as soon as that and the SIM it it is recognized, the corresponding menus should get visible in the device settings.

Officially: This is not possible, except for certain (older?) Archos tablets.
Inofficially: There's the Autopatcher project . It includes patches to enable 3G modems on wifi-only tablets (it may be possible to use those on phones too, but YMMV).
Autopatcher supports these Android firmware flavours:

some 3rd party firmwares (CyanogenMod, AOKP, ParanoidAndroid, PACman)
AOSP 2.3- > 4.3 (e.g., Google's Nexus line)
...and others

Not supported are original HTC, Samsung and other branded firmwares.


text:
Icon is stuck behind google search, and appears on all screens (screenshot included)
I was re-arranging my icons when I accidentally dropped an icon "behind" the google search bar up top.
The icon appears on every screen when I swipe left or right, but disappears when I view all apps.
How do I remove this icon?  (see the mis aligned YouTube icon at the top)

Screenshot (click image for larger variant)

Which launcher are you using? Most launchers have a way to hide/remove the Google Search bar (letting you move the icon, then restore the search bar if you want)

I'm new to Android.  What's a launcher and how do I edit it?  I'm using default on Moto X

Ah! From what I hear about the X, it's quite a nice introduction to Android. The launcher is basically exactly what you so kindly posted a screenshot of. It's the "Desktop" area (it also includes the App Drawer, or the "all apps" area you mentioned) where your app icons are available. It "Launches" the apps you want to run. In the stock launcher, you can't remove the google search bar. There are dozens of altenatives to the stock one, most are free or have free versions - and they all bring nice-to-have features that simplify and/or complicate things! I'll post an answer with some better info.

Oh hey, have you tried rebooting the phone?

Note that my other answer is more of a workaround (but also something recommended by many even without problems) that is almost guranteed to fix the problem. This is a direct fix which will most likely work, but I can't say that with absolute certainty as I can't recreate the situation myself.
After some googling, I've noticed that your icon (as you point out already) is off-center and missing its text label. Rather than the icon itself being stuck, it looks like what you're seeing is a stuck graphical artifact. This has happened to a few other users on other forums, and rebooting the device seems to be a fix for them.
Whether this works for you or not, I'm posting it as an answer for the sake of future internet travelers who stumble upon this question.

Please note that this answer is more of a workaround than a direct solution. See my other answer for a suggested direct solution (It basically says "Try rebooting", though).
Since you're on the stock launcher (Which, if I recall correctly, doesn't allow you to remove that search bar), the best answer I can think of is to try installing an alternative launcher. I personally use Nova Launcher (The $4 "Prime" version actually).
After installing the new launcher, most (Nova included) will give you an option to import your old icon layout if you want to. But by default, you're basically given a clean slate.
I usually recommend Nova because it nearly mimics the default launcher (no crazy features or surprises) and adds a few nice features - my favorite is that it has an "Uninstall" drag-area that lets you uninstall an app without going to its settings/info page.
Other alternatives that I've played with include...

Go Launcher, [Free, optional $6 upgrade] supports countless themes and skins, but has a somewhat different look and behavior compared to stock.
ADW Launcher, [Free, optional $3 upgrade] one of the most mature custom launchers available. It is closer to the standard launcher than Go is, and supports a huge number of themes, icon packs, etc.
Next Launcher, [Free Trial, full app is $16!] a very different launcher with 3D effects and such. The full version is pretty expensive, but I guess it would be fun to show off to friends and such (I don't know how user-friendly it actually is).
Espier Launcher [Free, $8 upgrade for the new iOS style] is a launcher that tries to mimic iOS's Springboard, and succeeds to a surprising extent.

In my case I'm using a Pixel 4a.
I was able to solve it by restarting the "Pixel Launcher" app.
To do so, I went under:
Settings > Apps > See all apps > Scroll down to Pixel Launcher > Choose Force Stop

Slightly better than having to restart the unit altogether.


text:
Nexus 7 (2013) Won't Boot Normally or into Recovery After Attempted Root
So I thought it would be a great idea to try and root my brand new 2013 Nexus 7. After checking out a few tutorials online, I found one for mac, and downloaded the toolkit at:
http://www.androidrootz.com/2012/12/nexus-7-one-click-toolkit-for-mac.html
I opened up the bootloader by holding down Power + Volume Down and opened the included script on my computer, which unlocked the device. I then attempted to restart it into recovery mode. I pressed Power + Volume Down on startup and opened up the bootloader. I then scrolled to Recovery Mode using the volume keys and pressed Power to select it and boot into recovery.
This is where everything went downhill.
I could open up the bootloader, but when I attempted to boot into recovery to load SuperSU onto my device, it got stuck on the Google logo with an unlocked padlock icon at the bottom of the screen. So I tried to boot normally, and it got stuck on the same screen.
All the forum posts I have come across so far to fix a bootloop all require the ability to boot into recovery mode or normally. I cannot find a guide that tells me how to relock and return to factory settings if I cannot boot at all.
Basically I need to unbrick my 2013 Nexus 7.

"I then attempted to restart it into recovery mode." What exactly did you do? What buttons did you press, etc.? You won't see the Google logo while it's booting into recovery.

I pressed Power + Volume Down on startup and opened up the bootloader. I then scrolled to Recovery Mode using the volume keys and pressed Power to select it and boot into recovery.

Thanks for the update. I've taken the liberty of editing that information into your question. All the important information should be in the question itself: comments are for requesting clarification and other temporary purposes. I guess it doesn't matter so much now you've solved the problem, but bear it in mind for next time! Don't forget to come back and mark your question as answered, so other visitors can see you've solved it.

Thank god I figured out how to fix it.
The problem was that I was using software that was meant to root a first gen Nexus 7, and I had the second gen (2013) version. Whoops.
In order to fix it, I downloaded the Unroot/Stock Toolkit from
http://www.androidrootz.com/2013/08/nexus-7-one-click-toolkit-for-mac-2013.html
and then downloaded the factory images for the Nexus 7 2013 from Google's site,
https://developers.google.com/android/nexus/images#razor
I then used the Unroot/Stock Toolkit to reload the bootloader and factory image. After this, my Nexus worked fine. I was still able to root, but this time I made sure to use the correct software to do so.


text:
Define Gesture in ES File Explorer
I'm using ES File Explorer. There's one thing I want to ask, what is the purpose of the small spot at the center of the screen when I turn on the app?
Whenever I click on it, a toast message show

No gesture defined. Please add or disable gestures in fast access

I've searched the web for the answer but there's no answer. Could anyone explain it?

The gesture feature is explained on its official manual (scroll down to Gesture), albeit slightly outdated.

What is the purpose of the small spot at the center of the screen when I turn on the app?

The small spot (or the "gesture water drop", as it's officially called) is the trigger to start gesture action.
As hinted by the error message, you have to add a new gesture for this feature to work as supposed to be:

Open Fast Access (the drawer on the left side) by tapping the "three horizontal bars" or by sliding a finger from the left side of the screen to right.
Open Tools, there should be a Gesture with on/off button. From here, you can disable/enable the feature. Disabling the feature will remove the water drop.
Tap Gesture.
Select Add a gesture.
Choose the action you want to do.
Draw the gesture on the middle of the dialog
A new gesture will be added. You can also delete/edit the gesture.

Red dot is the starting point (i.e. gesture water drop)
Light blue line is the gesture path

Now that you have gestures defined, you can use it on the app:

Go back to main screen
Draw the gesture starting from "gesture water drop", following the path you've defined.


text:
Is it possible to root my phone without installing a custom ROM?
I have a Samsung Galaxy Stellar on Verizon.
Whenever I hear anything about rooting a phone, people always say that you have to install a custom ROM. How do I just use my current stock ROM and root my phone?

It is possible for the "custom" ROM to just be the stock ROM with root added in.

In theory - yes.
In practice, it varies from device to device - a very common way of an end-user obtaining root is to flash an insecure kernel. This can be a standalone kernel or a pre-rooted kernel + ROM combination. For certain devices, there are also available a number of 3rd party "one-click rooting" apps.
That being said, rooting might cause your device to be unusable (if not done correctly or something unexpected occurs), so read the instructions carefully before proceeding and ALWAYS backup your data to an external source like Dropbox or to your PC before you begin.
Here's a link (unverified) on how to root your Verizon Stellar.

Short answer
That very much depends on your device, as the rooting process often is device specific. Following up to the rooting tag wiki will give you some basic info, and also provide a link to our rooting index, which might even already include a link for your device.
TL;DR
Basically, rooting just means to push a binary (su) and a helper app (SuperUser/SuperUser or SuperSU) to the system partition. So as Compro01 wrote in his comment on your question, you're "customizing your ROM" somehow.
On most devices that's all you need, though how that's accomplished is a different thing, as it's a little chicken-and-egg: You want to gain root permissions on your device – and for that, you first have to push those two files to /system, which only can be done with root permissions. So in most cases, this requires some "hacking", which is what Sparx refers to in his answer might cause your device to be unusable. I rooted several devices already, and when sticking to the instructions the device should not become "unusable" (though I admit there might be rare cases). I had it once a device became instable (apps crashing, device rebooting itself multiple times a day), but that was easily cured by a factory reset.

The answer is YES .
It is not mandatory for you to install custom ROM for rooting your device.
ROOTING process is a actually YOU ARE GETTING ALL THE PRIVILEGES of your phone . So it is not necessary to install Custom ROM
Steps to Do Rooting :

Find root files for your Android Device on the internet(Every phone has a different root file ). Place it in your SDCARD
Reboot your phone in the boot loader mode.
Select file from the boot menu
Hit install.

I can help you in your rooting process if you tell me which device you are using.
here is an Unverified way to do it (Samsung Steller).

So basically I have to get a custom ROM that's the same as mine? Or am I misunderstanding you?

you are misunderstanding me . I mean you have to download a small root file like (root.zip) probably of 2 MB. It is different from custom ROM. Its is just an update file for your phone.

Mainstream phones are easier to root since their source is well adopted. Less familiar phones can be harder to root. Why? When you're rooting, you're adding one functionality to the phone which is initialized at boot; that is to run the SuperSU Daemon which utilizes the su binary in coordination with the Kernel to work in providing elevated permissions over Read Only File Systems like the /system. How is this achieved? The Kernel has to be patched to be able to do this since that's another third party services being added. If a phone has an unpatchable boot.img. All these things might require installing a third party boot.img which still support the current system to be able to root. Failure to find a way to develop a boot.img that will support the system will require you to install a full Custom ROM to be able to do this. Remember the kernel is in the boot.img together with something they call the ramdisk that's why you should talk about boot.img if you're taking about Kernel in Android. It is either possible to root without Custom ROM or Impossible depending on your device

Kingoroot - you can download it to your phone and root with one touch or onto Windows and root via usb, it requires no flashing so is safe and takes up to two minutes. I used it on my Samsung Galaxy phone and it worked fine (may need to do a couple of tries). It even installs super user (a root access manager) app for you.


text:
How can I hide soft buttons?
I have a tablet with 3 soft buttons (Back, Home, Recent) with Android 7.1.
Is there some way to hide them (and consequently use the full available screen), or at least dim them?
(They are disturbing when watching a video with my favorite old video player, which is not able to hide them.)

See https://lifehacker.com/use-tasker-to-enable-immersive-mode-on-android-whenever-1792620764

@Firelord, thanks, I will try that relatively complicated procedure (requiring to install 2 or 3 new payed applications), but it seems that those application may be very useful for future problems / tweaking.

Navigation Gestures for Android, featured app on XDA Developers will work for you. Its free for most of the features. It hides the navigation bar completely and enables gestures to operate the phone.
Refer to this page for details: Navigation Gestures on XDA

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


text:
Need for Secondary Contact Storage Space accessible only for CallerId
The contacts storage in android is pretty much standardised and is unified among all apps, and accessible depending on the permission level.
However, I need a way to store some contacts which should not be in the standard contact storage space, because it is accessible by all the messaging apps and there is no way to hide contacts from selectively appearing in them, other that deleting the contact.
But, deleting them altogether makes it difficult to identify them during an incoming call.
So, I want to have a way to save contacts that can be avoided from being accessed by all apps, but I should be able to identify them on an incoming call.
How can this be done? Any app or storing in csv file... Any suggestion please?
Please note that any caller identification apps which are cloud based, is not the option I am looking for. I want to accomplish this for contacts I know and have saved only.

Afraid there's no way for selective contact access. Even if you'd store them into separate "partitions", it's always the "contacts provider" maintaining them. So you can either forbid or allow an app access to all contacts. Though there might be a telephone app coming with its own contact storage only accessible to itself (technically doable for sure), I don't remember having seen such. But be welcome to cross-check my list.

@Izzy, how difficult will it be to write an app for a complete beginner with only C knowledge? Or is there any other way that this can be done by myself? I have them stored in excel file. I'm only stuck with search and find part. Grabbing the phone number from incoming and later displaying it as a popup can all be done by Automate.

Yaksha, I'm no Android programmer so I cannot tell. If it's only for CallerID (which wasn't clear until now), it shouldn't be too complicated – but development questions are off-topic here. Mentioning Automate, someone else might already have written a corresponding recipe even.

@Izzy, I have been able to get it working within Automate itself. Thank you :)

Thanks for self-answering (upvoted)! Hope my edit is OK with you :) I'll cleanup the comments here a bit then.

I came up with a solution for this myself. Instead of writing a complete android app, I found out that Automate itself has SQLite function blocks. So I just wrote a flow to accomplish this and it can be found at
http://llamalab.com/automate/community/flows/17889
Preview of that flow:

Preview of that flow (click to enlarge)

You can store the contacts in .csv there's no problem by converting the default contact backup .vcf file or using applications like contacts to excel. But you know contacts are entities which need fast processing, they are buffered from the /cache partition. Simply because that is a fast memory than EMMC, FAT, exFAT etc. All apps read them from there. There's no algorithm that will ever read the contacts from your /sdcard partition where I'm sure your .csv file will exist. The Contacts app only views the contacts. Similarly how other apps are provided to them. One app called Contacts Provider is the one responsible for serving the stream of contacts from /cache. Since this is a system app it has app links and permissions systemwide. Unless you make it a user app by extracting it, its libraries and classes and recompile it to user app and set the app-links to apps you authorize but still it will be like denying contact access to other apps. So this is impossible.

I see you're thinking. That will work. A database of contacts to be retrieved will need an automation application which also integrates query language. Yeah Macrodroid is one application that can automate and which I can use professionally. But it doesn't have the query language thing. Maybe if you get an application that can search within the csv and display the name of the person, Macrodroid can help you retrieve that in a pop-up at call immediately. But if you understand the app Tasker, is a modern heavy automation app one on one which can help you I guess. But I don't understand it much

Definitely. Because if you're not going to use query language, you're definitely trying to create the contact names as variables and their numbers as their values. On call reporting the value, it shows the variable name. This will be too expensive to use automation application. But developing an application is not too bad to do. If you want this thing so seriously. That's where I wish android was Windows Computer, the Excel thing and BASIC could be fun


text:
Cannot root Mototola Moto 3G with Android 6.0.1
I am trying to root my Android device (the one in title) without success and I would really need it because of work reasons (in order to access app Caravel data and recover them in case the app does not start anymore).
I have followed many tutorial like the this and they all say the same thing. I have tried with many SuperSU BETA versions which I installed by flash from TWRP, as the tutorial say. The one which seems to work is 2.65; in fact, beta versions seem to block and freeze the device at boot. It just shows the logo and block. Instead, with 2.65 this does not happen. Then, superSU asks to be fully installed from play store but at the end I am not root. I checked with Root Browser and root checker and it seems that nothing worked.
What am I missing? Which is the correct procedure?

Try referring to this guide -
http://forum.xda-developers.com/2015-moto-g/general/guide-install-twrp-root-xposed-t3294588
It should work for your device.
1) Unlock your bootloader . for complete unlocking process go here.
https://m.youtube.com/watch?v=sw675i...ature=youtu.be
IT WILL RESET ALL YOUR DATA.
2) Turn on USB debugging on
3) Boot your device into bootloader mode
4) flash TWRP recovery v2.8.7 r5. http://forum.xda-developers.com/devd...1051#downloads
5) Boot into TWRP recovery
6) Flash supersu zip v2.62-3. http://download.chainfire.eu/751/Sup...1211162651.zip
7) After succsesfull flashing wipe cache/dalvik cache . reboot system. If it asks to install Root. DO NOT INSTALL ROOT AT THIS STAGE.
8) wait till Boot finishes.
9) If you want to install Xposed Boot into TWRP recovery.
10) Flash Xposed installer xposed-v79-sdk23-arm.zip. http://forum.xda-developers.com/show....php?t=3034811.

This procedure is actually quite dated, although it still works. I will leave a more up to date answer that works on all Moto Marshmallow devices.

This guide covers ALL Moto G 2015 models (including the G Turbo) that can be bootloader unlocked, are running stock Marshmallow, and have TWRP available, it doesn't matter if it is the XT1540, XT1541, XT1543, etc., the method is identical. In fact, this method will work on all 2015 and 2016 series Moto phones running Marshmallow, including the Moto E, X, G3, G4, and Z.
Please read completely and make sure you understand each step and how to do it, if you don't get something search the thread or ask an open question.
tl;dr version for advanced users: Skip to "How to do it" section
I wrote this tutorial because there are still lots of failed root attempts using older "standard" methods that do not work on this device. I also do not like the "one click" root methods, because they can and do fail (KingoRoot will brick a Moto G3, regardless of what it's web page says), and when they do people have no idea how to fix it. The manual way is not difficult, and it teaches you how to work on, fix, and use your device on a level above that of the average smartphone user.
I will only cover the details of rooting, the prerequisites are covered elsewhere in detail and I will link to reliable sources for the information. Specifics of the prerequisites are outside of the scope of this tutorial, but are open for discussion in this thread.
Prerequisites:
1) Device must have an unlocked bootloader. See Moto - Unlocking the Bootloader for more info.
NOTE: Performing this prerequisite will give you all the tools (fastboot) and drivers needed to continue, and wipe your device, meaning erase all your information and programs. Make sure to backup any important data first. This step will also permanently void your warranty once an unlock code has been issued by Moto, it doesn't matter if you even use it, your warranty is done.
2) You need to have TWRP installed or one-time booted via fastboot. CWM and other recoveries will NOT work at this time. See TWRP for the Moto G 2015 or TWRP for Moto G Turbo.
3) You need a copy of the latest STABLE SuperSU ZIP from Chainfire's site on the internal storage or SD card of your device. As of this posting UPDATE-SuperSU-v2.76-20160630161323.zip is the current stable version.
NOTE: Version 2.77 BETA is intended specifically for the Note 7 and should not be used for rooting Moto devices, in testing it doesn't brick or stop boot, it just doesn't show up or work. Stable version are even numbered.
4) Reboot and start TWRP recovery, the method you use to do this doesn't matter (boot or flash).
How to do it:
Now, the procedure is the same whether you are trying to root the first time, or you did it the old way just flashing SuperSU and are now not able to boot...
In TWRP, go to Advanced and open the Terminal, in the terminal type this EXACTLY as shown:
echo SYSTEMLESS=true>>/data/.supersu
Now press enter (there is no confirmation returned), then exit and press the Home key. Go to Install and select the SuperSU zip file you downloaded from Prerequisite #3 and swipe to flash it and reboot. No need to clear caches or anything else but you are welcome to if you wish. You can install SuperSU updates normally through the app going forward (as of this posting).
Why do I have to do this???
For whatever reason, the install script for SuperSU does not recognize that this device (like many others) requires a systemless root installation. By creating /data/.supersu in the TWRP recovery environment, the SuperSU install script parses the file and sees SYSTEMLESS=true and ignores what it auto-detects and forces a systemless root installation.
Hope this is helpful to someone!
As always, if this is the first time you have booted TWRP or attempted root... BACKUP IN TWRP FIRST!!! Once the system is modified, it cannot be undone (easily) and you will always have a known good starting place if the worst happens.
DISCLAIMER: I am not responsible for anything that happens... Your device, your responsibility, no matter what happens... Although all the information here has been tested and is known to work with no issues except where noted, things occasionally can and do go wrong and we cannot foresee every possible scenario or circumstance.
My original article


text:
How can I remove the "Install Google Play Games" prompt in apps?

I uninstalled the Google Play Games app on my phone to get rid of the other annoying prompt, but now I'm left with this one. Is it possible to remove the prompt shown above?

Lucky Patcher might be a solution

It's really frustrating to see that pop-up every time we play a game.
There's a solution if You've a rooted phone with Xposed installed in it.
It's a Xposed module which will stop that pop-up.
Be careful if not rooted.
Link - No Play Games - Xposed Module

Worked like a charm!

No, some games as well as some apps need the Google Play Games and Google Play Services' latest version. So it may ask you to update or use to authenticate.
The entire data of the game is stored in your mobile and Google server. The game maker's server didn't store any score or data. So it needs you to install Play Services not only for this but also to use some API calls to your account info.
You cannot remove it.

What I found odd was that I did something similar in Bluestacks (disabled Google Play Games instead of uninstalling it) and it removed the prompt. But it doesn't seem to work on my phone.

Both are different. There is many difference in bs and mobile.

I went into Androud Notifucations menu and dusabled notifications from the Google Play Store and that did the trick for me.

Not all apps depend on Google Play installation, despite asking for it. If I press Cancel when the prompt pops up, the game still loads and I'm able to play. But I can't get rid of the pop-up. It disappeared after a long while of ignoring it on other apps, but this new game just keeps asking for it. It also loads and I'm able to play.

The question is not about how to proceed loading your game despite that prompt. Instead, it asks "Is it possible to remove the prompt shown above?" Your answer hasn't addressed that part yet.

Tell the game developer to correct his sign in algorithm. If the game prompts for Play Games install, the developer set it to prompt for it. It is an extra command to give to let you see this prompt.

Google Play Games isn't just for sign-in. Games might need it for other functionality, so for any given game it might be very expensive for the developer to replace that functionality.

Every developer interested in audience and using Play Games should have a fall back function to work without it.


text:
How can I bypass the pattern lock screen of a Samsung Edge S7?
Summary
My cousin passed away last week and my aunt is asking me to unlock his Samsung Edge S7. He had the fingerprint scanner enabled but his phone hasn't been unlocked for more than 24 hours so it requires the pattern to be entered. I've tried several of the patterns and I've also tried both Samsung find my phone and Googles device manager. Neither of them allow me to unlock the device. They only allow me to lock the device.
Questions

How can I bypass the pattern code?
How can I figure out what pattern my cousin set his phone too?
Can I flash a custom recovery partition to have root access?
Can I root the phone without access to the phones internals?
Are there any other options?

Do you need access to the data in the device? or you just want to unlock the device???

@AnuragThakur Either one would work. I believe my aunt wants to see his most recent calls and texts around the time of his death.

well If it was easy to unlock a device, there is no point of adding a screen lock. According to me there is only one way to unlock the device: Factory Reset from recovery, which sadly deletes all the data from your device but unlocks it.

you could have flashed a custom Recovery but doing it requires unlocked bootloader and unlocking the bootloader formats your device.

I got the answer. As per your question you have access to Android Device Manager which allows you to lock the device. Simply click on lock and enter the new password. It will replace the current password and you will be able to unlock the device via the password you added.As simple as that. There are more methods Here


text:
When will my device get the Android 8.0 update (Oreo)?
Android Oreo was officially released on August 21, 2017.  It adds features such as picture-in-picture and AutoFill.
You can review the high-level changes at the Android developer website.
Of course, not all devices will get this update right away, even at release; others won't get it at all. Manufacturers and carriers often choose to add their own custom modifications, which tend to delay the official release.
When will each device get Oreo, either officially or unofficially, if ever?
See also:

When will my device get the Android 6.0 update (Marshmallow)?
When will my device get the Android 7.0 update (Nougat)?
How do I update Android on my device? (with links to all other versions)

This community wiki will list all of the known and rumored dates for devices.
If you have an update please edit this wiki here, but make sure to follow the format that's been established, and the following guidelines:

Keep devices in alphabetical order listing the manufacturer and model
Specify if the date is confirmed or rumored and link to the source
If there is an unofficial release, link to the site where it can be downloaded

Phones
Asus

ZenPhone 3: TBD confirmed
ZenPhone AR: TBD rumor

Blackberry

KEYone: TBD confirmed

Google

Pixel: 2017-08-21 confirmed
Pixel XL: 2017-08-21 confirmed

HTC

U Play: TBD rumor
U Ultra: TBD rumor
U11: TBD confirmed

Huawei

Honor 9: 2017-10-30 confirmed
Nexus 6P: 2017-08-21 confirmed

LG

G6: TBD rumor
Nexus 5X: 2017-08-21 confirmed
Q6: TBD rumor

Motorola

Moto G5: TBD confirmed
Moto G5 Plus: TBD confirmed
Moto G5S: TBD confirmed
Moto G5S Plus: TBD confirmed
Moto Z: TBD confirmed
Moto Z Droid: TBD confirmed
Moto Z Force Droid: TBD confirmed
Moto Z2 Force: TBD confirmed
Moto Z Play: TBD confirmed
Moto Z2 Play: TBD confirmed

Nokia

Nokia 3: TBD confirmed
Nokia 5: TBD confirmed
Nokia 6: TBD confirmed
Nokia 8: TBD confirmed pushed

OnePlus

OnePlus 3: confirmed pushed
OnePlus 3T: confirmed pushed
OnePlus 5: confirmed, unofficial on XDA

Samsung

Galaxy A3 (2016): never rumor
Galaxy A3 (2017): TBD rumor
Galaxy A5 (2016): never rumor
Galaxy A5 (2017): TBD rumor
Galaxy A7 (2016): never rumor
Galaxy A7 (2017): TBD rumor
Galaxy C7 Pro: TBD rumor
Galaxy C9 Pro: TBD rumor
Galaxy J1 variants: never rumor
Galaxy J2 (2016): never rumor
Galaxy J3 (2016): never rumor
Galaxy J5 (2017): TBD rumor
Galaxy J7 (2017): TBD rumor
Galaxy J7 Prime (OnNxt): TBD rumor
Galaxy Note 5: never rumor
Galaxy Note 8: TBD rumor
Galaxy Note FE: TBD rumor
Galaxy S6 series: never rumor
Galaxy S7: TBD rumor
Galaxy S7 Active: TBD rumor
Galaxy S7 edge: TBD rumor
Galaxy S8: TBD rumor
Galaxy S8+: TBD rumor
Galaxy Tab S3: TBD rumor

Sony

Sony Xperia XZ Premium (G 8141, G 8142): TBD rumor
Sony Xperia XZS (G 8231, G 8232): TBD rumor
Sony Xperia XA 1 (G 3121, G 3123, G 3125, G 3116, G 3123): TBD rumor
Sony Xperia L1 (G3311, G3312, G3313): TBD rumor
Sony Xperia X Compact: TBD rumor
Sony Xperia XZ (F 8331, F 8332): TBD rumor
Sony Xperia X Performance: TBD rumor
Sony Xperia X (F 5121, F 5122): TBD rumor
Sony Xperia XA 1 Ultra (G 3221, G 3212, G 3223, G 3226): TBD rumor

Tablets
Asus
HTC
Samsung
Other

Nexus Player: 2017-08-21 confirmed
Pixel C:  2017-08-21 confirmed
Smartron SRT Phone: 2017-07-10 confirmed

How bout Lenovo phones?


text:
insufficient storage - df - sufficient conditions?
I know there're lots of questions about insufficient storage, but no real answer so far ! In particular about /data/app, which has plenty of space in my case. So why can't I install any new app ?!
What are the precise conditions that make install fail ?
(I don't want tricks like clearing cache or /data/app, which are both fine in my case..., but I'm more interested by a dev answer about how the install process proceeds)
Thanks !
shell@wiko:/ $ df
Filesystem               Size     Used     Free   Blksize
/dev                   235.3M   128.0K   235.2M   4096
/sys/fs/cgroup         235.3M    12.0K   235.3M   4096
/mnt/secure            235.3M     0.0K   235.3M   4096
/mnt/asec              235.3M     0.0K   235.3M   4096
/mnt/obb               235.3M     0.0K   235.3M   4096
/system                787.4M   687.4M   100.0M   4096
/data                    2.5G     1.0G     1.5G   4096
/cache                 221.5M     4.1M   217.3M   4096
/protect_f               8.8M     4.1M     4.8M   4096
/protect_s               8.8M     4.0M     4.8M   4096
/storage/sdcard0         2.3G     1.0G     1.3G   4096

logcat gives:
I/PackageManager(  672): Apk copy done
I/PackageManager(  672): Checking for more work or unbind...
I/PackageManager(  672): Posting delayed MCS_UNBIND
V/PackageManager(  672): + starting restore round-trip 16
V/PackageManager(  672): No restore - queue post-install for 16
V/PackageManager(  672): Handling post-install for 16
V/Provider/Settings(  672): get setting for user 0 by user 0 so skipping cache
V/Provider/Settings(  672):  from settings cache , name = sys_free_storage_log_interval , value = null
V/Provider/Settings(  672): get setting for user 0 by user 0 so skipping cache
V/Provider/Settings(  672):  from settings cache , name = disk_free_change_reporting_threshold , value = null
D/dalvikvm(  672): GC_EXPLICIT freed 579K (8856), 21% free 15405K/19324K, paused 5ms+10ms, total 125ms
I/Finsky  (14148): [15066] com.google.android.finsky.packagemanager.impl.h.a(9): Package install status for fr.smoney.android.izly.REC is -4
W/Finsky  (14148): [1] com.google.android.finsky.installer.a.aa.a(37): Install failure of fr.smoney.android.izly.REC: -4, Exception: n/a

Have you already checked with our insufficient-memory tag-wiki for known solutions? And checked with the "related" questions shown next to yours, such as “Insufficient storage” when trying to install new app? Also, taking a look at our heavily frequented questions on this topic might give you some clues.

@Izzi Thank you for reformatting & the links. Yes, I have checked most of these links, but they only give user-level answers that clearly do not apply in my case (like 25MB or 10% limit), or tips to free up memory - but nothing useful for me: not any "developer-aware" cues about the actual install process that may help me to understand... As if nobody really knew how does this install process really work, in the details ! I'd really appreciate to avoid having to dig into android's code to understand it ;-) hoping someone else already did...

Related thread on XDA. If you want to try that approach, I guess all that LP does is what you also can achieve using pm set-install-location 1 (0=auto, 1=internal, 2=SDCard).

@xtof54 You are welcome for the reformatting! #D

@Izzy thanks for the XDA link; I've tried it and this little trick actually works ! After some thinking, it makes sense, because I used to have an SD card that got crazy and I removed it, so I guess Android was always trying to install on sdcard, even though there is none anymore :-/ Please write it as a real answer and I'll tag it as solved. Thanks a lot !

Oh! That might explain – especially if you had set it to prefer that card (2 in my answer). You could verify that by setting 0 again (auto) and see if that works as well. Please let me know then, to update my answer.

There's a related thread on XDA describing a work-around. Adapting it a little so you don't need that "specific tool" (LP):

Set the install location explicitly to internal storage:
pm set-install-location 1 # (0=auto (default), 1=internal, 2=SDCard)

Clear the Play Store settings

Now your install should go through.
As the comment in the code line shows, by default Android is set to automatically chose the storage the install should go to. It seems something is messed up in that evaluation. So by making your wish explicit, that "auto evaluation" routine is skipped, and thus the error avoided. If that's what's behind the issue, it should work as well setting your preferred storage to 2 (SDCard) if you prefer that.
Reading your comment, the culprit might have been a little different at least in your case: If you had set the install location to 2 and then removed the card, it's pretty much clear why there's "insufficient storage" on the empty slot :)


text:
Transferring messages to android from a sqlite db on my laptop
I am a new android user. I switched from nokia to android today only. Been googling around for various solutions to transfer my sms (text messages only) from my old nokia to my new Android (Galaxy Ace with Android 2.3).
After exploring my laptop, I found the synced(using Nokia PC Suite) sms were stored in AppData as a sqlite file.
Can I transfer all these to my new Android? Any app for this?

Well I solved the problem. Documenting the solution here for future references.
Using any sqlite manager (I used firefox plugin- SQlite Manager), export the database to XML format (generally any db manager has options to export the database in csv, xls & xml formats).
If your sqlite was generated by nokia pc-suite sync, you would get an xml like:
<?xml version="1.0" encoding="utf-8"?>

<sm_xml_export version="2.0">
  <database name="msg_db.sqlite">

      <column name="msg_txt" type="3">Your message body</column>
      <column name="msg_address" type="3">+919203487229</column>
      <column name="msg_folder" type="1">1</column>
      <column name="msg_time" type="1">1305483332</column>
      <column name="msg_imei" type="3">355940045825435</column>
      <column name="msg_status" type="1">36</column>
      <column name="msg_uid" type="3">{c33eb602-1456-4542-a755-268dc3728638}</column>
      <column name="msg_address_substr" type="3">4487229</column>
      <column name="msg_subject" type="3"/>
      <column name="msg_attachments" type="3"/>
      <column name="msg_type" type="1">0</column>
      <column name="msg_binary_path" type="3"/>
      <column name="msg_attachment_tns" type="3"/>
      <column name="msg_sent_frompc" type="1">0</column>

      <column name="msg_txt" type="3">Hi gopi, how are you? ;)</column>
      <column name="msg_address" type="3">+919582821300</column>
      <column name="msg_folder" type="1">1</column>
      <column name="msg_time" type="1">1305516490</column>
      <column name="msg_imei" type="3">355940045825435</column>
      <column name="msg_status" type="1">36</column>
      <column name="msg_uid" type="3">{15a0d257-2318-4baa-b764-dd14c1aa1fb5}</column>
      <column name="msg_address_substr" type="3">2821300</column>
      <column name="msg_subject" type="3"/>
      <column name="msg_attachments" type="3"/>
      <column name="msg_type" type="1">0</column>
      <column name="msg_binary_path" type="3"/>
      <column name="msg_attachment_tns" type="3"/>
      <column name="msg_sent_frompc" type="1">0</column>

  </database>
</smses>

Then you can use the following php script to do the conversion to the generate the xml format script required by the SMS Backup and Restore App.
<?php

$file=fopen("sms-20120708160401.xml", "w");
$xml=simplexml_load_file("messages.xml");
echo $xml->getName()."

";
$begin="<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>\n";
$begin.='<?xml-stylesheet type="text/xsl" href="sms.xsl"?>'."\n";
$begin.='<smses count="">'."\n";
fwrite($file,$begin);
$start='  <sms protocol="0" ';
$finish='/>';
$i=1;
$j=0;

foreach($xml->children()->children() as $table) {
    echo $i++."  ";
    $read=1;
    $msg_status=$table->column[5];
    $msg_folder=$table->column[2];
    if($msg_status=="34") {
        $type=1;
        $read=0;
    }
    else if($msg_status=="36") {
        if($msg_folder=="4294967295") {
            $type=3;
        }
        else {
            $type=1;
        }
    }
    else if($msg_status=="1" || $msg_status=="5") {
        if($msg_folder=="4294967295") {
            $type=3;
        }
        else {
            $type=2;
        }
    }
    else {
        echo "
".$msg_status."; ".$msg_folder."

";
    }
    $body=htmlspecialchars($table->column[0]);
    $body=str_replace("\n", '
', $body);
    $address=$table->column[1];
    if(strlen($address)==11) {
        $address="+91".substr($address,1);
    }
    else if(strlen($address)==10) {
        $address="+91".$address;
    }
    else if($address=="") {
        $i--;
        continue;
    }

    $sms=$start;
    $sms.='address="'.$address.'" ';
    $sms.='date="'.$table->column[3].'000" ';
    $sms.='type="'.$type.'" ';
    $sms.='subject="null" ';
    $sms.='body="'.$body.'" ';
    $sms.='toa="null" ';
    $sms.='sc_toa="null" ';
    $sms.='service_center="null" ';
    $sms.='read="'.$read.'" ';
    $sms.='status="-1" ';
    $sms.='locked="0" ';
    $sms.='date_sent="null" ';
    $sms.=$finish."\n";

    fwrite($file, $sms);
}

$end='</smses>';
fwrite($file, $end);
fclose($file);

?>

One point to be noted:
You have to manually write the count attribute in the smses tag. Just check the number of lines in your generated xml file & subtract 4 from it OR just write the last echoed integer by the script
Now just send this to your android & restore using the SMS Backup & Restore App. Bingo! you are done!

It's not as simple as to copy the SQLite database to your new Android device, as the internal structures will differ (they even do between Android versions). There are a lot of apps in the play store to Backup/Restore your SMS on Android, using defined API-calls to extract / restore messages from/to your Android device. But unfortunately I saw none capable of converting from other formats. As some of them store the SMS-Backup in XML Format, you might be able to manually produce such a XML file for import (though I would think that being to much overhead).

ok. So any other way to transfer my messages from nokia to android?

Some devices come with a "migration assistant". Not sure about the Ace, and not sure how it is called in the app drawer... You might want to take a look at the SBP Migration tool which claims to migrate contacts, sms and bookmarks from Windows Mobile and Symbian devices to Android.

thanks anyways. I guess I will have to generate a xml from the sqlite..


text:
`adb pull /data` fails with "0 files pull 0 file skipped"
I have rooted my device HTC Evo Design 4G and I try to adb pull /data data and it says "0 files pull 0 file skipped"
I was able to pull /System/build.prop. How can I pull the root folder?

Did you run adb root first?

Yes, but adb root was not success. No permission. But I could adb shell su. It gives #.

Files and directories below /data/data are protected from the "average user", so you cannot simply "pull" them unless the ADB daemon is running in root mode. Other than the file you were referring to (/system/buildprop is at least readable by all apps), folders below /data/data are "invisible" (except for root), so they cannot even be read.
To be able to use adb pull on them, you need to make your ADB daemon run in root mode first. Depending on the device, a simple adb root command might do that – but most devices will refuse to do. In those cases, you can use chainfire's adbd insecure: Install this app on your device, start it there, and manually switch to "insecure" mode. Now the pull should succeed.
Remark: It's called "insecure" because running adbd as root gives everybody with a computer and an USB cable access to everything on your device. Just in case you wonder.

Thamk you! Apart from the chainfire adbd insecure, Can I set ro.secure flag in build property?
Can I use adb shell setprop ro.secure 0?

I haven't ever tried that, nor do I know exactly what that flag is for – so I cannot tell. (Btw: if you found the answer useful, you're welcome to "upvote" it (the SE way to say "thanks") – or "accept" it when it solved our issue ;)

adbd insecure work for me :)

If your phone's rooted, there are three ways to go around this. The first one is to use ADBD insecure.
The other one is to move it to another folder with root and then pull it from there:
$ adb shell

shell@android:/ $ su
root@android:/ # mkdir /sdcard/data
root@android:/ # cp /data/data/* /sdcard/data
root@android:/ # exit
shell@android:/ $ exit

$ adb pull /sdcard/data .
$ adb shell

shell@android:/ $ rm -r /sdcard/data/
shell@android:/ $ exit

I think you can build a script such as:
echo 'echo "mkdir /sdcard/data; cp $1/* /sdcard/data; exit" | su; exit' | adb shell
adb pull /sdcard/data .
echo 'rm -r /sdcard/data; exit' | adb shell

and save it somewhere.
Finally, the third option is chmod -R 1777 /data/data, but this is much more unsafe, so it's highly discouraged.

May I ask what $1/* refers to? Is it the /data/data directory?

Use -r for copy Recursive subdirectories and files
"cp -r /data/data /sdcard/data"

@Emen $1 would be the first argument provided to the script, in this case it would be referring to a directory. So if that script was in a file called extractdir.sh you could call it with ./extractdir.sh /path/to/target/dir.

Use single quote inside double quote, otherwise $1 will be interpreted as literal $1 instead of parameter value
echo "echo 'mkdir /sdcard/data; cp -r $1 /sdcard/data; exit' | su; exit" | adb shell

You cannot pull data folder directly since adb doesn't have file listing access to it. If you want to pull the /data folder you can do it via recovery ([Custom recovery, CWM/TWRP] run adb while device is in recovery mode, hopefully a custom recovery). Or as root, copy /data to another directory (sdcard) and pull it from there.

Thank you. But I was able to pull build.prop file in /System folder. adb shell su and then I can list files in root folder.
I read in a Google search setting ro.secure build property to 0 will help pull /data. Is this true?
If so is there a way to do it?

You can pull build.prop because /system has listing permission. You can change ro.secure=0 in your boot.img, but that is a really complex step. It would be easier to just install a custom recovery and do it from there.

Thank you very much! My primary purpose of the effort is implementing a forensic related application as a university final year project. I am really afraid, installing custom recovery will wipe out evidences from the device. Do you have any idea about the subject.

Adding to my previous comment - What is the use of adb shell setprop? Can't I use it in this case?

A forensic recovery program that relies on the phone being rooted and having debugging turned on doesn't sound very useful.

I have to agree with @DanHulme. You cannot have an app that relies on root and usb debugging enabled. Also what do you think will be wiped out by a custom recovery?

"A forensic recovery program that relies on the phone being rooted and having debugging turned on doesn't sound very useful." Can some one please explain this to me. I am totally a newbie who is still try to learn things

PART I: Getting all the files ready for an ADB PULL
This is what worked for me:

Make sure you're using the latest ADB version.

Start the ADB session: adb shell

Get SU rights once in the ADB session all you have to do it's type su like so: su. Then you'll notice that the $ becomes #.

The hash lets you know you're on SU mode.

Make a folder on the /sdcard of the device: mkdir /sdcard/data/

Head to the root of the file you want to copy.

For me, for example, I wanted to make a backup/copy of my apps and store it on my computer so: /data/app #

An example of what I get if I ls that folder:

root@m1:/data/app # ls
com.abtnprojects.ambatana-1
com.acr.rootfilemanager-1
com.amazon.kindle-1
com.android.chrome-1
com.android.mms-1
com.android.vending-2'

In order to copy recursively with the ADB cp command, use the option -R and since I wanted to copy everything in it, I used the wildcard *
like so: cp -R  */ /sdcard/data/

Once you press enter, if the file is fairly large it will obviously take a while to copy the files, so the cursor will idly blink for a bit, it will look like if not doing anything, BUT IT IS! it's copying the files, so don't panic! and don't stop the process!

If you want just open another ADB shell session and head to the folder
where you're transferring the files and do an ls check and you should see that the empty folder is now getting populated with the files. Once the transfer is done, you'll get your shell back.

Head to the sdcard/data and make sure everything was copied ls:

'root@m1:/sdcard/data # ls
com.abtnprojects.ambatana-1
com.acr.rootfilemanager-1
com.amazon.kindle-1
com.android.chrome-1
com.android.mms-1'**

PART II: The ADB PULL

By this point, if you haven't created a folder on the target machine, do so. I conveniently created a folder called apps

Now, let's do the elusive recursive ADB PULL of all the files at once:

Make sure that you are logged out of the ADB session, since we've been on SU mode, we'll need to exit twice:

root@m1:/sdcard/data # exit
shell@m1:/ $ exit

From a normal shell session, run the adb pull, you don't have to
use the -a option, I personally use it to keep the integrity of the
files as much as possible. Run the command: adb pull -a /sdcard/data/ apps/

You should see something like this:
[ 69%] /sdcard/data/com.google.android.gms-1/base.apk: 74%

Once it's done:
/sdcard/data/: 296 files pulled. 5.1 MB/s (1193942288 bytes in 221.352s)

And Voila!
Side Notes:

Don't know if matters but I use a Mac.
If while on the ADB session you can't get "su privileges" either:

1st: You probably need to give ADB root access
2nd: "super user" it's not installed correctly

Double-check your commands

Don't I need to be rooted for that?

Working on my Android 7.1 device. Steps to get it working:

Download the adbd insecure version by leroy at https://nofile.io/f/86605d8qsJs/adbd-Insecure-v2.00.apk
Install on your phone.
Run adb shell in your adb directory
Type su so u can get the "#"
Type setenforce 0
Enable insecure adbd. USB debugging turns off
Turn USB debugging on and off from developer options
Turn insecure adbd off and on again.

You can now adb pull into your PC.


text:
How do I set Android’s Clock app to vibrate for timers?
When I set my Android to All Notifications Vibrate mode and set a timer with the Clock app, the only notification I get is an on-screen display of the time counting negative past zero. There is no vibration, so I can’t tell that the timer expired when the phone is in my pocket (especially when using headphones with my computer). I can’t figure out how to ask the Clock app to vibrate the device when a timer expires. How do I enable vibrations for this notification? If this is a bug, how do I report it most effectively?
Normal notifications such as toasts will generate a vibration so that I can tell there is a notification when the phone is in my pocket. The normal alarm function of the Clock app will vibrate the device just fine.
I’m using Clock-4.2.1 (2383161) on Android-5.1.1+OxygenOS-2.1.2 on a OnePlus2.


text:
Android 5.0 sync questions on HTC M8
I'm trying to figure out how to set items to individually auto sync.
On the HTC M8 under accounts & sync in both 4.4 and 5.0, I noticed I cannot select items to auto-sync individually. I can only manually sync individual items when I have auto-sync turned off. If I turn on auto-sync, it automatically wants to sync everything under those accounts and Google account which is what I do not want.
I only want certain things under these specific accounts to auto-sync. For instance, all I use is Gmail and Google Play Music. I do not want anything else on my phone to sync to Google, but I can't figure this out since it doesn't ask what I want synced before adding an account.
I know in older versions of android, it always asked what I wanted to have auto-synced and what I didn't when adding the account. I could also go in that account under settings and select what I wanted to auto-sync before turning on the phones sync.
How can I get around everything trying to sync at first, if I cannot even choose what I want to sync when adding a Google account?
I've even tried sighing into these separately instead of adding the main Google account through accounts & sync. It still does the exact same thing and it adds everything from my Google account ready to be synced as soon as I turn on the phones auto-sync.

If you go to accounts & synch, and click on your google account it should have the breakdown (I tried it on an M8 just now, fine) Chrome, Music, Gmail etc etc etc. What happens if you clcik on the Google Account itself (and not the little synch icon beside it)?

Enable "Sync" in the taskbar, then go to the account you need selective sync on, you'll find all the required options with tickboxes. Tickboxes disappears when "Sync" option is disabled.
Best luck.


text:
What is this folder named "d1o1m0o7b1i1le"? Is it a virus?
I found a directory on the SD card of my Nexus 5 called .d1o1m0o7b1i1le that definitely wasn't there last week. It contains a directory called dont_remove, which contains a bunch more directories with random names, each containing folders .image, .thumb, and .video, all empty.

I haven't installed anything new that I know of, and this directory just feels sketchy, so I'm concerned that it might be a virus, but I haven't been able to find many other references to it on the internet. XDA has nothing, but Google shows two pastebin results 1 2 that look like process dumps. I have been doing some basic development lately, but I would think there would be more references to it if it were part of Android.
I've just downloaded Avast mobile and scanned everything, but it doesn't seem to have turned up anything other than a few settings.
I'm running the Android L developer preview, rooted, so there's definitely more opportunities for compromise on my device than most.
Anyone know what virus I might have, and if so, how I can get rid of it, or if this is just something normal I should ignore?

The folder is created by (at least 1) apps developed by DoMobile Lab. As a hint, when you remove all numbers from the folder name, it spells /.domobile.
As a proof, after installing AppLock and running it, there will be /domobile and /.d1o1m0o7b1i1le folders on the SD Card root folder.
I don't think it is a virus, and it might be really important for DoMobile apps to work properly.

It is a folder that is being created by AppLock after its latest release on 13 Oct 2014. I had this folder on my SD card. I deleted that folder and it came back again. Then, when I deleted AppLock, the folder didn't come back.
I installed AppLock from backup and the folder was still not created. But after updating the app, the folder got created again, so I guess they changed the way their apps worked. So, don't delete it. It's important for the app to work properly.


text:
File servers for Android?
Do any good file servers exist for Android that do not require root?  Ideally, it'd be nice to just be able to have an SMB share, but the only app I was able to find for this (Samba Filesharing) requires root.
I'm currently using FTPDroid, but it's pretty slow (I'm getting about 200 KB/s downloads on my n600 wifi).  Are there any better options?
I'm using a Verizon Galaxy S3.

There are tons of alternatives. Find a list of FTPServers in this German thread (Google Translate version), others like WebDAV and Samba can be found here (again: Google Translate version).
I'd say you could give FTPServer a try, sounds promising. No root mentiones, highly rated.
Alternatively, you might want to try DoMobile FTP share (very small: less than 30 kB!) or their new app eShare. Meanwhile I even managed to locate SwiFTP again (somebody continues the project, finally!), which should be fast and lightweight.

Still want to try the rest of the suggestions, but FTPServer is so far much faster than FTPDroid.

Yeah. But it's a real pity that SwiFTP seems no longer available -- small and fast and feature-rich, it seemed the best choice. But as for your requirements, when walking the list you might stick with DoMobile (small and handsome, and reported to be really fast). Make sure to let us know your choice then :)

DoMobile's new app called eshare turned out great.  Fast and reliable so far.  If you add that to your answer, I'll mark it.

At your service xD

If all you want to do is access your device from a Computer, my favourite app is AirDroid. Allows you to browse files file a lot more. Doesn't require root. I've found that I can get 1.5 / 2mb/s on a busy network

I do use AirDroid from time to time, and it's pretty cool.  I'd prefer to find something that I can access natively through Windows though, rather than through a browser.

I use SSHDroid, which doesn't require root (although if you have root, it will take advantage of it). This has the dual advantage that it can not only be used for file transfers (using SFTP), but since it's an SSH server, it also allows you to open a remote shell on your phone. I usually get ~1Mbps via WiFi.

I suggest you to try Servers Ultimate.

Would be nice to give a reason for your suggestion. Guess it's the "many different servers in one app" making you say so? Or did you try it, and can include some feedback on what you liked about it?

I tested it on an old device I owned and was really keen about it.
Currently I'am running a lightweight DNS server on my old device.

I created WiFi FTP Server for this purpose.

It's OK to name your own app. But it's a rule to disclose your involvement. Sure you found it good if you wrote it – otherwise you'd have to hit yourself for bad coding.

That's two questions, both with little information touting your own app. That sort of behavior is frowned on around here. If you don't want people to flag your answers as spam, I suggest you answer questions where you're not suggesting your app.


text:
LG Optimus 2X ICS Rom
I came across a rom that i would like to try out on my LG Optimus 2X P990, but the xda page i found isn't for that phone. Any ideas on where i can download it?
the rom is called: [Rom] FB Jellybean Fusion Beta 3.2.2 [ICS | Fast][Jellybean Features & Theme]
Link to xda for the version not for my phone: http://forum.xda-developers.com/showthread.php?t=1828606

I don't think that developer released a version of that ROM that's compatible with your device so my advice to you would be to go to the Optimus 2X forum and find a Jelly Bean ROM there or you can check out this
link other roms: