text:
How to avoid a forced shutdown on an Android 13 device for vehicles?
I've bought a Chinese device for my car/motorcycle, which runs Android 13. I don't want to root it to keep the warranty valid, but the device is easy enough to customize: for example, I've been able to change the launcher (I'll use none of the pre-defined apps for music and navigation, and I don't have an iPhone, so the non-customizable home screen UI had no use for me).
The device is meant to be "permanently installed" on the vehicle, not to be detachable: it has a power cable coming out from the back that you have to put in the vehicle and connect with screws, but it also has a USB C port.
Here's the problem: it works fine when powered by the USB C port, but during the startup, a pop-up appears telling you that it will shut down in 5 seconds unless you press "Cancel" (but there are no buttons on the device apart one that only switches it off) and then it shuts down, just to boots again, and then repeat this cycle.
I've been somewhat able to "bypass" that popup using a "scientific method" which is by frantically tapping everywhere on the screen until something happens (like an app starts); if it happens, then the pop-up goes and I can keep the device on as long as I want. I've not been able to find any procedure that grants me to get to this point: I just have to try and try until I succeed.
I'd like better to power it using the USB port on my vehicles, so I'd need a way to know what happens at startup in order to know and disable the app (if any) that opens the pop-up; or maybe I could launch at startup some process (but very quickly) that makes it happy.
I've tried the UAC program, and there's just a handful of proprietary apps in the phone (other than the launcher): they're not even hidden so I can launch them from the apps tray but they are in Chinese and apparently, they do some RAM test or ... nothing visible.

Is there a way to show on screen the processes that are running, so I can see what's alive when it wants to shut down?

Is there a way to add an app that will start at startup before anything else?

Does someone have other ideas about how to detect/block/disable the process that wants to shut down the phone if not powered by the power cable?

This is the package list obtained with ADB:
android
android.auto_generated_rro_product__
android.auto_generated_rro_vendor__
android.ext.services
android.overlay.dynamicNavBar
android.overlay.navbar
com.android.backupconfirm
com.android.bips
com.android.bluetooth
com.android.bluetoothmidiservice
com.android.bookmarkprovider
com.android.calllogbackup
com.android.captiveportallogin
com.android.carrierconfig
com.android.carrierdefaultapp
com.android.certinstaller
com.android.chrome
com.android.companiondevicemanager
com.android.cts.ctsshim
com.android.cts.priv.ctsshim
com.android.dialer
com.android.documentsui
com.android.dreams.basic
com.android.dreams.phototable
com.android.dynsystem
com.android.egg
com.android.emergency
com.android.externalstorage
com.android.gallery3d
com.android.hotspot2
com.android.htmlviewer
com.android.inputdevices
com.android.internal.display.cutout.emulation.corner
com.android.internal.display.cutout.emulation.double
com.android.internal.display.cutout.emulation.tall
com.android.internal.systemui.navbar.gestural
com.android.internal.systemui.navbar.gestural_extra_wide_back
com.android.internal.systemui.navbar.gestural_narrow_back
com.android.internal.systemui.navbar.gestural_wide_back
com.android.internal.systemui.navbar.threebutton
com.android.internal.systemui.navbar.twobutton
com.android.keychain
com.android.localtransport
com.android.location.fused
com.android.managedprovisioning
com.android.mms.service
com.android.modulemetadata
com.android.mtp
com.android.musicfx
com.android.networkstack
com.android.networkstack.permissionconfig
com.android.nfc
com.android.ons
com.android.overlay.wallpaperconfig
com.android.packageinstaller
com.android.pacprocessor
com.android.permissioncontroller
com.android.phone
com.android.printspooler
com.android.providers.blockednumber
com.android.providers.calendar
com.android.providers.contacts
com.android.providers.downloads
com.android.providers.downloads.ui
com.android.providers.media
com.android.providers.partnerbookmarks
com.android.providers.settings
com.android.providers.telephony
com.android.providers.userdictionary
com.android.provision
com.android.proxyhandler
com.android.se
com.android.server.telecom
com.android.settings
com.android.settings.intelligence
com.android.settings.overlay.oversea
com.android.sharedstoragebackup
com.android.shell
com.android.simappdialog
com.android.smspush
com.android.sprd.telephony.server
com.android.statementservice
com.android.stk
com.android.storagemanager
com.android.systemui
com.android.theme.color.black
com.android.theme.color.cinnamon
com.android.theme.color.green
com.android.theme.color.ocean
com.android.theme.color.orchid
com.android.theme.color.purple
com.android.theme.color.space
com.android.theme.font.notoserifsource
com.android.theme.icon.roundedrect
com.android.theme.icon.square
com.android.theme.icon.squircle
com.android.theme.icon.teardrop
com.android.theme.icon_pack.circular.android
com.android.theme.icon_pack.circular.launcher
com.android.theme.icon_pack.circular.settings
com.android.theme.icon_pack.circular.systemui
com.android.theme.icon_pack.circular.themepicker
com.android.theme.icon_pack.filled.android
com.android.theme.icon_pack.filled.launcher
com.android.theme.icon_pack.filled.settings
com.android.theme.icon_pack.filled.systemui
com.android.theme.icon_pack.filled.themepicker
com.android.theme.icon_pack.rounded.android
com.android.theme.icon_pack.rounded.launcher
com.android.theme.icon_pack.rounded.settings
com.android.theme.icon_pack.rounded.systemui
com.android.traceur
com.android.vending
com.android.vpndialogs
com.android.wallpaper
com.android.wallpaper.livepicker
com.android.wallpaperbackup
com.android.wallpapercropper
com.asus.soundrecorder
com.carletter.car
com.chartcross.gpstestplus
com.google.android.apps.maps
com.google.android.apps.restore
com.google.android.configupdater
com.google.android.ext.shared
com.google.android.feedback
com.google.android.gms
com.google.android.gms.location.history
com.google.android.gmsintegration
com.google.android.googlequicksearchbox
com.google.android.gsf
com.google.android.inputmethod.latin
com.google.android.onetimeinitializer
com.google.android.overlay.gmsconfig
com.google.android.overlay.gmsgsaconfig
com.google.android.partnersetup
com.google.android.printservice.recommendation
com.google.android.projection.gearhead
com.google.android.syncadapters.calendar
com.google.android.syncadapters.contacts
com.google.android.tts
com.google.android.webview
com.mdc.nasoni
com.microsoft.launcher
com.redstone.ota.ui
com.softwinner.explore
com.sprd.autoslt
com.sprd.cameracalibration
com.sprd.cameraipcontrol
com.sprd.engineermode
com.sprd.logmanager
com.sprd.omacp
com.sprd.powersavemodelauncher
com.sprd.systemupdate
com.sprd.uasetting
com.sprd.validationtools
com.spreadtrum.proxy.nfwlocation
com.spreadtrum.sgps
com.spreadtrum.vce
com.unisoc.aicore.uscaiengine
com.unisoc.launcher.customization
com.unisoc.mssv
com.unisoc.storageclearmanager
com.waze
com.zqc.agingtesttool
com.zqc.audioroute
com.zqc.camera
com.zqc.functioncore
com.zqc.launcher
com.zqc.screensaver
com.zqc.usb.mediaplayer
com.zxbluelet
org.chromium.browser


text:
Did I accidentally delete the phone's data when activating Download mode using Odin?
A friend of mine asked me for some help with bringing back some lost data from his phone where there was an essential piece of information in it (his little son unwaveringly deleted it). It's been years since I tried that sort of thing, but I gave it a go.
I just read some people had varying degrees of success with third-party apps essentially using MOBILedit. I knew that, for it to have extended access to the phone's (Samsung Galaxy Z Fold4) memory, I had to set up root access for the phone. So I went to download the relevant firmware data (SMF 936B Turkey 2024-10-16 F936BXXS8GXIC, he bought the phone while on vacation in Turkey) and Odin. And before that, I had downloaded Magisk.
But when I activated download mode and set Odin to work, it just ended with failed. And after that, whatever effort I put in to get out of download mode, it didn't work. Now I'm stuck in download mode.
I need answers to two questions:

Does this mean I may have completely erased data from memory?
What should I do to fix this situation and get out of download mode?

First your approach was totally wrong. Rooting a phone requires unlocking the bootloader which permanently erases all crypto keys and all data in a away that it can never be recovered by anyone. What the problem is in your case it unknown.

You likely won't lose data if the flash fails.

To fix this, you should reflash the original firmware using Odin with Home CSC, which doesn't wipe data (unlike CSC).

Before attempting anything, if you encounter a failed flash in Odin and the device is stuck in download mode, hold the Volume Down and Power buttons to restart the device, which should typically bring you back to the lock screen.

Thank you very much. I just left all other fields empty except home_csc and it successfully resolved my situation. But when I tried to root it again, the error was raised right after this message:  ID:0/005 vbmeta_system.img
ID:0/005 FAIL! (Auth). I don't know why this happens.

source: Stack Exchange

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

sort: votes


text:
Add a line of JavaScript to an URL in the browser
I am trying to force fullscreen mode in the Chrome app.
I've found a post that I cannot comment on for lack of reputation.
Apparently, I must paste a line of script in the URL of the website, but I cannot seem to get it right whatsoever (I pasted it both before and after the URL).
I'd like to have a step-by-step tutorial of how to proceed, with some visuals, if this is still the only alternative available.

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


text:
updater-script for flashing raw partition image
I created the image with the following commands
dd if=/dev/block/mmcblk0p1 of=/mnt/sdcard/modem.img
dd if=/dev/block/mmcblk0p5 of=/mnt/sdcard/aboot.img

Now, I want to create a flashable zip to flash these images to another copy of the device.

Do I need to format the partition before I write the raw image in the first place?

Is this script okay if I assume no formatting is needed?
ui_print("Updating modem.img ...");
write_raw_image("aboot.img", "/dev/block/mmcblk0p5");
write_raw_image("modem.img", "/dev/block/mmcblk0p1");
ui_print("Finished!");
ui_print();

If it needs formating, I use the Partition Table app to identify the partitions.
It shows for /dev/block/mmcblk0p1 mount point and filesystem type ("vfat") but for /dev/block/mmcblk0p5 this info is absent.

How do I know the filesystem type "EMMC" or "MTD" or what?

Seems like write_raw_image works only from the filesystem and does what `dd`` does. The proper way would be to just extract the images:
package_extract_file("aboot.img", "/dev/block/mmcblk0p5");
package_extract_file("modem.img", "/dev/block/mmcblk0p1");


text:
Install APK on Bluestacks for Mac
How do you install .apk file on Bluestacks for Mac? More specifically, where is the directory for Bluestacks kept and do I have the 'APK Handler'?

For Windows, but might give you an idea: http://android.stackexchange.com/questions/42983/how-can-i-install-apk-file-on-bluestacks-app-player

@geffchang nope not really, i clicked through to this question from that because none of the directories it mentioned seemed to exist on my Mac

@user50338 Have you tried drag-and-drop the apk file onto the bluestacks app player after opening it?

For me, this worked well:

Place the .apk in the /Runtime folder:
Macintosh HD/Applications/BlueStacks.app/Contents/Runtime/filename.apk

(Don't ask why, it was just the only spot that seemed to actually work.
Open up the terminal. Type:
/Applications/Bluestacks.app/Contents/Runtime/uHD-Adb devices

If there is one device listed, perfect.

If not, type this into the terminal:
/Applications/Bluestacks.app/Contents/Runtime/uHD-Adb disconnect

Now once you have a single device listed, type into terminal:
/Applications/Bluestacks.app/Contents/Runtime/uHD-Adb install /Applications/BlueStacks.app/Contents/Runtime/filename.apk

Source

This worked for me except in step 1 the path was /Applications/BlueStacks.app/Contents/MacOS/filename.apk and in 2 the command was /Applications/Bluestacks.app/Contents/MacOS/adb devices and in 3 the command was /Applications/BlueStacks.app/Contents/MacOS/adb install /Applications/BlueStacks.app/Contents/MacOS/filename.apk. Possibly due to newer version of BlueStacks.

@LironYahdav This was a huge help. Worked great to install local file. Confirmed working on High Sierra.

Indeed, these paths are compatible with the latest Bluestacks version, though I get an error when running the last command (install): Performing Streamed Install adb: connect error for write: closed.

From this SO post,

Open terminal and run the following command:
 /Applications/BlueStacks.app/Contents/MacOS/adb install ABSOLUTE_PATH_AND_APK_FILENAME

Other Method: This one is not a solution, but a quick workaround is to have the apk in any cloud storage like Dropbox, Drive, OneDrive etc and download it in your bluestack's Dropbox app and install it. As quoted from this apple discussion thread,

The quick and easy method is to :

install dropbox in your bluestacks.
drop your apk file into your dropbox from mac/pc/phone.
access your apk file from your dropbox in bluesstacks and install.

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


text:
Copy contacts from Samsung device to other brand
I have bought a brand new Gionee E6. First thing I need to do is copy contacts from my Samsung Galaxy phone to Gionee E6. I have backed up my contacts as .spb file using Kies. But when I try to import this contacts to Gmail/to my phone, it says "File format is not supported".
I have tried the following in Kies:

Open .spb file and save it as .cvs/.vcf. The "Save As..." option just does not work
Tried to import the .spb file to Google Contacts, doesn't work either.

What should I do?

Using proprietary vendor-software such as Kies for backups usually jails you into that eco-system. If your Galaxy is still available, up, and running, rather use the following steps to transfer your contacts:

open the Contacts app
hit the menu button
select "Import/Export"
chose to export your contacts to SDCard (will store in .vcf format)

Now you've got a decent backup which should restore on any Android device (at the same place in Contacts), and even most other systems, as VCF is a standard format (VCard).
Alternatively, you can also sync all your contacts with your Google account from your old phone. They should automatically sync to all your other Android devices using the same account then.

If you still have your Samsung phone than install SYNCit application by Lenovo Group.

Create an account and sync your  contacts, SMS and other data.
Install the same app on your new mobile and sync it again.

Hassle free way to do it.

In Kies, open the .spb file, select all the contacts then save as .vcf. Then send to your phone via Bluetooth.

From Windows, open Start menu, type .vcf, but don't hit Enter key
Let it find the file, right click any .vcf file, then select "Open file location"
Copy the file, attach the USB to the phone, paste to internal storage on phone (I made a folder called /vcf)
Download app called Import Contacts (old), then import from single .vcf card
Download DW Contacts (paid app) to display and call.

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


text:
How to open ClockworkMod's .tar.a archives?
To open the TAR archive on my PC, I have to rename the .tar.a to .tar, otherwise my archive manager will say "Archive type unsupported" or similar.
Why do they do that, and how to open these archives in a proper way?

It does this in order to break up large .tar files into chunks of 1000000000 bytes (or 1 GB):
-rwxrwx--- root     sdcard_r          0 2014-03-19 14:31 data.ext4.tar
-rwxrwx--- root     sdcard_r 1000000000 2014-03-19 14:33 data.ext4.tar.a
-rwxrwx--- root     sdcard_r 1000000000 2014-03-19 14:36 data.ext4.tar.b
-rwxrwx--- root     sdcard_r 1000000000 2014-03-19 14:38 data.ext4.tar.c
-rwxrwx--- root     sdcard_r  135127040 2014-03-19 14:38 data.ext4.tar.d

Even if the resulting file is under the 1000000000-byte split limit, the .a file will still be generated:
-rwxrwx--- root     sdcard_r         0 2014-03-19 14:29 system.ext4.tar
-rwxrwx--- root     sdcard_r 484504064 2014-03-19 14:30 system.ext4.tar.a

You can combine these split files back together using the following syntax:
On Windows: copy /b finelame* filename E.g. copy /b data.ext4.tar* data.ext4.tar
On Linux: cat filename* > filename E.g. cat data.ext4.tar* > data.ext4.tar

Thanks, good answer but why is .tar always zero?

Not sure off the top of my head, I'd have to look into CWM code. It's probably a placeholder for the original file name.


text:
"DLNA device is requesting access to media files on your phone" dialog box appears out of nowhere
I got home from the airport today and I keep getting this "Grant access" pop-up:

Grant access
DLNA device [MAC_ADDRESS] is requesting access to media files on your phone.

Did my phone get hacked? Did some device in my house get hacked? Or am I just paranoid?

According to the MAC address, the device is something made by Chicony Electronics.  Ask the rest of the household if they've bought anything new recently.

Thanks Compre01.  Looks like that MAC address is my Dell Laptop my-PC WLAN 192.168.1.133 64:5a:04:be:4f:e7 so maybe my laptop got hacked. Funny though, I didn't take my laptop with me on my trip.

Very likely nothing at all got hacked. DLNA is a standard used for devices like phones, smart hard disks, smart TVs, and PCs to browse and share media files (videos, photos, and music).
It looks like your phone came with a DLNA server to make it easier for you to play/show media files on (for example) your TV. Normally, you'd go to a menu on your TV of connected DLNA media sources (devices offering media sources), and select your phone. Your TV would then connect to the phone to get a list of what media files it has, and this warning would come up before the phone responds, to check that this is a device you were expecting (and not, say, someone's laptop on the Wi-Fi network in Starbucks).
If you've identified this device as your laptop, then it must be some software on that that's making the request. It's possible that it is malware running on the laptop, but more likely, it's some normal media-player or photo-manager software. Even if you haven't explicitly told it to scan for files on your device, it simply be trying to connect to your device when you are browsing for an unrelated media file, or indexing in the background to help you find files more easily in future.
If you've left the DLNA server in your phone turned on while travelling, then you certainly aren't paranoid about security. It defaults to on to make it easier to use - most people would never realise it was there to turn on - but it's safer to leave it off until you actually want to use that feature.


text:
Which engine does the stock Samsung Browser use?
Which engine does the stock Samsung Browser use? Is it based on WebKit, Gecko, or something else?

Webkit is de-facto engine in AOSP, having said that, Google are keen to drop webkit soon enough now that Blink is 1 year old...

Android default browser uses WebKit.
Check out the second paragraph of Wikipedia WebKit description.

After reviewing some user-agent strings, all native Samsung browsers I saw use WebKit.
There are particular idiosyncrasies when working with this family browser amongst devices, and a lot of weird behavior. According to What browser does the Samsung Galaxy use? on Stack Overflow, there is some "value-added" by Samsung to the AOSP browser.

It is based on Chromium, it uses Blink (WebKit fork).
https://en.wikipedia.org/wiki/Samsung_Internet


text:
Boot up Nexus 7 through induction charging
I have Nexus 7 (2013, rooted). I have seen plenty of examples of people being able to successfully modify Android system scripts such as chargemon to essentially hijack the few scripts running when an Android device is turned off, but plugged in through USB to charge. However, it doesn't seem that induction charging is able to offer any kind of trigger that can be taken advantage of to automatically boot up the device. Is it possible to achieve this goal without a factory hardware set, no modifications?
I'm not a hardware guy, so I really don't know anything about what I could/should do in that respect, but if hardware changes are my only option then it's not something I wouldn't look into. Are there even hardware modifications that could be possible to achieve this functionality?

I've found a solution for the following problem:

The Nexus 7 (2013) device must never be turned off unless it has an insufficient amount of power.
When the Nexus 7 (2013) device is exposed to an inductive charge, it should turn on automatically.

In order to apply this change to my device, I activated the bootloader and ran a simple batch file with the following script:
fastboot oem unlock
fastboot oem off-mode-charge 0
fastboot oem lock
fastboot reboot

This line:
fastboot oem off-mode-charge 0

sets the device to turn on whenever there is enough charge remaining that is sufficient to power up the device. If the device is drained completely of battery, then charged via conduction to or above a level of sufficient battery for rebooting, it will not reboot unless it is then either the charger is removed and re-applied or if the power button is pressed. This means that if a device is charged from 0% battery to 100% battery and removed from the charger, it can remain turned off for shipment until it arrives at its destination, in which it can be touched to an inductive charger and instantly turned on with no power button interaction whatsoever.

Is this mode sticky, or does it only work once?


text:
Why are some apps hidden and how to unhide them
For example, on my Galaxy Tab 7.7 Plus (SC-01E) running Android ICS, the Phone app APK is installed but does not show up in my app drawer.
It will actually show up if it is called by a widget, but there is no launched icon for it anywhere. In the system settings it shows as running.
This tablet is not rooted but I did buy it off from Yahoo! auction.

It will most likely show up as soon as you plug in a dongle holding a SIM. Some apps are hidden based on provider settings: if a supporting provider is detected, the app is shown. No SIM, no provider, not shown.

It's unfortunate because the android phone app has some sip features that are useful whether you have voice service or not.

Android has many apps that run either in background (such as Accuweather daemon) or only appear as widgets (for example TypoClock). Since these two apps don't need the user to open them from the launcher, they don't add an icon to it.
The same happens with Live Wallpapers. If you use a root explorer or another root app that will let you see all the installed apps, you will see that the list is higher than the apps that appear in the launcher.


text:
Can't log in to Google account to install Google Authenticator because of 2FA
Can't remember what it is called, but I used to have that Google authentication code generator app on my phone which would be used to enter a special code for the 2-step Google authentication system.
My phone has been damaged, so I have a new one now.  But I can't log into Google because I don't have that authentication app installed on my phone, and I can't install that authentication app on my phone because I need the authentication code.
What can I do?

I ended up using the backup verification codes.  The backup methods are the only way to get back into your account if you have damaged your phone.

Goto security tab of your Google account settings and disable 2-step verification.
Then install the authenticator app
Now you can re-enable 2 step verification which should work normally.

To get to that page I need to log into my google account.  How do I log into my google account without the google authenticator?

@oshirowanen log in to your account using a computer. Do you not remember your username and password for your google account?

I know the username and password, what I don't know is the code generated by the google authenticator which I normally get from my phone.

@oshirowanen so you cannot either login to the account using your computer or download the app using the link provided in this answer, yes?

That is correct.


text:
Move app to SD card
I'm currently confused on what mods to be used now. My unit by the way is Samsung Galaxy S3 I9300-International (rooted with Omega ROM 42.3 and Kernel SiyahKernel v1.9.1). The reason why I rooted my phone is to be able to move apps to SD card. My choices are here:

DirectoryBind
ExtSd2InternalSd

I don't know which is the right one to use in terms of compatibility even on Android 4.2 JellyBean because I'm too scared of bricking my phone. The first choice was published in 2011 while the other one was 2012. I don't know which is more stable for my phone. Hope for your kind suggestion.

All due respect, due to your fears of bricking, I was wondering if you could share why you want to use any sort of Apps2SD solution when you have 16 gigabytes of onboard storage to use?

If I am allowed to suggest out of the choices that you had provided, I will suggest Link2SD.
With Link2SD you can try moving/linking a non-critical application to the SD card and check how well it works. Once moved or linked, try to reboot the phone (no other way than rebooting to avoid disappointments) and see whether that moved/linked non-critical app works fine.  By adopting this approach, you would not bring any serious trouble to your phone.
Since your phone is rooted and has a custom kernel, I assume you are proficient with this stuff. If not, you can always refer to this step by step guide.
Update and additional info
There are two means of freeing the internal memory in Android.

Moving apps to external storage:  A feature of opting to install
apps on external card was introduced in Froyo (2.2–2.2.3, API Level
8). This also allowed moving existing apps to external storage. Few
points to take a note here are:

It only takes a setting to be set to move future installations of
apps. It can be set through ADB commands.
There are many apps available that enable users to move any existing apps to SD card, provided those apps are deliberately not marked as non-movable by the developer. System apps also cannot be moved to SD card.
In either case, the internal memory will not be completely unused by the application. It will have few bytes consumed, though it is considered insignificant in par with the case of not moving/installing the app to external storage at all.

Linking apps to external storage: Linking is totally different from moving. This process moves the files of the application to the external card and creates a symbolic link in its place in the internal memory. Since the link is a reference to these files, Android doesn't complain about it.  This given in detail in Link2SD's site which is reproduced below:

Q. What is the difference between “Move To SD Card (Native to
  Android)" and “Create (Symbolic) Link” in Link2SD? Which method
  conserves the greatest amount of internal memory, what are the
  advantages of "linking" over "moving" and vice versa?
Native apps2sd Starting with Android 2.2 (Froyo) Google introduced
  native apps2SD.  This method moves

apk file on Android 2.2
apk + lib files on Android 2.3+

into a secure folder on your SD card in the main FAT partition.
It is the easiest method because it doesn't require you to partition
  your sdcard and root privilige.
It has some disadvantages though.
First disadvantage is that application files are just stored on the
  sdcard's main FAT partition.  When you enable USB mass storage to
  share files with your computer (or otherwise unmounts or removes the
  external storage), any application installed on the external storage
  and currently running is killed.  The system effectively becomes
  unaware of the application until mass storage is disabled and the
  external storage is remounted on the device.  Besides killing the
  application and making it unavailable to the user, this can break some
  types of applications in a more serious way.
So second disadvantage is that not all apps can be moved with native
  apps2sd method because of above reason.  In order for the application
  to consistently behave as expected, developer should not allow the
  application to be installed on the external storage if it uses any of
  the following features, due to the cited consequences when the
  external storage is unmounted: Widgets, Services, Alarm Services, Live
  Wallpapers, Live Folders, Account Managers, Sync Adapters, Broadcast
  Receivers listening for "boot completed".
Force move (requires root); You can force the apps move to SD card
  with native apps2SD even the application does not support moving as
  described above. Link2SD and some other apps can force move apps if
  you have root priviliges. But, note that this can break some
  applications, as described above.
Link2SD
Link2SD moves apk + dex + lib files of the application to the second
  partition and creates symbolic links in the original locations on
  internal storage.  First advantage is that it can free up more space
  from the internal storage compared to native apps2sd method because it
  moves the dex file as well.
The second advantage of Link2Sd over native apps2sd is that by
  creating symlinks you get Android assume these apps are installed into
  the internal memory, though in fact all the files are located on the
  SD.  Therefore you can link all applicatios to SD card; widgets,
  services, live wallpapers etc., all of them will work without any
  problem from SD card.
The third advantage is that, even when you mount the SD card to your
  PC your linked apps are all still live and working! Because Android
  unmounts the first FAT partition to share files with your computer but
  the second partition remains mounted. Link2SD allows you to run all of
  your "SD apps" even when mounted to your computer as a disk drive.
And, disadvantage is that, obviously, it requires root privilige and a
  second partition on your SD card.  It's not working "out-of-the-box"
  as native apps2sd, you need to root your device and create a second
  partition on your SD card yourself.

Is Link2SD the default moving mechanism in Android 2.2+?

@NoBugs, Link2SD is an application and not part of Android. From Android 2.3 onwards, moving app to SD card was introduced. However, linking is analogue to moving is available through Link2SD and similar other apps only.

You mean 2.2 onward? http://android-developers.blogspot.com/2010/05/android-22-and-developers-goodies.html

My mistake @NoBugs, Android SDK documentation clearly says Beginning with API Level 8, you can allow your application to be installed on the external storage (for example, the device's SD card). And Android version 2.2 to 2.2.3 (Froyo) belongs to API Level 8 as said by Wikipedia


text:
How is the Android filesystem structured (i.e. the /sdcard direcory)?
I am using the adb shell command to access either an LG P690 (device A) or a Samsung Galaxy SIII (device B). Device A also has a 32GB microSD card plugged in while device B does not. When I cd /sdcard and do a df from the shell prompt, I get:

On device A: /sdcard Size 14G Blksize 8192
On device B: /sdcard Size 12G Blksize 4096

Does this refer to internal memory? Device B also has a /storage directory which holds 0 bytes (what is this?).
Also, both have a /data directory which I know is where installed apps go. Is this also on internal storage? How do I know whether /data is on internal or external SD?
I'm confused as to why a directory called /sdcard would refer to internal as opposed to external memory. Is there no FHS standard for the Android file system as there is for Linux?

That's two different things, at least the first depending on a) Android version, b) manufacturer, and c) sometimes even the device in question:

before Android 4.0, /sdcard usually was were the external SDCard was to be found
starting with Android 4.0 (or even 3.x?), this changed for most devices, and usually became the place of the so-called internal SDCard
where the external SDCard is found with the latter group, differs a lot. Locations known to me include:

/sdcard_ext
/sdcard/external_sd

What really resides where, you can check with commands like mount or df. While mount will list all mounted file systems (including the "virtual" ones like e.g. /proc and /sys), together with details on where they were mounted from and what options have been used, this might be a bit confusing (at least to beginners). So you might rather want to use df, which sticks to the "real file-systems": it does not show where they are mounted from, but instead shows their total/used/free space, which might be even more useful to figure out what matches best.
As for /data: Yes, this usually resides on internal storage -- but might also depend on implementation. With Android 4.x, "internal storage" and "internal SDCard" are often "unified" (i.e. the "internal SDCard" often is nothing but a directory on internal storage). This was done a.o. to get rid of the problem of a filled-up internal storage (it can "expand" into the internal SD area now), or a full internal SDCard and plenty of space on internal storage (can "expand" the other way around, too -- as it's all the same "drive").

Still, on device B df command shows /data and /storage/sdcard0 as different partitions even though both have the same capacity and show same amount of used space. On this device /storage/sdcard0 and /storage/extSdCard are probably the internal and external SD cards.

Looks correct to me. As for internal storage/internal SDCard: as I wrote, that very much depends on implementation. It's encouraged to use "unified storage" (see this blog and this session transcript), but it's not enforced in any way.


text:
Samsung Ace 4 Unable to charge message, but it does still charge
I have a problems with my phone. The phone dropped and since then I got an issue with charging it. When I plug in the charging cable I get the following message:
"Unable to charge. Charging paused. Battery temperature too low."
The Battery Sign on the screen is blinking, but the percentage will not go up. When I unplug it after lets say an hour it still shows the same, but when I either plug in the cable again or restart the phone, the percentage will suddenly go up. So it shows me that it charged, but it does not show it while it is charging nor when I unplug the cable and it keeps coming with the above Error Message. I assume that the USB port is still fine otherwise it would not charge, but what could be the problem?

Could be hardware or software. Flashing stock will help decide. If it persists, it is hardware (which I suspect is more likely)

Thanks for getting back. If you think it's a hardware problem, would it be the battery or the USB port board? I finally got it up to 86% but it seems stuck now on that since 2 hours. so it does seem to charge, but not as I thought all the time instead it seems to stop in between.

Honestly I can't say. It could be many things- I wouldn't hazard a guess with the information available but let's first rule out other things by flashing stock

Well the phone is actually from a friend who is in hospital and I am not sure I can flash his phone since then everything will be lost. If it most likley the USb port then I would just order one and if it more likley the battery I would get that, but I just wonder because it does seems to charge partly, but comes with that message all the time and I am still not getting it above 86%

Like I said , too many possibilities - USB, battery terminals not making contact correctly /broke, battery sending information correctly but OS unable to register because OS issue, all above fine but battery dying, who can say? If you can't flash ROM best is to take to competent service folks. Afraid I can't help beyond , much as I would like to

Well thank you anyway,. I,might just get the USB Port and see from there.


text:
USB Host/UVC Camera: specific camera detected as a unknown vendor / product ID
I have an application that records video from USB cameras mounted on microscopes in remote places in Africa. It is working fine from Android 4 to 12. We have a handful of camera models and the problem is that our latest camera (already deployed dozens of them) fail on Android 9 and 10.
What is really strange is that if I open OTG Guru on those devices with that cameras, I am seeing an unknown device, with an unknown vendor and product ID, without any function inside (expecting video functions):

The same camera connected to the same tablet model but with Android 8.1 gives:

I have seen reports that it was due to a targetSdk of 28+. So I updated my app to 27 with no difference. I also downloaded an older version of OTG Guru that had targetSdk 26 and got the same result.
Now, one might think that this camera is not usable on Android 9 or 10, but several apps in the Play Store are able to use it just fine like this USB Camera app or this OTG viewer
I tried to inspect the Manifest of those apps to see if my app was missing a permission but that doesn't look like it. And if that was the case, the other cameras wouldn't work. And all 3 others that I tested work just fine and are detected normally by OTG Guru...
I tried with several USB-C to USB-A adapters and a USB-C HUB. When the latter is not externally powered, the camera is not detected at all and if I give it power, it appears exactly as shown above.
I also disabled the Android USB debugging to see if it was interfering but it didn't.

If it works in one app but not in the other it is a problem of your code. I recommend to decompile some of the working apps to see what they do different. You can also create a question of https://stackoverflow.com posting relevant source code parts of your app and ask for help how to access USB camera on modern devices. Therefore voted to close the question here.

@Robert I am showing that OTG Guru and all other OTG apps that simply list the USB devices reported by Android give a weird VID/PID result on a specific camera on Android 9 and 10. There is not a line of my code involved here. My code gives the same results as widely used OTG apps. I don't mind questioning my code but I'm basically listing devices and getting one that doesn't make sense, without any interface. So I'm looking for a clue as to what the difference might be.

Have you tried if it is a power issue? Use an active USB hub between phone and camera. If the camera is low on power this could have strange effects on the USB protocol.

@Robert Yes, I should have mentioned it. I tried with a trusted USB-C HUB with a good power supply. Without power, it doesn't see the device at all and with power, it sees the weird VID/PID. I also tried with 3 different USB-C to USB-A adapters and put USB amp-meter (it's barely taking power when not actively recording). I also suspected the USB debugging feature of Android to interfere but that didn't change anything. Good suggestions though


text:
Should I do the factory reset? If yes, what will I lose?
My HTC Desire S is working fine when I don't put my micro SD card in it (this card was free with the phone). But the phone keeps restarting every few minutes if I keep the memory card in it. By that, I could say that the phone is fine, but the issue can be either with the memory card or the phone not supporting memory card anymore. The phone and memory card worked completely fine for 8 months.
The thing is, if the same memory card is inserted in any other mobile, be it an Android or any other smartphone, that phone will not restart and the data is completely readable too. So, the memory card is fine. When I insert some other memory card on my phone, then my phone does not restart too. So that means the issue is with my phone & that particular memory card combo.
I am ready to uninstall each and every app from my phone, but will that solve my problem? Should I perform the factory reset? Will it solve my issue? What will I lose if will do the factory reset? Like: contacts, SMS, call logs, APN settings, etc. Any free software to backup all these?
But maybe I am going in the wrong direction. Maybe there is some easy way to get the phone and memory card working.

have you read Android crashes after update unless I put another memory card ?

See also: http://android.stackexchange.com/questions/12802/factory-reset-to-restore-performance-what-are-the-disadvantages

Doing a factory reset will not modify the SD card in any way. Only the data on the phone will be deleted. Contacts that are set up to sync with your Google account will restore, but everything else will be gone.
If you have applications installed on the SD card, I would start there. Uninstall them, or move them back to the device storage. You say that it only crashes when it is in your phone, and not any other Android phone. This would make me think there is probably an app installed on the SD card for your phone. You also said that it doesn't reboot when a different card is in your phone, again leading me to believe that there could be an app that is installed to the SD card that is causing problems.
If you think there is something in your data that is causing the issue, then backing up the data with Titanium Backup will just restore any "issue" that there is.
If you think the problem is with the data on the SD card, then you can format it under storage in settings.
I would also consider the SD card itself could have issues. The SD cards that come with the devices are very cheap cards and usually one of the slower class type of SD card. I have had a few of them last only a couple of months before. I suggest getting a better SD card, one that is at least a class 6. If you have a slower class card, this could also potentially cause issues with some applications.

mine is class 4.

Only the data on the phone will be deleted.  - all data?

no, not "all data". It will not remove anything on the internal sdcard, nor the external sdcard. But any settings and things that applications save in /data/data will be gone.

First, to answer one question simply, yes you will lose all of your data by doing a factory reset unless you back it up.
If you feel a factory reset is necessary, I would use a program like Titanium Backup to backup your data. This is if you are rooted.
As for the issue with your SD card, it could be a number of things. You said that it worked fine for 8 months - is there an app you installed recently that may be the cause of the problem? Something that didn't run properly when you first opened it? Or an app that has issues while running.

+1 for "softwae installed 8 motnths ago". maybe you can find a candidate that causes the reboot with a desktop pc an look what file were created/modified 8 months ago on the sd card.

According to your explanation:

The memory card works fine on other devices
Your phone reads other memory cards just fine
It's when they work together that it fails

You installed an app on your phone. This app was moved to the memory card either by you or another 3rd-party software, and this app is having memory consumption issues.

Go into the card and check all those "weird" folders like com.android.mapguide and the like and make a list of them
Remove the card and go to Manage Applications

Make a note of the application on the list
Uninstall the applications on the list
Move the folders and files on the list to another media

Insert your card, the device should work
One-by-one reinstall the apps one at a time, writing down what you did and restarting the phone between installs

The data on one of the files/folders were creating the bug, but because you removed the files and folders from your phone.

Before you do a factory reset and lose some data, it may be more important to find out why your phone resets and fix this.
You can try to attach a debug-logger to the phone and watch in the debug log what happens before the restart. If you are lucky, the debug log contains a hint of what caused the reboot. If you donot know what "attach a debug-logger" means ask some android software-developper in you neighborhood for help.
I think there is one file on the SD card (or an error in the filesystem of the card) that causes the reboot. Maybe the media scanner crashes because of an invalid MP3 or video file.

You could always format your SD card.
If your phone is rooted, it might have an attachment to your SD card that's causing the issue.


text:
Why are "word suggestions" of keyboards not shown in some apps?
I'm using Hacker's and SwiftKey X keyboard on GingerBread. Suggestion line is shown in most apps above the keyboard. But when opening the keyboard in Android Market (now Play Store) or DroidEdit (code editor), the suggestions aren't shown for any keyboard I use.
What determines this behaviour? How can I switch on/force suggesting words?

Most likely the app has chosen not to show them for that particular input box. From a technical perspective, this is controlled by flags on the TextView object that represents the text area control (e.g. the TYPE_TEXT_FLAG_NO_SUGGESTIONS option). I don't believe there is any way to override this setting if the app chooses to disable it.
It's probably also important to note that it's a bit of a one-way street. Suggestions are enabled by default on all text areas, but will obey the global setting, so an app can't forcibly enable suggestions in any way. If you have the global setting turned off, they're off everywhere.
The logic that the developer documentation provides for allowing apps to forcibly disable suggestions is that in some cases they simply aren't very useful. The specific relevant quote would be (from the above link):

... This is useful for text views that do not contain words from the language and do not benefit from any dictionary-based completions or corrections ...

I'd wager the Market disables them because app names and such have no obligation to be dictionary words, so suggestion attempts would often prove rather futile. I would also understand the same being true of your second example, which sounds like a source code editor (I assume that's what you mean by "syntax highlighting"). It would be sort of akin to Visual Studio underlining misspelt words in source code - it provides no benefit since most of the text will not be dictionary words.

So same as with statusbar, the distinct app "decides" whether to show statusbar in a app or keyboard suggestions. Does this make sense? The app settings would be filled with such settings to switch on/off. It's like showing task bar in Windows is determined by program? Whats the point of this android "feature"? Same in ICS? Will wait for more opinions/vote before I accept.

of course, it is reasonable in parts, but for example overiding statusbar showing in every single app creates more chaos than order. I think the user should make this decision, not android or app devs. The point of the statusbar is to use e.g. the clipboard in any app. A lot of my apps dont show it, that's poor and big design error.

@Hauser: Added my previous comment to the text of my answer instead, which expands on the reasoning to some extent.


text:
Which IMEI number should I use to unlock my Motorola DROID 2 Global (A956): IMEI or IMEI SV?
I recently bought an unlock code to unlock a Motorola DROID 2 Global which was locked to the Verizon Wireless network.
Navigating to the About phone section: Menu -> Settings -> About Phone -> Status, I saw two IMEI numbers.

I used the top one (IMEI) as the code to complete the unlock process. However, when I tried to unlock the device, it rejected the code.

Should I have used the IMEI SV?

I have Android 2.3.4 but this device is normally equipped with 2.2, could that be the problem?

You should probably use the IMEI.  The IMEI ends with a checksum, whereas IMEI SV ends with a Software Version number which shouldn't be relevant.


text:
What is the best way to get the Android SDK reference offline on my Android device?
I want to study the Android API on my phone during my frequent and long metro rides (where I cannot connect to the internet).
What would be the best way to make the documentation available (I would appreciate being able to use a search option and an index)? Is copying all the documentation files from my PC to my Android device the best thing to do? Is there any serious app that could provide these features?

It seems like you could do this with something like storing web-pages for offline reading, unless you're trying to get the documentation in some specific non-HTML format.

You can download the documentation of Ice Cream Sandwich (Android 4.0) by the SDK Manager.
SDK manager-->Android 4.0.3 (API15)-->Documentation for Android SDK
It will download all the documentation in <android-sdk>\docs of your PC.

I guess it's the best thing to do. I hope I can use the search function using this method.

You can search for files, even with the integrated google search, if you install Solid Explorer a new nice File explorer app for android (no I don't work there/know them etc) From the description: Indexed search, also available from the system (that means that you can search for files from the Google Search widget/app)  https://play.google.com/store/apps/details?id=pl.solid.explorer

Yes, you can use the search and it works same as the time you are online.

It's not the solution you are looking for exactly but an alternative way would be to use the code completion feature of the AIDE app, an Android IDE running on Android.
Plus you can code during your metro rides and even meetings :)

Ah yeah, AIDE is a very nice app too, +1 for your idea !


text:
Clone Android device including the content of SD card
I have to clone about 65 Android devices (Samsung Galaxy Tab 10.1N). I would do it with a backup in CyanogenMod, but the problem with the Cyanogen Backup is, it does not back up the SD card.
Any other methods to completely clone an Android device? (Homescreen settings, installed apps, data on SD card, etc.)

One device is the "Master device". In this, i will configure everything. On every next Device i will just Restore the Backup from the "Master device".

rsync
I literally just finished cloning my device. This is how i did it:
root@android:~# rsync --progress -aEzv / tjt263@10.1.1.2:~/Desktop/Android-Backup/
FYI: 10.1.1.2 is just the IP address assigned to my laptop.
No USB-cable is required.
However, you will more than likely need to have rsync and also an ssh server installed (and running) on both devices.

Tell me why you voted this answer down so I can improve it.

I would use your recovery ie. TWRP. If you flashed CM then you must have some sort of custom recovery. Do a full backup of your OS, copy it from the file system and then flash it on every same device you have. You know have a mirror of everything. quick and easy.


text:
Why am I not able to select VLC player from inside the BubbleUPnP app?
I noticed after the updated of my Nexus 7 from Android 5 to 6.0.1, that my DLNA app BubbleUPnP (Version 2.5.5.1) stopped detecting video players. I am trying to view a video from my library with VLC Player Version 1.7.2., but I just cannot select it. Before with Android 5, the player could be selected, but I don't know for sure, if it changed because of updating android or the app. I also tried another player. Not selectable, either. From within other apps, e.g. Total Commander, I can select every intalled video player.
I have an other device, too, with Android 4.3. BubbleUPnP and VLC are the same versions and there it all works fine.
I already asked the bubblesoft support, but unfortunately they don't have an idea, either... They claim that they tried it on a Nexus 5 running the same Android and app versions, and everything works fine.
How can I fix it?

You've tried reinstalling all the apps involved? Or check the play store if there are updates for the apps involved.

Yes, reinstalled both apps. Always most recent versions

Marshmallow has reimplemented the Android "Share" menu, maybe your DLNA app has not yet been updated to use it properly?

@TamoghnaChowdhury The support claims it was tested on a Nexus 5 running the same Android and App versions, and it worked well. How would you explain this?

If the issue is not fixed yet, try installing "App Picker Classic" and click on Clear defaults in the app menu. It should fix the issue. At least It worked for me.
A

Perfect! Installed, clicked, removed again and then I could select VLC in BubbleUPnP. Thank you very much!


text:
Misc. files that I can't find but that take up about a half of available storage
I have the following problem: about half of my phone storage is filled by files that grouped as Misc in Android Storage app. The problem is that I can't find these files. If I open the Misc. category there is no files displayed that can fill up that much space (the same thing goes for ES File Explorer SD card analyst).
So the question is how I can find this files.
(I have a suspicion that it's some kind of remnants from BOINC application,  but this is not helping me in any way)

Storage screenshots (click images for larger variants)
Here should've been another image to illustrate the situation with analysis from ES File Explorer SD card analyst, but I don't have enough karma for that.

Feel free adding the URL to the 3rd screenshot as comment (after uploading it to imgur). Someone with sufficient "karma" then can integrate it for you. // One more suspicions are "tombstones", we've had that here before. Our storage tag-wiki might give you additional pointers.

You can try DiskUsage app (free), it shows detailed information about memory usage and also gives you option to:

Scan internal or external SD and graphically display space occupied by directories/ sub directories
Choose files / sub directories / directories for deletion
Re-Scan after deletion so that you can free up desired storage space

You could give more info as to what the app does rather than pointing us there?

i attached picture to describe app usage

@beeshyams thnx

Oh, I guess this helped. As I understand the ES explorer were showing this data, but it was not accounting for "Applications data" and correspondingly I was getting an impression of data that is there but not displayed.
Storage app on the other was confusing in another way.
This app is accounting for all of it and it seems that all the data is legitimate after all.

Consider these possibilities:

Do you have "Recycle Bin" enabled in ES Explorer? If so, check the Recycle Bin folder. Its easy to forget sometimes that your deleted files aren't actually deleted when using ES.
If you wiped-clean or reset your phone to factory recently, it might be keeping your previous data somewhere, normally in a .android folder somewhere.
Also you can enable to show hidden files in ES Explorer, maybe might give hints.
ES Cleaner too, run it and see what it finds and thinks you can clear. Most times, it provides the link to the directory where the files tantamount to cleaning are.

I can think of the above now. I hope it helps

authors: Азизахон Маматкулова


text:
Control playback using headset media buttons when using Android Select to Speak functionality
What I ideally want to achieve: TTS for any text I see on my phone, with the user experience similar to my podcast app.
My current approach: Use Android Select to Speak functionality.
This works to read the text on the screen, works in the background, etc which is great. But it totally ignores any attempt to control the playback using media buttons on my headphones.
Question:
How do I make Select to Speak work with media buttons on headphones:

Play/pause
Skip back/forward (ideally allowing me specify time interval for this)

Or is there an alternative to Select to Speak that works better with media controls?

Hello. Are you trying to develop an app or is this an end user problem? Former is off-topic here.

Hi, I'm very much trying not to develop an app . I just want to find something that works (alternative to Select to Speak or a way to fix it)

I'm potentially open to building a small companion app that would redirect the media signals in a way Select to Speak would understand (or if it's Open Source - contributing it to the main codebase?).
But not re-implementing the full thing

You may be able to set up a custom accessibility service (https://developer.android.com/guide/topics/ui/accessibility/service) and listen for KEYCODE_MEDIA_PLAY_PAUSE using a background service (https://stackoverflow.com/questions/21175914/determine-if-headphones-are-plugged-in-through-appwidgetprovider-pause-music-wh).
Then, as you described, the custom accessibility service could detect that you've short-pressed (KEYCODE_MEDIA_PLAY_PAUSE) or long-pressed (KEYCODE_VOICE_ASSIST) the button on your headphones.

yeah, I can imagine I can build something that would listen for media events, but can this allow me to control Select to Speak somehow? or would I need to re-implement the whole thing from ground up?

I agree that I described an awful lot of work. What are you trying to hear when you use Select to Speak? https://play.google.com/store/apps/details?id=com.hyperionics.avar will let you use the headphone button. https://play.google.com/store/apps/details?id=com.messageloud doesn't appear at first glance to support headphone buttons but it claims to present a large on-screen button.

Something like "select any text on the screen and read it" mostly in the browser, but sometimes in other apps too. Ideally showing what is being read in the context. I've tried @voice before for browser use-case, it didn't seem to work that well. will try again


text:
Nexus 4 shows up empty on Windows Explorer
I connected my Nexus 4 to my PC via USB.
When I open the device in Windows Explorer, though, it's empty.
I made sure to install an MTP driver.
How can I access the file system of my phone?
Edit: I have not unlocked my phone, because I'm unable to: the screen cracked, and is nonresponsive. Can I get around that?
Edit: So the Nexus 4 actually doesn't support OTG. Do I have another option? Take out the hard drive and put it in a new phone?

Have you unlocked your device (if you have a look screen)? If not, this is why it will show up empty as it's a security feature.

Oh! Please see my edit

If you have a USB OTG cable you can connect a mouse or keyboard to enter the password

Please see my newest edit.

Here are 2 methods to access your phone

Method 1: Android Debug Bridge (ADB)
You will need:Your device, Access to a PC
This method has proved to be the most helpful for users in terms of their feedback after completion. However, this method will only work if you have USB debugging enabled on your Android phone. If you don’t have this option enabled, move on to the second method on the list.
The ADB is used to create a bridge between your PC and your Android device. This bridge can be used to unlock the device and to access your files.
Download the Android SDK package on your PC. You can download it here. Make sure that you download the correct version for your PC. Once downloaded, extract the zip file on your PC.
Download the relevant USB drivers for your phone. You can get the USB drivers for your device from your manufacturer’s website.
Launch the Command Prompt on your PC and change the directory to where the ADB file is located. Type in the following command in Command Prompt.
cd C:/android/platform-tools
Connect your Android phone to your PC using a micro USB cable and enter the following command. If your phone is recognized, you’ll see some numbers in the Command Prompt message.
adb device
Type in the following two commands. You’ll need to type in the second command immediately after the first one. Replace 1234 in the first command with your actual password.
adb shell input text 1234
shell input keyevent 66
If the process is successful, your phone should be unlocked. You can now backup your important files and contacts.

Method 2: USB On the Go Mouse Method
You will need: Your device An OTG adaptor, A USB mouse
If you can’t access USB debugging , you can try
the USB mouse method. This involves connecting your phone to a USB
mouse with an OTG adaptor. Here’s a full list of compatible devices
where you check to see if your device is covered. If not, users have
reported that a USB keyboard can be used to unlock a device locked
behind a passcode when a mouse hasn’t worked, so it’s worth giving the
cable a try.
You can find the adaptor cable online, and it’s reasonably
inexpensive. If it lets you access your device, than it’s definitely
worth the price.
Once connected, the mouse will drain your battery, and some devices,
(such as the Galaxy S3 Mini) will also be unable to charge during the
process, so make sure your battery is sufficiently charged beforehand.
Once you have the wire to hand, the process itself is reasonably easy
to complete.
Connect the micro USB side of the OTG cable in your Android tablet or
phone and plug in the USB mouse in the OTG adapter.
As soon as you connect the mouse, you should see a pointer on your
screen. You can now use the mouse to unlock the pattern or use it to
press the keys of the on-screen keyboard if you have a password lock.

Source

Thank you. I just found this source, too, and tried the Android Debug Bridge. When I enter adb devices, however, I get no devices found. Does that mean I don't have USB debugging enabled?

USB debug mode is something that you would have had to turn on.  Most people (besides developers) would have no reason to enable it so it would not be found.

So the Nexus 4 actually doesn't support OTG. Do I have another option? Take out the hard drive and put it in a new phone?

In most cases the internal storage is on the main board of the phone.  If you have cloud backup turned on (through google or another service) the data on your phone should be available.  If not it would be possible to replace the screen of your phone to access it.


text:
Recovering Erased Audio on Android cellphone
Thank you in advance, for any help on this.  A friend was raving about 360 Security to install on my droid cellphone, I thought I'd try it, he uninstalled CM Security, and then installed the 360 Security.
WHAM, when I went to my Sound Recorder app, EVERYTHING was gone!! To clarify this was not downloaded music that was missing, this was my music that I would write and record with the Sound Recorder app installed on my cellphone. I tried the link suggested in the post below for a free trial on Dr.Fone the Wondershare.net/data-recovery/android website, and at step four it quit working, it showed a pic of my phone and the laptop communicating via the USB cable, but nothing came up on my laptop screen, nor cellphone, and the next button would not proceed to the next step. Thank you for any suggestions for recovering my erased sound recorder, data. Hoping it's possible!

Music won't or shouldn't disappear just because you uninstalled an app. But I'd first try this out http://android.stackexchange.com/questions/94119/photos-and-music-from-internal-storage-got-deleted-how-to-recover-them

Noticed that you haven't edited your question staying what all you tried

I edited it by adding that I had tried the free trial on the link above, the Dr. Fone Wondershare.net link. I don't know what else to try, the recordings are just gone. I couldn't get further than step 3, on the recovery website for the free trial, and their customer service online was closed. I am open to more suggestions, and Thank anyone for helping me recover my recordings, and Thank you for your suggestions as well

Try taking your sd card out and using recovery software like recuva on your PC... You may also take it to a professional data recovery store, but they typically charge a lot. Data recovery apps for android also exist but I cannot vouch for any... Spend your money carefully!
[EDIT] POSSIBLE SOLUTION(S):

SOLUTION ONE:
Download ES file explorer (free) on your android phone from Google Play. Search both the internal memory and SD card for the missing files... (Tip: There are plenty of tutorials on YouTube)

SOLUTION TWO:
Take your SD Card out and connect it to your computer with a SD card reader.
Use a data recovery software:
Windows:
Testdisk (FREE) [http://www.cgsecurity.org/wiki/TestDisk_Download ]
Recuva (PAID/FREE) [https://www.piriform.com/recuva ]
GetDataBack (PAID/FREE) [https://www.runtime.org/data-recovery-software.htm ]

SOLUTION THREE:
Use data recovery apps on your phone:
Disk Digger (PAID/FREE) [https://play.google.com/store/apps/details?id=com.defianttech.diskdigger ]

SOLUTION FOUR:
Take your phone to a Data Recovery Store (CAN BE EXPENSIVE!)

Thank you, Rahul. The reviews look pretty good for the data recovery websites, but I had no success trying this morning. I used the free trial, but nothing happened, the free trial said it would show the files that would be recovered, and then when you purchase, you get them back. Nothing came up on my screen. Thank you, yes, I'd like to get this done as least expensive as possible. My last phone was a Blackberry, and my recordings weren't stored on the SD card, but the phone itself. I'm worried that is the way it is on this phone too. I will look in to recuva and hope it's not to complicated

You're welcome! Recuva can actually be pretty complicated at times... I also recommend looking into GetDataBack, which can be pretty useful. (Hint: there are plenty of cracks for this on file sharing websites, but if anyone asks, I didn't tell you this... ) :-D

Thank you so much, Rahul. A friend of mine had mentioned a Disk Digger app, do you know anything about this? I don't want to try random things that might make the situation worse. The GetDataBack, I looked it up but found it to be a Window's program....am I able to install this on my Android cellphone? Or would I need to install it on my laptop and transfer it? Please advise, I'm so Thankful, I'm not real tech savvy but would be thrilled if I could recover my data on my own, Thank you again!

@Celeste No problem! GetDataBack does require a windows PC. You can use an SD card reader to connect it like a thumb drive and then use it. I cannot personally vouch for DiskDiggger but it seems to have received some very good reviews on Google Play. I personally recommend GetDataBack because I have personally tried it, but you need an SD card reader for that (about USD 5). This ofcourse requires the files to have been stored on the SD card. ALSO, The first thing you should try is using ES file explorer to locate the lost files - This may seem silly but can actually be very helpful!

Thank you, Rahul. I don't know how to go about any of this, but realize I need to just learn. I don't believe the items were stored on my SD card, but again, I wouldn't know. I think I'd like to start with the ES file explorer to locate the lost files, I have Windows 10, on a brand new laptop, and need to go from there, step by step on what to purchase and can start the process. I appreciate your advice, it sounds like the ES file explorer is separate from using the GetDataBack program, any suggestions on the ES file explorer? Do I purchase that program and download it? Thank you again!

@Celeste Hi again! I think I'll just add it all in my answer... Wait a sec.

@Celeste There you go!! Anything else??

Rahul, THANK YOU THANK YOU THANK YOU!!  I am SO Thankful for the time you took to type all of that out, and provide that information to me! I will start with Step ONE, and have the other steps to guide me through, as needed! Thank you SO very much!! I am going to start on that recovery in the morning! I appreciate all your time in putting this together for me!!! I will let you know how it comes out!! Thanks again and again!!

@Celeste This is what StackExchange is for! You can help others too by contributing to any community of your choice from the vast network. You're welcome and best of luck!


text:
Stuck in Airplane Mode: How to force disabling Airplane Mode?
My Huawei Honour is stuck in airplane mode. I cannot disable it as the controls are greyed out.
I tried rebooting and resetting the system cache. What else can I do?

Do you definitely have a SIM in your device? If you do not, then you cannot disable airplane mode.
Also, are the items in the Power Options menu and the Wireless and Networks settings menu disabled? If so, it is likely a SIM error.

I do. Yet I do wonder why I am not asked for my PIN now that you mention it. All I see is "no service". I assumed it's because of the airplane mode.

Are you sure that you are in airplane mode? Could it be that you actually have no signal?

In my case, it indeed was an sim issue. I reinserted it and it worked again.

It looks like you'll have to do a factory reset.

I had the exact same problem in my Galaxy SII since yesterday, this post was the solution
http://www.inflightmagazine.co/?p=351
The author refers to two steps to solve the problem, I would add the following steps between Step 1 and Step 2

Install BusyBox from the play store
Open BusyBox after rooting, grant it superuser permissions
Click install on the left bottom corner of the screen
You'll be asked to use Smart Install vs Normal Install.. I chose the first option, not sure if it makes any difference if you pick the second one
Proceed to step 2


text:
Install button greyed out on play.google.com
I tried installing an app on my phone from the Play Store website, but the install button is greyed out. What could be the problem?
The phone is a Samsung Epic 4G running 4.0

What could be the prob..?Does samsumg epic 4g has something that app doesn't support?

It works on ICS but not samsung epic 4g.

It is possible that you searched for the app using google. Somehow the google result links to the US version of the page, which grays out the install link for non-US people.
Remove the "gl=US" at the end of the URL address.

When using google to search for a App, it will append &gl=US to the link, as you are not from the US, the button will be grayed out. By removing ( or simply chaning the US to your country, eg for me Austria = &gl=AT ) it works again.

In my case the button was greyed out when I accessed the google play store by using a web search for an app and then following the link to the play store.
If I went to the play store first and then searched for the app, there was no problem.
The solution proposed by Georgi121270 (remove the "gl=US" at the end of the URL address) solved the problem. It seems that the web search found the US version of the play store, whereas when I went directly to the play store, it took me to the version for my local region.

In my case, it says the app is compatible with all my devices, but the reason seems to be that the app is not available in my region (this is not mentioned anywhere).

ah, that's probably my situation -- being in Canadia.


text:
Can I use the CyanogenMod installer on Samsung Galaxy S3 (EE)?
(Note: EE is a british phone service provider.)
I was wondering if I could use the CyanogenMod installer on my Samsung Galaxy S3? It's in the supported devices list.

I can't think of any reason why you couldn't try it, because it should either work and install CyanogenMod or it won't manage to install anything.  It doesn't always work with my SPH-L710 S3 despite my being able to flash with Odin just fine.
Just do not install the wrong firmware on your own.  There are over ten different revisions of the S3, and going against what's showing on http://wiki.cyanogenmod.org/w/SGS3FAQ for which specific model you fall under (most are considered d2lte now, but not all!) will likely end in a bricked phone.  The differences between the international and the primarily US-only versions are somewhat notorious for bricking the careless.

Yes you can, but I would advise you not to install CyanogenMod, because some parts of your device may not work (WiFi, Bluetooth, camera flash).


text:
How can I find out the developer of an app from its APK file?
Given only an APK file, how can I find out the developer of a non-market Android application?

A "non-techy way" would be, given the package_name, doing a web search on it. Chances are it's available on some store, which then would give you the developer's name.
A different way is, as indicated by ottucsak's answer, extracting it from the certificate. The way to do that is described here, and basically involves the following steps:

unpack the .apk file. As that's a .zip in its structure, unpacking would mean unzipping.
use keytool to view the certificate:
keytool -printcert -file META-INF\CERT.RSA
in the output, check for the "Owner" and "Issuer" lines.

It isn't really is possible. However there is a workaround. If you have got the package name of the apk you can see the developer name. Something like this: com.<developer_name>.<app_name>. Example: com.google.drive. If you don't know the package name you need to extract the apk and then the package name is somewhere in the android-manifest file.

Thanks, I have the package name and the apk too. It is a reverse engineering challange and I have decompiled into jar, but the developer's name isn't in the source files so I figured that I will have to look elsewhere to find the answer.

Just checked it, unfortunately this isn't correct. Is there any other field in which the developer's name/username/signature can be found?

No sorry, no other way

You could try google searching for the app/package name. Maybe then you can find the developer.

You can use the Java Keytool to pull information about the developer.
keytool -printcert -file <extractedFile.RSA>

I found the developers name in the app's signature in the *.apk/META-INF/CERT.RSA


text:
How to flash stock ROM on Galaxy Young
So I had a perfectly rooted Galaxy Y w/ Android 2.3.6, but then I can't remember why, but I changed in some system files and my device is no longer rooted. I've tried everything but nothing resets all system files. Is there any way I can reset everything, like all system file?

Flash a system image via Odin. This will replace your whole system and leave your data intact. Search xda-developers for your phone. There are many guides on how to flash a stock ROM and rooting it.

This may  wipe all user data!!!
So make a backup just in case!!!!
You need to flash your appropriate firmware package of your device, download it here:
http://forum.xda-developers.com/showthread.php?t=2568853
Download Odin (google it)
Open Odin (duh)
Reboot your phone to download mode.(google it if you don't know how to)
Connect your phone to the computer
Put the firmware package in PDA/AP
Klik start to begin and your phone will reboot with "new system files"
Hope my answer helped.


text:
Read content of .thumbdata file
I don't know how I managed to delete all my pictures and unfortunately, it took me a few days to find out they where gone. I tried to recover them with DiskDigger, but I didn't have much luck with it (most of them were damaged).
I found 2 400Mb+ files called .thumbdata in the DCIM\.thumbnails folder and I was wondering if there is a way to extract data/thumbnails from it.

It contains 96x96 pixel versions of your photos. The file is simply a concatenation of JPEG files. You can split it into individual JPG files by searching for the signatures indicating the start and end of a JPG file, i.e. the two bytes FF D8 for the start and FF D9 as the end. If you can transfer the file to your computer and you can access Python, the following Python code will extract the files (name the file thumbdata3.dat):
#!/usr/bin/python

"""extract files from Android thumbdata3 file"""

f=open('thumbdata3.dat','rb')
tdata = f.read()
f.close()

ss = '\xff\xd8'
se = '\xff\xd9'

count = 0
start = 0
while True:
    x1 = tdata.find(ss,start)
    if x1 < 0:
        break
    x2 = tdata.find(se,x1)
    jpg = tdata[x1:x2+1]
    count += 1
    fname = 'extracted%d03.jpg' % (count)
    fw = open(fname,'wb')
    fw.write(jpg)
    fw.close()
    start = x2+2

The program will save the files with the names extractednnn.jpg, where nnn is a number.

Perhaps someone also knows how to extract the images from thumbdata5 files... this script gives some results, but they are a bit broken. (And the thumbdata files are big, but the extracted files make up much less in size.)

@imz--IvanZakharyaschev : The thumdata file is a sparse file. Open it with hexdump. While the file is large, there aren't many thumbnails in it.


text:
Apps compatibility on Android x86
I have a few questions about normal devices (non-x86) and x86 devices:

Why, sometimes, an app that isn't designed for x86 devices works, but sometimes it just crashes when starting them?
I've seen a lot of rooting apps (e.g. Xmodgames) that don't support x86. Why is that?

The answer for questions 1 and 2 is that some apps on Android are compiled purely in Java/Dalvik bytecode, and others are compiled as native C/C++. Since Dalvik bytecode is not native, it has separate interpreters for different architectures. However, since C/C++ native apps and libraries are compiled for a specific architecture, they can be run only on the specific architecture.
Since most of the rooting apps use exploits of the Android system, they need to be compiled in C. This prevents them from being universally used, and require them to be recompiled for each architecture.


text:
Storing & getting the device orientation (yaw, pitch, roll) when taking a photo
I want to take a photo and use the stored GPS coordinates and the orientation of the phone to do some calculations. How can I access that information?
Alternatively if there is an API to do that I could make my own app.

Android provides Sensors API if you want to create yourself an app.

Of course! You can use Metadata viewer  to see the GPS coordinates and other information of your photos.
Android has  Handful of APIs for anything you want. If you a developer you can make use of that.
Here is all you need.

Tutorial to get yaw, pitch, roll in android.
Simple Camera API tutorial
Google documentation about accelerometer api
:)

This is one of those problems that I believe requires a documented standard:  the same reason every platform trivially accesses the GPS location of a photo is because of EXIF and it's standardized tags.
EXIF is not user-extensible, and side car files are too namespace-y (proprietary).
Unless I'm wrong about there not being a standard place for Euler angles or even the quaternion that establishes device attitude.

After WWDC 2017, ARKit mostly addresses this for iOS.


text:
Monitor file owner
There's a file (stream.wav) which appears from time to time on the /sdcard and it grows large and eventually eats up all available space. I need to find out the application which opens this file and keeps it growing.
Is there any way to determine this?
PS. The Android device is rooted.

Afraid this would be hard: sdcard uses a file system which doesn't support ownership. What you could try, however, is utilizing adb shell and run the lsof command, e.g. adb shell "lsof | grep file.ext" (if that file is named file.ext). This would show which process/app is accessing it. Then grep for that owner in adb shell "ls -l /data/data | grep xxx" (replace xxx by the owner retrieved via lsof). In both cases, run the command as root.

Great! Thanks for mentioning lsof, almost forgot about it! FS ownership is useless to me.

For rooted phones only, on the terminal (or after adb shell):
su
lsof | grep -i stream.wav

The output will look like
sdcard     206   media_rw    7   ... /data/media/0/stream.wav
XXXXXXXXX  6226     u0_a94   27  ...  /storage/emulated/legacy/stream.wav

which shows XXXXXXXXX (masked) is responsible for the file.
Thanks to Izzy's comment, this is his answer, but a bit reformulated.


text:
Does Android continue to run after phone is switched off?
I was wondering about this: it seems that when you set an alarm, even if you switch off your smartphone, on reaching that time the alarm manages to ring.
Is the Android framework still running and hence the Alarm Service is able to detect change in time, or other reason?

There was a question here asking if it is an expected behavior, it has two answers saying not much more as simple yes.
I am going to answer this question as a question of why is it so, whether Android is running, and how it works if not.
The answer is: no, Android is not running nowhere, nor is Linux underneath him. Wake up on alarm is a hardware feature which was around a long time and was actually very common a time ago. The feature involves hardware. And because of the associated costs, I think, manufacturers started to implement it less and less. There is quite a lot of expensive phones today, which don't have it.
The alarm clock while power off feature has nothing to do with Android or whatever OS is on the phone. Any device today is never quite completely off. There are always few chips powered. No conspiracy here, those chips in question are well documented power chips, without any special spying powers if that is in question. We can say a phone, or other device, is on if it's processor is on. That can be woken-up by various events, only one of which is the power button. If you plug a charger to a powered off phone, it will power on, determine what's happened, then it shows a battery charging graphics. There is usually separate boot for each such event. One of such could be a signal from an alarm clock. You have phones which shows such alarms while they boot to special alarm clock mode, and then you have phones which will go through normal boot to show alarm in its alarm App.
But it's not just to send the wake signal. Phones offer multiple alarms, you have timezones, silent modes, and there need to be a way to store the alarm value from an alarm app when you set an alarm time into the clock chip. I don't think it's all such a big deal, especially when a basic clock is usually there somewhere anyway, but it's cheaper without it.

I am still in confusion here, if android isn't running and the feature is hardware related then why does it sound the same alarm that was set in android OS, how does it know where to find the sound played when alarm goes off without android running?

It either boots up the full Android, or some special alarm mode which takes less time to start. Either way, the alarm app then reads the configuration you set and acts accordingly. So when the alarm sounds, either android or a special alarm mode are running.

In particular, one of the things that is (and must, if you think about it!) always be running, even if the phone is powered off, is the clock. It then becomes fairly trivial to attach a small microcontroller to the clock (actually, it would simply come as part of the clock chip) which can be programmed with a time and a date and send a wake-up signal to some sort of I/O or power management microcontroller, which will then power up the rest of the system.

you set alarm for 9AM,
from 1AM until 8.59AM both you and the Android are sleeping.
At 8.59AM the hardware clock will wake Android up,
9.00AM Android will wake you up.
The phone is running in some form at the alarm time only, or just immediately before it. But not the whole night.

authors: Саша Разовий


text:
How are internal components of Android tested before releasing?
How are the internal components of Android such as Zygote and Binder tested before being released?
I tried looking around for answers to this but most resources (blog posts and research papers) I could find dealt mostly with Android application testing and/or verification techniques for Android applications and not the system itself.
A (somewhat) related official information I found was Android Compatibility Test Suite(CTS). I suppose this is aimed at hardware vendors who customize AOSP code for their devices. CTS performs high level compatibility checks from user applications only but not all code of internal components is tested.
If there are no publicly known techniques currently being used in Android, are there any known techniques proposed for other operating systems which would be applicable for Android?
I am working on replacing some components of Android entirely and looking for efficient ways to test them (correctness, compatibility, security and more perhaps).
Edit: It is sufficient for me to know how internal components of Android such as Zygote and Binder are tested when changes are made to them. Since they are internal components, the testing could be very likely automated. Also, I am hoping to replacing these components with functionally equivalent code so these tests will help establish that no critical functionality has been affected.

Have you forgotten about the Developer Previews Google releases for testing to developers before every major Android version upgrade? What about those?

Also, this post about compiler reliability might give you an idea: http://programmers.stackexchange.com/questions/51966/how-come-compilers-are-so-reliable

And this quote by Linus Torvalds: "Given enough eyes, all bugs are shallow" (to paraphrase somewhat?)

Try the CTS itself first. Note that this is a user-focused site and ROM development related questions are considered off-topic here. Also, if you replace too much of the Android core, it might no longer be considered Android, and you would have to be on your own.

@TamoghnaChowdhury From what I read, CTS is primarily for testing devices that will run Android and not for testing Android itself extensively. I think developer previews are probably for testing compatibility of developer's apps with upcoming releases; they probably won't test internal Android components. Android internals would be quite complex to perform manual checks only.

Is there a better avenue of SE where I could ask about testing Android internals? It is sufficient for me to know how various internal components of Android system are tested before being released; will clarify this in question too.

This is the right place to ask that question, but the answer is the same for any piece of open source software, unit tests, large numbers of test cases, bug reports from technical users, etc. Also, the true core of Android is Linux, and that is bugchecked separately. As it stands, I suspect not even the most experienced users here are truly qualified to answer your question. You could ask it somewhere else, but I suspect it would just get redirected here. Try your luck.

I think this should have been posted in Stack Exchange. BTW, to answer your question, all device manufacturers who don't change the AOSP code (unlike Samsung's Touchwiz) do not test the software components since they are perfectly taken care by Google.

Your question should have been like "How are internal components of Android tested by Google before releasing?" To answer that question, AFAIK, the testing tools are not published by Google. They do that in virtual systems. I think the other companies who change AOSP have their own minimal tools or do the major testing manually.. Someone who has better experience like playing with CyanogenMod's deep source can help better.

@GokulNC Did you mean Stack Overflow when you said Stack Exchange is probably more appropriate?
Also, I didn't know that most manufacturers make mostly minimal changes which typically don't affect internal components greatly. Thanks for that info! I will wait to see if someone does answer this for CyanogenMod.

@dnivra Yeah I meant Stack Overflow..


text:
After flashing TWRP with Odin, nothing happens and the OEM recovery is still there
I'm using a Samsung Galaxy S5, and after flashing the TWRP with Odin 3.07 and 3.10 I'm finding that my recovery is still the default. I'm using these instructions exactly.

Android system Recovery <3e>

It's as if nothing happened, how do I resolve this?

I had to use the TWRP app installed from the app store, it has a reboot function that will restart the phone into the TWRP recovery which you ave flashed to the device. I had a SM-T535 that always went to stock recovery even though TWRP was flashed to it with Odin. Using the app helped in that I didn't have to fiddle with timing and button presses etc.

Before you flash the recovery, untick the Auto Reboot option in ODIN. Then flash the recovery. After flashing in done, reboot your device directly to recovery mode from download mode by pressing Vol up + Power + Home button together. Now you will see the TWRP recovery is booted in your device. Now you can reboot normally and your TWRP will be installed.

For older Samsungs (e.g. the Trend ST-5760 and Duos ST-5762), download mode is VolUp+VolDown+Power+Home

battery pull actually solved my problem.

my device does not have a removable battery (J5 2017). pressing on Vol up + Power + Home while I'm in recovery mode doesn't do anything. Any other suggestions? (Same comment below, sorry for being redundant)

@AndyWeinstein With auto reboot disabled you don't have to remove the battery. On my Edge 7 I waited for Odin to finish and then pressed Volume Down + Power + Home to shutdown and then Volume Up + Power + Home  to boot into TWRP

Fantastic! It worked! Let me expand on the previous comment for anyone who didn't understand it, (I didn't).You don't really need to remove the battery. When you uncheck that "auto-reboot" option in odin and then shutdown the phone (Same key combination which allowed you to start download-mode in the first place) then it will not auto-reboot. Which means at that point you can press the key combination to enter recovery mode and you should reach twrp.

Worked even for Note8 :)

This hasn't worked for me; pressing volume up, home and power together hangs before the phone gets to recovery

Per this page,

WARNING: Do not boot into Samsung's ROM without first applying our Root .zip.  Samsung's OTA updates install /system/etc/install-recovery.sh and /system/recovery-from-boot.p, which cause Samsung's ROM to replace the recovery image you had just flashed with the stock recovery.  Our Root .zip removes these files, thus preserving your custom recovery.  Follow the directions below to boot directly into CWM recovery.

Which is good information because it's telling you exactly what happening. However, you can get around this without downloading their questionable files: After you install the TWRP Recovery with Odin the device will reboot. After it vibrates in the rebooting process, pull the battery. Have it ready to pull, it boots fast.
Pop the battery back back in, and hold your recovery sequence (Vol Up+Home+Power). This will get you into the TWRP, and you can now sideload, or if that fails adb push $file /data/ the files you want to install.

my device does not have a removable battery (J5 2017). pressing on Vol up + Power + Home while I'm in recovery mode doesn't do anything. Any other suggestions?


text:
Remap search key to power button on Android 2.3
I have a Nexus S, and Button Remapper that I see suggested is not working on 2.3 gingerbread for remapping the search/assist button as a power button (because Nexus S power button is known to be fragile).
Is there an alternative to remap the key? Device is rooted, in case that helps.

If you don't mind, I would suggest a custom launcher, such as ADW. The advantage is that you can change the Search button without changing ROMs, the disadvantage: It only works on the launcher, and not throughout the ROM.

Thanks, i'll do that if nothing else works out. Still looking for some other solution tho.

How exactly do I remap search button on ADW? I installed it, and it has improved a lot since I used it months ago!


text:
Can Whatsapp messages be restored from email chat history?
My Whatsapp chats got wiped after a ROM flash that resulted in a soft brick. The other person uses Windows Phone 8, and I have an email from that mobile with the chat history txt file. Can I restore the messages on my phone with this file, perhaps by editing the DB file that Whatsapp backups create? Just the message text would be great, I do not care for the dates or other metadata.
This is probably not an easy task, and I'm ready to roll up my sleeves and dig in. Any general pointers to get started would be great.

Yes, you can do that but it's going to be a really tough work.
Try using DB Sqlite browser to access the mgstore.db file in your rooted phone by saving the same file on PC. Then you can create new records in the sqlite file and add on your old messages to your chat history.

WhatsApp uses SQLite databases for recording chat history. It's not possible to restore without writing custom code to convert plain text into sqlite database accepted by whatsapp. I don't know of any such tool.

msgstore.db is no more plain zipped sqlite database.
It is now encrypted (with crypt8) too using the keys from the device WhatsApp was installed on.
So manually injecting can be really difficult though not impossible once WhatsApp is installed.
I suggest you refer to the text file when you need it, and don't worry about putting it back in WhatsApp.