Thursday, December 31, 2015

bootloader - Is there any way to put a password to avoid someone from hard resetting my phone?


I have a Moto G, and I am very careful in protecting my data. I currently use CM Security App from the Google Play Store and it's very helpful in taking a photo to a person who tried unlocking my phone twice without success. Also I have locked my settings to avoid people from turning off my internet and GPS; in that way I will still able to track my phone via GPS. My phone is also locked to avoid people from uninstalling apps without my password. Additional, I had also disable USB debugging to stop someone from wiping my phone directly from a computer, but all this efforts will come down if the hard reset is enabled.


Is there any way to put a password to my boot settings to stop someone from making a hard reset to my phone? I already investigated, and encrypting my phone will not work for this.



Answer



No. Even if you could add such a restriction within Android, it would still be possible for an attacker to boot into recovery or into fastboot mode and reset the phone from there.




If you're trying to protect the confidentiality of your data (i.e. stop an attacker accessing it), then encrypting the phone is what's required for that. If you're trying to protect the integrity of your data (i.e. stop an attacker deleting it), then you can do that by backing it up to a secure location that there's no risk of losing.



If you're trying to stop someone deleting a tracking program or the like, then you're not protecting your data at all, you're trying to protect the phone itself. You can only do this with physical precautions, not software precautions, or by insuring against the loss.


Wednesday, December 30, 2015

file management - How to add a new button to the button bar in Total Commander for Android?


I got Total Commander on my Android phone.


I need to check the directory size for a folder and the solution is:


Add a new button to the button bar, and then..


I understand that but my question is how to add a new button to the button bar?



Answer



Tap on icon (arrow). You get a +, add details as per link - you can see the button with KB, on the first line


enter image description here



Is there a way I can prevent the back button from going to the home screen?


One of my pet hates about Android is the back button. It is fairly unpredictable what it will do.


Depending on where you are, it can do one of three things:



  1. take the user up a page in the same app

  2. take the user back to a previous app

  3. take the user back to the home screen


Normally, I think the 1st and 2nd scenarios generally work pretty well. Even through I'm not sure where it's going to go, 90% of the time, it'll take me to where I want to go.


The last scenario is very frustrating and happens exclusively when I didn't realise that I was already on the first page of my app. It just dumps me on the home screen and I have to figure out how to open the app again. As far as I'm concerned I can't see any good reason for ever taking the user to the home screen when they hit the back screen - especially since there is a home button right next to the back button for that purpose.



Anyway, I want a solution to this. So is there some sort of app or some sort way I can program Tasker or another automation app to either



  1. override and cancel the Back button action if it'll take me to the Home screen. Either have it do nothing or display a message

  2. just disable the back button altogether if clicking it will take me to the home page.


I'm on Lollipop and unrooted.


However, although I want an actual solution for myself, I'd be interested in hearing of any solutions that are rooted or on other versions too.



Answer



Well, this is still (after investing so many hours) a half-baked (aka partial) solution. You want a message, you'll get a message. :) We need root access for the solution.


Note: Tested the solution on Android 4.2.1 but works on 5.0 as well.





At this point of time, the message will be received as a Toast and it has no effect on Back key.


For the purpose of example I'm using ES File Explorer and BetterBatteryStats to display a message on their default screen.



  1. Fire up Tasker and enable it.

  2. Go to VARS and create a variable as +%Catch (you can use a different name but keep the first letter capital (global variable)). Similarly, create another one with name %Any.

  3. Create a profile with application context and select ES File Explorer.


  4. Create a task under the above profile and then an action inside this task as +Code→ Run Shell and enter these details:




    • Command: dumpsys activity | grep mFocusedActivity | cut -d ' ' -f 6 | cut -d '}' -f 1 -- this command will output the focused activity (current app launched with its activity).

    • Check Use Root.

    • Store Output In: %Catch.

    • Save this action.



  5. Create another profile with application context inverse of ES File Explorer.


  6. Create a task under the above profile and then an action inside this task as +Variables → Variable Set, and enter these details:




    • Name: %Catch

    • To: The (you can put any word)


    This step will make sure that the variable %Catch doesn't hold the value (provided in during execution of step 4) after the profile in step 3 becomes inactive.



  7. Create a last profile under Event → New Window and choose Full Screen under Window Type -- I earlier had Toasts even for dialogs on Main activity. Full Screen option will avoid it.


  8. Create a task under the above profile and then an action inside this task as +Code→ Run Shell, and enter these details:



    • Command: dumpsys activity | grep mFocusedActivity | cut -d ' ' -f 6 | cut -d '}' -f 1 -- this command will output the focused activity (current app launched with its activity).


    • Check Use Root.

    • Store Output In: %Any.

    • Save this action.




  9. Create another action in the same task as +Alert → Flash, and enter these details:



    • Text: Don't back Disk :/ -- this is the message that will be displayed in the Toast. Choose wisely!

    • Tap + corresponding to If and enter %Any eq %Catch -- we're comparing the main activity name for our selected app with any window Android will open. If it matches, you'll see the Toast. Now you can see why we needed an extra "inverse app context" profile in step 5.




  10. Save everything and enable all three profiles.

  11. Note that I had to shift my Superuser app's root access Notifications from Toasts into Status bar notifications because the third profile will need root access every time Android will launch a window. Make sure you either disable your Superuser client's Toasts or change them into Status bar notifications. It was an invasive stream for me!

  12. Anyhow, launch ES File Explorer and see the magic. The default screen of this app will show a Toast to you. You open any other activity and it won't bother you. Come back to main screen of it and see the Toast again.

  13. You can have this behavior for multiple apps. Just choose your app in the profile we made in step 3 and 5. They are supposed to be added in OR context like ES File Explorer or BetterBettaryStats and Not BetterBatteryStats or ES File Explorer.


Some screenshots:


(Click any image for its larger variant)




No toast for any other app                     →                Default screen for BetterBatteryStats                  →


(No toast for any other app)                                                (Default screen for BetterBatteryStats)



No toast on dialog on same screen                    →                  Dialog closed and toast came back on main screen                  →


(No toast on dialog on same screen)                                      (Dialog closed and toast came back on main screen)



Toast on Default screen of ES File Explorer                    →                   No toast on dialog of the same screen                  →


(Toast on Default screen of ES File Explorer)                            (No toast on dialog of the same screen)



Toast came back as soon as dialog disappeared



(Toast came back as soon as dialog disappeared)




Commentary




  • The aforesaid solution didn't work on my device satisfactorily if the app remained in recent list (but OP is not concerned with it) and you happen to open it again.




  • You can get rid of app (and inverse) context based profiles if you use a string in step 9 in place of %Catch like com.estrongs.android.pop/.view.FileExplorerActivity (Main activity of ES File Explorer). The solution will be reduced to two steps. :D


    However, I would like things to be automated here, so why bother especially when you want to select multiple apps for the toast!





What else?




  • Every device more or less has a keylayout under /system/usr/keylayout. In my device the generic layout is named as Generic.kl. The relevant key is mentioned at


    key 158 BACK    WAKE_DROPPED

    If you put # in front of it and restart the device then the back key would be disabled. To remain at safe side, I swapped it with Meny key (key 139).


    This swapping can be very beneficial in Tasker. Unfortuntaley, the changes take effect only at next reboot which is very counterproductive for our goal. Let me know if it can be done without a reboot!





  • Xposed Additions(requires Xposed Framework) can remap or disable the Back key et al, but it has no explicitly callable activities (relevant to the goal) which can be utilized by other apps. Also, it doesn't even seem to store a database or a preference file. So I couldn't use it with Tasker to achieve the goal.




  • Secure Settings (another Xposed module) has an option named Kill back button but it seems to be available for Custom ROMs and so, I couldn't test it. Some folks say it does work and I too saw the plugin useful for the goal. Check it out if you've a custom ROM.




I'm open to Ideas here!


2.2 froyo - Is it possible to disable Google Play updates?


Is it possible to disable updates to Google Play and Google Play Services?


I have automatic updates switched off, but this 2 Google apps are upgrading itself without my permission, and I can only helplessly watch how the free space is decreasing to the amount, my Gmail synchronization is not working anymore (related to Does the gmail app stop syncing once the "Low on space" message appears?).


I know I should root my phone to move apps to SD completely, but I don't want to do that before the end of summer, to not risk not having mobile internet in case something goes wrong.




Device is a HTC Desire A8181, aka HTC Bravo.




Tuesday, December 29, 2015

2.3 gingerbread - Droid X Turns Itself on Automatically


I turn off my Droid X (now running Gingerbread) to conserve the battery. However, every morning when I wake up, it is turned on. Has anyone else been having this problem?


I don't know how long it waits to turn on, or what time it is that it turns on, but it's quite a pain (especially because it drains the battery).


Any suggestions? This has only started happening when Verizon upgraded me to Gingerbread.




Sunday, December 27, 2015

How do I create a ClockworkMod installation package?



I'm a seasoned Linux veteran and recently bought a Samsung Galaxy S2 from T-Mobile. I've been feeling the tinkering bug, so I opted to download the source code from Samsung's site and start fiddling.


My problem is that I've already got ClockworkMod installed on my phone, so I don't want to odin flash a new kernel and thereby corrupt ClockworkMod, so I'm looking for details on how to create a proper ClockworkMod install package (generally/always a zip file?) so that I can test the newly compiled kernels.


My searching on google thus far has brought up naught. The ClockworkMod page seems to be pretty barren of documentation. Can anyone point me to some documentation on the install package creation process?



Answer



The required part of a kernel .zip file looks like this:


META-INF
com
google
android
update-binary

updater-script

You'll also want to have the kernel zImage file somewhere else, easiest if you just have it in the root of the archive.


updater-script contains the following at minimum (assumes zImage in the root):


assert(package_extract_file("zImage", "/tmp/zImage");
write_raw_image("/tmp/zImage", "/dev/block/mmcblk0p8");
delete("/tmp/zImage")
);

You can also do things like show a progress bar, print messages, wipe /cache, and so on.



You'll want to grab update-binary from another kernel package for the SGS2. One at random is attached to this XDA post.


I tested this method on my SGS Vibrant without issue, using a kernel from an Odin package and an update-binary from another Vibrant kernel .zip. Note that this is perfectly safe as long as you're writing to the correct partition -- for the Vibrant it was bml17, for the SGS2 it appears to be mmcblk0p5 (based on the kernel from XDA I linked above) or mmcblk0p8 if you're flashing an entire boot image (see comments below). You'll want to verify it for sure. Worst case your kernel doesn't work and you flash a known good one.


usb debugging - Broken screen while debug mode was disabled. How can I re-enable adb?


The screen of my phone is physically broken, so it doesn't display anything, but the touch aspect does seem to be working, as I can unlock my phone, and get haptic feedback.


Before I go to get it replaced, I'd like to back up some personal data from the built-in memory to the SD card. I'm fairly certain that if I can get adb to recognize the device, then I can use Android Screencast to see where I am touching the screen and do what I need to do. Problem is, when I plug it in, it's not recognized, while my emulator is.


I suspect that I might not have USB debugging enabled, which I think is necessary for adb to work. If this is the case, can someone give me screenshots of their Droid X (running 2.3.X) going from the home screen, through all the menus, to activating debug mode? Hopefully I can do it by dead reckoning and adb from there.



Edit: I haven't changed anything about the ROM or launcher; it's all stock.




Saturday, December 26, 2015

Associate a file type with an application


I want to change the default application starting when opening e.g. an mp3 file. Now the android music player starts when I open an mp3, I want e.g. spotify to start instead.




Nexus 5 front camera not working


Yesterday my front camera on Nexus 5 stopped working. It doesn't show up in any app (& there's a bug in the new Google camera app - I can switch camera only if the HDR+ is on, but then it's stuck on "Can't connect to camera'). I'm out of options, I already tried: deleting cash, reinstalling camera, safe mode, factory reset... - nothing worked. Anybody got another idea how to get it working? Thanks in advance


Threads I found: https://productforums.google.com/forum/#!topic/nexus/6RVMvPaF80s https://productforums.google.com/forum/#!topic/nexus/MATebxlFYyA



Answer




I found a solution: If you don't have a RMA option like me, it's possible it can be fixed with just disconnecting and reconnecting the front facing camera.


Try deleting cash, reinstalling camera, safe mode, factory reset, etc. before doing this. Proceed at your own risk!


As shown in this video: https://www.youtube.com/watch?v=OPuCmfhzgbg)



  1. Remove the back of the phone (beginning of the video).

  2. Unscrew the top plastic plate (7:15 - 8:10).

  3. Disconnect and reconnect front-facing camera flex cable (13:43 - 13:57).

  4. Put everything back together and you're done.


Viola! I hope it helps someone.



UPDATE: It stopped working again and this didn't help anymore. I had to buy a spare part and according to the video above replace it. The repair was succesful though.


samsung - How can I backup playlists or extract path+filename information from them (generated with builtin MP3-player)?


I like to extract playlist information (i.e. path and filenames) I've created on Android's builtin MP3-player, to copy it with the MP3 files to a bigger SDHC card. Playlist information is lost when doing this:



  • Removing the SDHC memory card (after turning off the device), and re-insert it later, causes the MP3-player to forget all files in the playlists which I have created. This is especially annoying if you want to replace the SDHC card by a bigger one and want to backup all files including playlists from the old one


Hence I am looking for a way to backup the playlists or at least their content (i.e. path filename etc).




More information:


The phone has a playlist folder, containing the Playlists, when I use a USB cable to connect it to the PC, I can see them (*.pla files) but they have 0 bytes and cannot be copied. Also, if I connect the SDHC card via cardreader, the files aren't useful.


Samsung Kies also did not work for me, it does not seem to support the playlists created on the phone.



I found this interesting question, which explains that Android stores playlists in SqlLite databases, but unfortunately, on my Samsung phone I could not find the database file (although there is a folder Computer\GT-I8190\Phone\Android\data\com.google.android.music which should contain it, but no databases subdirectory and no database files).


N.B.: The smarthphone is able to read and import *.m3u playlists (via the player's "Music Square" menu - context menu "Library update"), but cannot modify them (if you add titles, they will only be available in the smartphone, the *.m3u file isn't changed).




To summarize my question (one of the options below would help me):




  • Do you know how I can backup the playlists on the phone and then extract the file/path info contained in them in Windows?
    Phone Playlist -> Windows PC -> Extract Path/Filename to text file





  • Or do you know if there is a tool available (for Android, or for Windows reading it from the mobile phone) converting the playlists into a compatible text format (like .m3u playlists)?
    Phone Playlist -> M3U file

    (Note: The other way round it is possible, as this forum post explains). Here's an example of a M3U file, note that relative paths are allowed as well:


    #EXTM3U
    #EXTINF:123, Sample artist - Sample title
    /storage/extSdCard/Sounds/Sample.mp3






Your help is much appreciated!



Answer




It seems that Android built-in music player cannot export playlist. One of the solution I could think of is to use 3rd-party app to export it, such as Playlist Backup (free)




This application allows you to export your audio playlists (both System, Poweramp and Google Play Music playlists) to sdcard or Dropbox. You can keep as many backups as you want for each playlist. [...]


Export your Audio Playlists as M3U files on your SDCARD and keep them safe. [...]


Main Features:



  • Export system playlists to sdcard

  • Export Poweramp playlists to sdcard

  • Import M3U files to your system playlists


  • Delete duplicate entries from your playlists

  • Keep your Android Playlists in sync with Poweramp Playlists



The procedure is straightforward:



  1. Open the app

  2. Select the playlist type (System playlist, Poweramp playlist, or Play Music playlist)

  3. Tick the playlist you want to backup

  4. Tap Backup Selected to backup to SD card


  5. A dialog will appear to tell the status of the backup, and where they are stored


Friday, December 25, 2015

security - Is an antivirus really needed for Android?


I use Linux for half a decade now, so I am not used to dealing with viruses anymore. To my surprise, I saw some discussion about antiviruses in Android. I haven't installed any yet, but this bugs me: are they really necessary? Are there (or were) any known viruses in the market? Doesn't Google runs an antivirus before allowing an app to the market?


I haven't had no problem in one year of Android, but my cellphone has a lot of important information, and I wouldn't like to be surprised with some virus cleaning my phone, or making international calls while I sleep, or whatsoever. Should I install an antivirus?



Answer



You shouldn't need to worry about running an anti-virus on your phone. I would recommend running one on your PC though and having it set to scan peripheral devices. When you plug in your phone and it gets mounted as a mass storage device the desktop's antivirus will scan the phone for viruses' signatures and you will be doing the minimum to ensure your security.


It is an illusion to believe that just because you are running *nix or OSX you won't benefit from the security afforded by AV software; that said you dont need to spend anything to get a good, lean program especially in Linux.


applications - How do I access `$HOME/storage` outside of Termux (with a file explorer)?


How do I access $HOME/storage Termux directory on Android Pie with a GUI File Explorer?


In Termux I print the working directory with pwd and it shows $HOME/storage as:


/data/data/com.termux/files/home

My internal storage looks like this:


.

├── Alarms
├── Android
| ├──data
| | ├── ...
| | ├── com.termux
| | | └── files
| | | └── 0 items
| | └── ...
| └── ...
├── DCIM

├── Download
└── ...

My external storage looks like this:


.
├── Android
| ├──data
| | ├── ...
| | ├── com.termux
| | | └── files

| | | └── 0 items
| | └── ...
| └── ...
└── LOST.DIR

Neither my internal storage, nor my sd card, contain a /data/ directory at the root level. Where is this /data/ directory? For that matter, where is the root /storage/ directory? Where is the root /emulated/ directory? Where are any of these directories and why cant I access any of them?



Answer



If you did termux-setup-storage previously, create random_file.txt file in $HOME/storage/shared. That'll be created on /sdcard/. But you don't need to do that hassle. Just grant Termux Storage permission and save directly to /sdcard/ e.g.


echo xyz >/sdcard/random_file.txt


$HOME/storage is actually /data/data/com.termux/files/home/storage which is not accessible to other apps without root access. That's how Android's security is designed.



Where is this /data/ directory?



It's a partition named userdata mounted in rootfs at /data. For details see How disk space is used on Android device?



where is the root /storage/ directory?



It's also a directory in rootfs where tmpfs is mounted. Contents of this directory look different to different apps because of mount namespaces and filesystem emulation.




Where is the root /emulated/ directory?



It's at following three locations:


/mnt/runtime/default/emulated
/mnt/runtime/read/emulated
/mnt/runtime/write/emulated


Where are any of these directories and why cant I access any of them?




These directories are what you see when you open a file explorer app. Emulated filesystem path is /sdcard.


On Android 6+, /data/media is emulated to three VIEWS mentioned above. One of those is bind-mounted to /storage/emulated depending on app's Storage permission status. emulated directory contains User_ID's of all users (if there are multiple users or profiles). Device owner is always 0. So /sdcard points to /storage/emulated/0. It's the storage which apps can read and write.


Additionally apps can read and write to their private data directory in /data/user// (which is /data/data/ for device owner). For details see What is /storage/emulated/0/? and What is the “u#_everybody” UID?.


From your comment:



Can Termux write to the actual SD card physically inserted into my phone? If so, how?



Apps don't have filesystem level write access to external SD card except those using SAF APIs. Quote from official documentation, Termux doesn't have support for SAF:



Why does Termux have read-only access to the external SD card?



On recent Android versions, the write access to the external SD card is done over Storage Access Framework. It is not possible to provide it's API to the command line programs.



However apps can always (with and without Storage permission) read and write to their private directories in shared storage i.e. in Android/data/ directory (and some others) on /sdcard/ and external SD card. For details see How to move files to external SD card on a non-rooted Android?


From your comment:



So basically I don't have access to my own devices root directory, without rooting the device? I can only start at the third level? That's frustrating.



/data partition also contains system settings including sensitive data like password databases (though not saved as plain text). So /data isn't accessible without root in order to:



  • Protect apps' private data from other apps (every app is a UNIX user with unique UID)


  • Protect system data and settings from bad apps and malware

  • Isolate users/profiles from other users/profiles

  • Not let apps access shared storage without Storage permission granted

  • Enforce APIs by Android framework so that apps can't use system resources and read/manipulate device information and settings without proper permissions


And possibly there are other reasons. For details see Are multiple-users protected from each other differently than apps?


connection issues - Droid Explorer is unable to browse device


I love the idea of being able to browse root directories on my laptop.



But I can't for the life of me get droid explore to work, I have a note 4 (rooted of course), I am running stock Sammy ROM, I have installed adbd insecure on my device and I can access root via adb, but I cannot do anything with this software. I also have busybox installed to /xbin.


When I click connect device, my device does show up, but when I click on said device, the application grays out and i cannot click anything other than min/max or close. It is the same with a rooted Samsung nexus that i have, running CM11. Any input would be appreciated. Thanks in advance.


EDIT: i am running 64bit win 7 and I have tried reinstalling the software twice.




Thursday, December 24, 2015

2.3 gingerbread - Are Android OS updates region specific?


Well, I have a Galaxy Ace with 2.3.3, build XWKPY and Samsung Kies doesn't show an update to 2.3.4 yet.


I'm thinking of manually updating it through Odin and I need to know if I can just download any Gingerbread 2.3.4 update file or is there anything else that I need to be worried about?




1.5 cupcake - How do I remove the search bar?


On my Android 1.5 MID, there is a Google search bar in the main screen.



  • Does this have any value to me if I don't use the Internet?

  • How can I remove this from the main screen?




Answer



Long-press on the search bar; after a second or so, a trash can should appear at the top or bottom of the screen. Drag it to the trash can.
Alternatively, you could drag it to an open space on another screen by dragging it to the left or right edge of the screen. The screen will flip to the next panel and you can drop the widget on any open space large enough to contain it.


htc sensation xe - Minimum volume is too high with headphones


Got the HTC Sensation XE recently. Liking the phone and the beats headphones/ear-in phones that come with the phone.


However, the minimum volume is just too LOUD!!!


The beats integration was one of the reasons I bought the phone so I don't want to buy different headphone with volume control.


Is there a way around this?




files - How to exclude certain folders from getting scanned by music player?


I have some audiobooks on my phone, but I don't want to hear these when I play "All music". Is it possible to exclude some folders from getting added to the library? What are the file types that automatically get added?



Answer




You should be able to create a file called ".nomedia" (without quotes) in the folder you don't want scanned. It is supposed to tell the media scanner not to look in there.


2.2 froyo - Dropbox export folder to SD card?


Is it possible to download a folder (or at least download multiple files at once) from Dropbox to SD card?


I do not seem to have the export option when selecting folders


enter image description here


Note the "Share" option doesn't have save to SD either.




Answer



ES File Explorer has support for several cloud storage providers. It allows to "copy" folders from your dropbox folder to your SD-Card etc in a similar fashion as you would copy files locally. The "Network" Tab allows you to add an account.


Adding the dropbox account Allows to copy folders from your dropbox directly to your sd-card


Wednesday, December 23, 2015

external sd - How to free Internal Storage by moving data or using symlink / bind-mount with Adoptable Storage?


Galaxy S5 running LineageOS 16 (Android 9).


I'm having issues with running out of storage space, even though I have 128GB external SD card, merged with the internal storage. Is there a way to create a symlink from the internal memory to the external SD card, even though they are technically merged and aren't identified as separate storage locations within Android as a result?


I've never made symlinks on Android so I'd appreciate some pointers or resources on that as well.




6.0 marshmallow - How to uninstall or replace Joy Launcher?


This morning my Android mobile started asking for permissions for a "Joy Launcher" app that I've never seen (or at least noticed before). This appears to be an official app from the manufacturer.


https://play.google.com/store/apps/details?id=com.tct.launcher


I also found this article indicating that Google recently discontinued their Google Now Launcher, but I'm uncertain as to whether this has any bearing on my situation.


http://www.androidpolice.com/2017/02/03/google-will-discontinue-google-now-launcher-coming-weeks/


My biggest concern is that it's suddenly asking for unneeded permissions. It seems unusual to me. I haven't been able to disable it. Can anyone shed some light on what's happening and/or any insight as to how I can remove or replace it?




Answer



I ended up disabling Joy Launcher and installing another launcher of my choice. Joy Launcher can be removed from the startup items using any startup manager. I very recently switched to the All-In-One Toolbox app, since the Startup Manager app I mentioned above in the comments has gone flaky lately.


file system - Why does Android use fuse for internal SD card mount?



The android ICS or later version(JB) use /data/media directory for internal SD card, and use fuse for mounting the emulator internal sd card device (/dev/fuse).


As we know if we use fuse, the files access have to communicate with userspace with low effect, why android do not use a stackable passthru filesystem such as wrapfs(wrapfs.filesystems.org) to mount the /data/media direct to internal sd card path(/storage/scard0)?


Especially, we have the MTP option access internal sdcard and external sdcard for PC(windows)





Tuesday, December 22, 2015

gps tracking - How to import GPS coordinates track for using offline


I have a map (GPS coordinates) of a route. The coordinates are in TRK,GPX,KMZ,PLT formats.


During my trip I will not have internet connection, so I can't upload the map too GoogleMaps and use it.


Is there an application that will allow me to use the map offline?




google play store - CyanogenMod, why doesn't Market self-upgrade?


I've bought a used HTC Magic with CyanogenMod 5 on it. It has Google Market. The market version is 1.713 - which is nowhere near the latest IIRC. In-app billing, for one thing, is not supported.


Isn't Google Market supposed to upgrade itself when a new version comes out? Why doesn't mine do so? Probably some kind of CyanogenMod interference. Any good way around that, please?


EDIT: debugged the situation a little bit. I happen to know that market updating happens out of the main Market process - the Market (com.android.vending) downloads the update, then fires a broadcast intent UPDATE_MARKET to a receiver in another app (com.android.vending.updater), which in turn installs the package. Here's what I got in the LogCat:




02-01 02:34:16.155: W/ActivityManager(121): Permission Denial: broadcasting Intent { act=com.android.vending.UPDATE_MARKET dat=content://downloads/download/31 } from com.android.vending (pid=1762, uid=10006) requires com.android.vending.permission.UPDATE_MARKET due to receiver com.android.vending.updater/com.android.vending.updater.UpdateMarketReceiver



So it looks as if the Market app lacks a permission to invoke the updater. The manifest file of Vending.apk, however, does have a


 

line. How is it possible for an app to have a , but receive a permission denial message?


EDIT2: the permission com.android.vending.permission.UPDATE_MARKET is marked as "signature" in the MarketUpdater manifest. Meaning only apps signed by the same certificate as MarketUpdater are granted that permission. That could be the reason Market is not granted the permission - could be signed by a different certificate.


EDIT3: that's exactly the case. The public key is different. The one on Vending.apk seems to match that on various versions of Vending.apk that are floating around the 'Net.



Answer



So the problem was: Market and Market Updater were not signed by the same key, no idea why. As a result, the Market wasn't able to send an intent to a receiver in the Market Updater that was protected by a signature-level permission. Here's what I've done.



I took MarketUpdater.apk from the device. I took it apart with apktool:


apktool d -s MarketUpdater.apk mu

I then opened the AndroidManifest.xml. I changed the package attribute under to


package="com.android.vending.updateralt"

That was to avoid a name clash with the vanilla Market Updater app. Changed the element's header to this:




See - no permission attribute. No longer requiring that the intent sender is signed by the same certificate. Spelling out the Java package name in android:name was necessary, since the APK package name no longer matched the Java package name of the class.



I then packaged the APK back:


apktool b mu MarketUpdaterAlt.apk

I signed the APK, using the jarsigner tool, with an arbitrary key that I had from another project:


"C:\Program Files\Java\jdk1.7.0_02\bin\jarsigner.exe" -verbose -digestalg SHA1 -sigalg MD5withRSA  -keystore c:\Path\MyKeys.ks MarketUpdaterAlt.apk MyKey

Uploaded the APK to /system/app, registered with pm:


adb push MarketUpdaterAlt.apk /system/app
adb shell pm install -r /system/app/MarketUpdaterAlt.apk


And forced a Market self-update. Removed the preferences file:


adb shell rm /data/data/com.android.vending/shared_prefs/*

Then restarted the Market, waited for five minutes, and closed the Market. The update went through like a charm. Now I have Market 2.3.6, in-app billing and all.


Good thing the permission-based coupling between the Market and Market Updater was not two-way...


EDIT: the alternative updater APK is available for all at http://www.jishop.com/temp/MarketUpdaterAlt.apk


How can I easily share links or text between my Android phone and my laptop?


For example, if I have a URL for an image from my laptop's browser that I want to share with a WhatsApp contact, what is the easiest way of doing this? The only way I can think of is to copy the URL, paste it into an email to myself, open the email, copy the URL and then paste it into WhatsApp.




Answer



Some time after asking this question I found the Pushbullet app, which shares clipboard items across devices. Since Pushbullet changed its business model, I moved on to using the Join app which has similar features to Pushbullet and, although not as polished as Pushbullet, is functional and meets my original requirements.


Gmail app: how can I change the sender address?


I'm using Gmail for all mail related stuff, but the main address I use is not my "real" Gmail address, but something like myname@mydomain.com.
I have set up that adress as a sender in Gmail, so every mail that I send from the Gmail web app looks like it's coming from myname@mydomain.com (instead of myname@gmail.com).


So my question is:
Is it possible to use this sender adress in the Gmail Android app as well?
All mails sent by the Gmail app are sent from myname@gmail.com by default and I can't find anything in the settings to change that to my alternate address.
(as I said, it's already set up and working in the web app...the Android app just needs to access this information somehow...)


My phone is a HTC Wildfire with Android 2.2, and version 2.3 of the Gmail app, if that matters.
Thanks in advance!




Answer



When composing the "From" is a dropdown menu. It has all the accounts you've added via the webmail interface, and it's had this feature for a long time (you shouldn't need to upgrade).


Monday, December 21, 2015

usb connection mode - SD card not showing files when connected to pc


When my phone MOTOROLA G3(2015) is updated to Marshmallow, its not showing files when connected to PC. While connecting, it shows options as charing only, PTP, MTP, MIDI. When I select MTP, it shows the external card, but not showing the contents, where as internal memory is detected and all files are shown.




wi fi - Limit YouTube to Wi-Fi only


My daughter loves to share videos on YouTube with her friends. As a result she's blown through her monthly 2GB data allotment on multiple occasions.


While I've educated her on the difference between 3G and Wi-Fi, and she's a smart kid, it would simply be easier if I could limit her YouTube app to only allow streaming while on Wi-Fi.


I looked in the app settings but unless it's in some weird location there is no such setting. How can I prevent YouTube streaming to be only allowed on Wi-Fi?


(If it matters: Droid Incredible 2, Gingerbread)



Answer



Don't know of any YouTube option for that end, but if you are open to use an app to limit other apps, you can give a go to Onavo Count | Monitor Data that has an option to limit the app to Wi-Fi only:




Save money on your mobile bill - avoid costly overage fees! Onavo Count puts you in control of your 3G data plan. Easy setup, three brand new widgets, tailored alerts and automatic blocking tools will keep you safe from bloated data bills.



Update September 2016:
It looks like Onavo Count is no longer compatible with some modern Android devices including devices like Nexus 6P. Onavo has a new "Protect Free VPN+Data Manager", which still has the above functionality in addition to some cool VPN features.


Onavo Limit to Wi-Fi Only


rom flashing - Is it possible to get Android on a Nokia e65?




Possible Duplicate:
Can I install Android on my non-Android device?



Does anybody know if it is possible to get android on a nokia e65?


Thanks for your time




How to extract .zip through ADB shell


Exactly what the title says. I've got a 1.5 gb zip file on my sdcard that I would like to extract via adb (not pulling to pc and pushing back). Is there a simple command to unzip a file?


Thanks!



Answer



Yes and no. As far as I'm aware, a typical Android install will not contain unzip. You can, however, install busybox for Android, which provides the unzip utility. Then a simple:


adb shell unzip /sdcard/archive.zip


Would do the trick. If you're rooted you can use a busybox installer from the Market like Stericson's. If you're not rooted then you should be able to manually push a busybox binary (one here on Github, for example; click "raw" to download it) to somewhere like /data/local and then invoke it. It should be something like:


adb push /path/to/busybox-android /data/local/busybox
adb shell chmod 0755 /data/local/busybox #Make it executable
adb shell /data/local/busybox unzip /sdcard/archive.zip

Alternatively, many file managers will unzip files for you. I personally use File Expert but there are a lot of others. Usually you just need to long press on the archive and it will present an "extract" option or similar.


Saturday, December 19, 2015

Transfer and import .VCF Contacts


Samsung Galaxy S3 i9300, 4.1.2 Jelly Bean. I have a Nokia phone with .vcf Files of Contacts to be transferred to the Galaxy S3. My contacts are more than 4000 in quantity which I want to transfer along with their pictures and each & every detail without any loss. Any Reliable Suggestion / App that can do this?




updates - What is involved in upgrading Android to a later version, if the manufacturer no longer supports the device?


I recently acquired an Android-based tablet which is now running a rooted version 2.2; however, the manufacturer no longer supports or sells this particular tablet.


I'm interested in seeing if I can install Android 4.0 onto it by keeping the Linux kernel from 2.2 and just replacing everything else. Despite the GPL, the manufacturer never released any source code for their custom modifications so I can't, for example, compile a new kernel. So my basic plan is to replace the software stack with the stock Android 4.0, copy any custom applications over from 2.2 that came with the device, and see what happens.


Has anyone here tried anything like this before and can advise on any potential pitfalls before I go ahead and inadvertently brick my device? Thanks in advance!




Friday, December 18, 2015

sync - Transfer all Contacts in Phone and Sim to Google Contacts




Possible Duplicate:
How to move phone contacts to Google?




I am using my New Samsung Galaxy Y mobile phone. In My Contacts, I see that some are in SIM Memory, Some are in Phone Memory while others are in Google Accounts. In the Import/Export Option, I see Import/Export to SD card and Import/Export to SIM Card.


I want to copy all my contacts in phone and sim memory to my Google Account. How do I do that? Is there any way to do it rather than doing it manually?



Answer



Posting the answer given by Niall C. in How to move phone contacts to Google?


This is the simplest way that I found to do it with my Samsung Galaxy S:


From the main Contacts screen, hit Menu, then More, then Import/Export, then Export to SD card. Connect the phone to the PC and mount the phone's SD card as a removable drive. Open browser to GMail, select Contacts then Import. Select the file on the phone's SD card, then Import. Voila! On the next sync, they're back as my phone as Google contacts.


Thursday, December 17, 2015

data recovery - How to restore nandroid?


I created a nandroid backup and copied the files to my computer



boot.img
cache.ext4.tar
data.ext4.tar
nandroid.md5
recovery.log
system.ext4.log
ta.img

I deleted the files on my phone to save space and now have copied them back. I used Online Nandroid Pro and not sure how to actually get it to do a complete restore?




How can I get the Amazon Appstore to stop re-installing applications?


Whenever I install an app through the Amazon store, I usually set my phone down while I wait for the download, and pick it up afterward to hit the "Install" button when the OS prompts me. Sometimes I won't do this immediately.


It seems that the Appstore assumes the install failed if it wasn't completed within a certain length of time, and tries again. This is fairly short (a minute or two) and sometimes it might be hours before I go back to my phone. Until recently this wasn't a problem; I'd either just hit Install twice, or Install once and Cancel once, and move on.


Now, however, the Appstore seems to get stuck in a loop. No matter how many times I hit Cancel or Install, it just repeatedly asks me to install the app. I have to kill the Appstore and/or reboot my phone, ruining any other updates I have queued. Then I have to wait for them again, and I'll probably forget about my phone for a few seconds too long and run into this issue again.



Is there any way to make the Appstore behave reasonably?




Wednesday, December 16, 2015

rooting - How do I root my Android device?


This is a common question asked by those who want to root their phones. How exactly do I root my Android device? Are there risks involved?




Answer



DISCLAIMER: ROOTING YOUR DEVICE WILL PROBABLY VOID YOUR WARRANTY FROM BOTH THE CARRIER AND THE MANUFACTURER. IF YOU DO NOT WISH TO ACCEPT FAULT FOR ANY ADVERSE EFFECTS OF ROOTING, THEN DO NOT READ ANY FURTHER. HERE BE DRAGONS.





Before rooting, you might have some questions about it. Fortunately, they've already been answered! Refer to the handy list below:




Note there is no known method that will root all devices, nor is there any guarantee that any mentioned program or method will actually work. This is because there are many variables at play and device OEMs have no incentive to make the process easy.


A final caution: Your warranties may be voided, you may screw up your device, and there may also be other adverse effects. If you do not want to risk it, stop now. If you are not confident in what you are doing, please do not deviate from the guides and read carefully.


The easiest way to root your device is via "one click" methods, most of which are developed for more popular devices. Examples include applications (.apk files) you can run on your device, or software you have to run on a PC while connecting the device with USB. Other methods may involve many steps or manual editing of files.



Methods typically vary between models and even between firmware versions of the same model. Check your rooting method is compatible with:



  • Your device model/brand (e.g. Samsung Note)

  • Your Android version (e.g. 4.4 KitKat vs 5.1 Lollipop)

  • Your firmware version (e.g. European vs. USA vs. Verizon telecom provider)

  • Your hardware version (e.g. 32GB model with antenna vs. 16GB without one)



These are links to questions on this site that have been asked for specific devices. If the question for your device hasn't been answered, don't post a duplicate — you can attract attention to the question by offering a bounty on it, sharing the link, posting in our chatroom, etc.


Acer




Amazon



Archos



Asus



HTC



Huawei




Karbonn



Lenovo



LG



Micromax



Motorola




Nook



OnePlus



Prestigio



Samsung



Sony




SpreadTrum



Xolo



ZTE



Other









  • We have another question about that!

  • If you have another method or know how to root a device that's not listed, feel free to add it to the list! Just follow the same format.


2.2 froyo - Knowing which applications to stop


Looking at my currently running apps screen, I see many applications by htc and android, probably running the UI, and sync and stuff like that. Is there a list or a site that explains what each app does, so I can decide whether I should close it?
Is there a way to automate some of this? Using Tasker maybe, and a timeout, to close apps that are not recently used by me?



Answer




The people over at XDA-developers.com will tell you: you don't need a task killer!


Why? Well you see RAM only uses up energy when you change what's in it, so actually the act of 'cleaning' up costs you more than keeping it in memory.


The only apps I would recommend closing are those that require internet access and/or sync often. This includes various games, social networks and your email.


Update: I would add GPS apps to the list of ones you want to keep an eye on, although these generally have explicit "exit" options, and so don't require killing either.


For the rest, it's best to let Froyo decide for you!


What is the exact functionality of Google Play Services & Google Services Framework (gapps)?


Is there an official or unofficial description of what is the exact functionality of Google Play Services and Google Services Framework (gapps) apart from things related to the Play Store account-related functions?



From my understanding it includes at least:



  • GPS location

  • ads, tracking and stats

  • GCM (Google cloud messaging for push notifications)

  • everything related to managing Google accounts, services and Google user profile data.

  • apparently some machine learning pre-trained models for voice recognition, TTS, keyboard gesture typing.


What else?


The question came up after I noticed that for example the Google Podcasts app size is only about 300Kb and it won't work without gapps, so that indicates that some core functionality is already in gapps.



All the combined size of Google Services Framework + Google Play services is over 700MB — this is enough for an entire operating system. So what exactly does this code do?


Update: correction about the Google Podcasts app — I have identified that the tiny size of the app is explained by its dependency on the Google app and not just the GSF.



Answer



Google Play Services (com.google.android.gms) is an app which works in collaboration with a number of other closed-source apps to provide Google Mobile Services (GMS) to Android users. To quote a few of them are Google Ads, Firebase Analytics, authentication (of Google account login, saving credentials from other apps, through SMS), Google Cast devices, Game Manager, Drive, Cloud Messaging (push notifications), Google Fit, Location Provider, Maps, Instant Apps, nearby devices, search predictions, Google+, SafetyNet, Tasks, Wallet etc. Further details can be found here and here. Play Store (com.android.vending) provides additional APIs/services like In-App Purchases, App Licensing and Play Protect.


From your comment:



So is it only APIs for app integration, or is there also Google's internal proprietary code for analytics, usage tracking, metrics etc?



Developers can tell better, but AFAIU everything is proprietary except the API interferes. Google's own proprietary apps like YouTube, Chrome, Gmail, Maps, Gboard, Messages etc. rely on these APIs/services, and mostly refuse to work without GMS on device. In addition to those, OEMs are bound in contracts to ship their devices with Play Services pre-installed as system apps. App developers find it more convenient to build their apps with Google APIs. In fact many AOSP features are becoming dependent on Google's proprietary products unnoticeably. Quoted from here:




The Doze restriction on network access is also likely to affect your app, especially if the app relies on real-time messages such as tickles or notifications. If your app requires a persistent connection to the network to receive messages, you should use Firebase Cloud Messaging (FCM) if possible.
...
FCM is optimized to work with Doze and App Standby idle modes by means of high-priority FCM messages.



If you have GMS installed on your device, dumpsys activity services will usually show more than a dozen Google services running in background like MeasurementBrokerService, PersistentBoundBrokerService, ContextManagerService and GcmService etc.



Also, how is the functionality split between Google Play Services and the Google Services Framework?



There are a number of apps which work in background with Play Services like Services Library, Shared Library, Carrier Setup, Market Feedback Agent, Backup Transport, Config Updater, Contacts Sync, Partner Setup and so on. A more exhaustive list can be found here. Google Services Framework (com.google.android.gsf) is also one of these apps (sharing UID with com.google.android.gms) which is mainly about Cloud Messaging (FCM) but there isn't a clear line (at least officially spoken) between functionality of different components of GMS suite.


FURTHER READING:




Differance in installing a rom from a different country


What are the differences in ROMs that are from different countries? Like for the S4 GT-i9500 4.3, There are some many country versions. Is it just localization differences? or something at system level?



Answer




If you install different countries ROM, you will get some different app that follows in that country region.


Tuesday, December 15, 2015

rooting - How to flash root.zip in fastboot


I need to flash the root zip I downloaded from Chainfire without having to install recovery like Clockworkmod. I have fastboot and adb and that's what I used to flash 4.4.4. This is for my Nexus 7 2013 Wifi. I have to leave in under 20 minutes, could someone write the correct fastboot command to do this



Answer



Step 1: Unlock the bootloader; fastboot oem unlock This WILL wipe your device. Skip if already unlocked. Set up your device and put SuperSU.zip into it.

Step 2: Download the appropriate TWRP/CWM image for your device.
Step 3: Boot your phone into bootloader; adb reboot bootloaderwhile the device is on or hold the power button and the volume down button while the device is off.
Step 4: Make sure your device is detected by fastboot; fastboot devices
Step 5: Temporarily Boot into recovery; fastboot boot nameofrecovery.imgThis will only boot the recovery, not install it.
Step 6: Flash the .zip file using the recovery and reboot.


You will have stock recovery and root access.


Podcast app which supports old episodes well?


I am looking for a podcast player app which will let me subscribe to a podcast and listen to the earliest episodes first, eventually catching up to the current episodes.



I've tried Google Listen and PodCat, and neither one seemed to handle this case well. I don't want to install a paid app and start a 15-minute-trial until I know what to expect from it.


It should also be reliable at remembering the current position in a paused-and-ignored-for-a-while podcast, and download/delete automatically so I generally don't have to manage it except to actually listen.



Answer



BeyondPod ($7 but well worth it) will do everything you mentioned in your question. I have tried DoggCatcher and a slew of free apps and I've found BeyondPod to be the best.


You sort you podcasts from newest to oldest, or oldest to newest, or longest to shortest, or shortest to longest. You can also break them up into categories which I find helpful.


Also, it is very good at remembering you place. I regularly start one podcast then switch to another, then another and find that I can always return to the unfinished shows without losing my place.


There are also numerous autoupdate and auto delete options. You can set certain categories of feeds update on a certain schedule. You can set the auto delete globally, on the category level or at the podcast level, telling it to delete podcasts of a certain age, or tell it to only keep so many podcasts, or delete after listening. Its also easy to mass delete all "listened to" podcasts with just two clicks.


google play store - Is there any way to force market to update and install apps one at a time?


I'm having problems with my Samsung galaxy Captivate where whenever I attempt to update all the apps in market, every single app begins downloading and installing all at the same time and the result is always the same, it crashes (20+ simultaneous downloads and installs would definably overrun any system!).


Is there any way to set it such that android is only allowed to download and install a single app at a time? I want to be able to run the batch updates but I want them to be queued up as opposed to all running at once and overwhelming my system.




Monday, December 14, 2015

Can I connect an Android phone to an external monitor, keyboard and mouse?


Is it possible to somehow connect a monitor, keyboard and mouse to an Android phone and then use it as a lightweight computer (netbook-like)? If it is, what Android version / phone type support it, and how can it be done?


I know that 2 years ago, the guys behind REDFLY presented a proof of concept working with their terminal; but I've heard nothing else about it and a lot has changed with Android over the past 2 years.



Answer



Samsung have a dock for the Galaxy Tab which connects it to a pretty much full-size keyboard, and props the screen in a position where it's like a laptop's screen. There are also a number of Android devices that have a video or HDMI out capability to output their screen onto a TV, often needing a special converter cable.


Bluetooth is an option for connecting keyboards, KeyPro (AppBrain Link) (Official Website) andTeksoft Blueinput (AppBrain Link) (Official Website) load drivers onto your phone to let you use Bluetooth HID to connect up many Bluetooth keyboards (trial versions are free to test your device's compatibility, but it looks like if you want to carry on using it you'll have to pay to register to make it work fully). There are other options for loading Bluetooth HID (keyboard) drivers onto your phone if you root it.


Also, see these previous questions regarding connecting peripherals, such as keyboards and mice, to Android devices using Bluetooth.



From Android Honeycomb (Android 3.1) upwards certain devices, that have USB Host support built into their hardware, can attach and use normal USB keyboards and mice (with the appropriate USB host micro-USB to USB converter cable). I have occasionally plugged in used a keyboard this way on my Motorola Xoom.



5.0 lollipop - Images have disappeared from gallery, but still in "My Files" (Samsung Galaxy S6 Edge, 5.0.2)



I have a Samsung Galaxy S6 Edge (64GB) running Android Lollipop 5.0.2 which I've had since release day (April 10th 2015) and as the title mentions, there seems to be an issue in that my images are no longer displaying in the default gallery app. I also have quite a lot of music on the phone which doesn't display in the "Music Player" anymore. I'm not sure what causes the photos and music to disappear as it seems to be totally random. I can still see the files in the default file manager "My Files".


The first time it happened I thought that it may have been a glitch so did a factory reset and everything was fine again (although it does take about 3 hours for me to get the phone just how I like it). It then happened a second time a few days later and so I did another factory reset. When it happened the third time I was getting pretty annoyed and took it to my local Samsung Repair Centre where they said it was a software problem and they would have to reinstall Android and it would be sorted. However, 5 days later it happened again so I went back to Carphone Warehouse where I purchased the contract from and demanded a new phone as it had to be an issue with the phone as I couldn't find a record of it happening to anyone else and Samsung had already eliminated a software problem.


NOW, 2 weeks after I got a new phone IT HAS HAPPENED AGAIN! The images were there this morning and come this evening they have all disappeared from the gallery and again the music has disappeared. I've done nothing out of the ordinary with my phone today so cannot identify what has happened.


If I take new pictures on the camera, they appear in the gallery fine, but the old ones do not. If I look in "My Files" I can see that the old images are in the exact same location as the new photo that I've just taken... It's almost like they are hidden from the gallery. If I install an app such as QuickPic all the images are displayed in there, both new and old however I cannot use this for sharing images to facebook etc so it's not ideal.


The same applies to the music files that I have. If I look in "My Files" I can see them but they do not appear in "Music Player" which means that all my alarm tones have been set back to their default tracks i.e. "Morning Flower".


The screenshots below shows all the images that are currently in the Camera folder where only the top one appears in the gallery and only the top one is in the Images Category in "My Files".


enter image description here


I've had a play around with all sorts of settings, cleared the cache partition, clicked "Show Hidden Files" in "My Files" and rebooted the phone several times but there still seems to be an issue. I've also deleted the "Media Data" from the "Media Storage App" which emptied my gallery but on reboot didn't do a rescan (or at least didn't get any results). As it's an S6 Edge there is no SD card so it shouldn't be an issue with mounting the disk (although it wouldn't make sense since the new files are in the same location as the old ones).


I've managed to find a couple of people with a similar issue on AE but they've not had a response see here and here.


Is there some sort of debug log that I can create and upload to somewhere? Could it be a specific combination of apps that I've got since there are minimal people with the same issue?



I'd be grateful for any ideas as it's driving me insane!


Thanks in advance,


Adam.


EDIT: I've linked up my phone to the computer and run adb logcat but the log is huge and I'm not sure what I'm looking for. The following error appears fairly frequently:



< 6>[18330.193843] [6:MediaScannerSer:22775] binder: 3874:22775 transaction failed 29189, size 416-0



If there is a specific bit in the log that would be helpful, please let me know and I'll do my best to extract it.


EDIT 2: Is there a procedure that I can follow to create a bug report that I can then send to Google or Samsung?



Answer




Updated answer:


Check if you have a hidden file named .nomedia (double check also for uppercase name) on device memory (storage folder) and delete.


Go to Settings > Apps -> ALL -< Media Storage. Select Clear data + Clear defaults. Disable the App.


Reboot the device. Now enable again Settings > Apps -> ALL -< Media Storage. Wait a couple of minutes (so it should reindex files). I think all files should be now again in Gallery. Note: Do not try to run any rescan App, just follow the above steps.


Old answer:


The error you got in logcat is related to a specific function for processing/scaling up images. It is a known fact: Binder transaction buffer has limited and fixed memory (1MB). This buffer is used by all transactions and shared across process. For e.g., If you have a big number of large images files and some of them are corrupted (either by poor, bad transfer via computer and device, computer and SD card, and so on), or some of them are not recognized by your app (in your case Gallery), once this app tries to create thumbnails or previews for your files and actually scale down/up one of those files, the process may fail.


The same case must be with a number of files (like ringtones or .wav diles, or .ogg, or any type of music) which have problems either in content, size, signature.


Because you said the problem comes back, I suspect this kind of strange behavior from your apps. I don't even think to a bug in kernel or something like this.


So, for your own safety:




  • Try to put back all those files on your pc;

  • Clear from SD card/phone memory;

  • Verify in PC for the 'bad' files, then put back 'correct' files in your device.


Take in consideration this fact also: a .gif, .jpg, .png or whatever kind of image you have, may be rendered as 'correct' in your computer or device, but actually may have 'bad' content (disrupted content). Remember, all operation related to process images inside your Android device are based on compress/decompress them (for the most common operations) and those are made 'bit-by-bit' if I can say so. Forcing an app to render incorrect type or content (wrong height/width/file lenght) should outcast a TransactionTooLargeException (this is what MediaScanner throws in logcat).


settings - How can I get the first boot Android welcome screen again without doing a factory reset?


Is it possible to get the welcome screen again after going through it without having to wipe the device? I mean the screen where you pick language, configure your Wi-Fi, log into a Google account, etc.



I know all those things can be done from the Settings menu, but still, I want to get the welcome screen again, without having to factory-reset. The phone is rooted, in case it matters.


I want to make the welcome app start when switching the phone on, so I guess this might involve editing some config file which is read at startup.




root access - How do i open a text file from a terminal window from within the android gui



I'm trying to open a text file from within a terminal window emulator -- but not so it opens in the actual terminal but more like I've just clicked on it.


So my question is: What command can I use to open /mnt/sdcard/textfile.txt from a terminal window emulator from ROM Toolbox Lite within the Android GUI so that it will open with any one of my text editing applications? Will I need to run su before I can run what ever command? I'd prefer not to, but the device is rooted so I can run su.


Im using Android version 4.0.4




Sunday, December 13, 2015

keyboard - How do I remove an incorrect word from autocorrect?


To begin with, I've tried in futility to search everywhere else on the internet to fix this, so I'm asking here now.


I have a Nexus 4 running Android 4.4. Sometime within the past year, DONT started appearing as a word in my autocorrect options. IIRC, it began appearing immediately after an OS upgrade (I'm thinking the 4.3 release).


Screenshot:


enter image description here


I do not have DONT in any user dictionaries on the device. I have exhaustively searched all user-level language/dictionary settings and cannot find this anywhere. It's really annoying because it takes over the default correction of don't, so I just end up looking stupid.


(Here is my personal dictionary listing [one item redacted]):


enter image description here


If DONT were here it would be between Catan and Dropbox


Is there some other/hidden location where dictionary/replacement text gets stored? And/or does anybody have another suggestion for how to get this stupid word removed from my device?




Answer



I fixed it! The trick was to clear the cache and data for Google Keyboard.


Settings => Apps => ALL* => Google Keyboard => {Clear Data, Clear Cache}


* Be sure to go to ALL instead of RUNNING. The instance under RUNNING will not give you the correct data clearing options.


adb - Best Practise for deploying a 'clone' image across 200 android tablets (Samsung GT-P7510)


My objective is to be able to create a master 'image' of an android tablet, and then duplicate that image across about 200 identical tablets to streamline the administration of a university's pool of loan tablets (e.g. to roll out updated/new apps, to 'clean' them when they are returned, etc.)


What would be the best way to do that?


(I've seen a number of posts around the subject, using nandroid backup, adb, zen toolkit, and so forth, but all rather old and nothing definitive)





  • Currently the tablets are Samsung Galaxy 10.1 (GT-P7510) running stock Android 4.0.4 - but it'd be nice to have a procedure that ought to work if these are replaced by some other tablets.




  • The tablets aren't currently rooted, but could be if that made things much easier. It'd have to be a real advantage, though, as that might compromise the warranties on future new stocks of tablets.




  • These tablets don't have external SD storage, but it'd be great to have a process that would re-initialise ALL aspects of a tablet, even if it did have external (or ancillary internal) SD storage.





  • I'd ideally like to create/document a procedure that someone in basic first-line tech support could follow.




  • If it could avoid having to buy 200 paid app licenses, then that'd be great too :)




I'd appreciate any pointers you folks could give on how best to do this: I would imagine with android tablets becoming much more popular over the past year, that there must be corporations, education establishments and the like doing this...




Why is custom recovery a prerequisite for flashing a custom ROM?


I have read in many guides that before flashing, we need to have a custom recovery like CWM installed. I am not able to understand why is this a prerequisite for flashing a custom ROM. Can I flash a ROM without custom recovery?



Answer



Stock recoveries usually check the update.zip file being flashed for a specific signature that is only known by device's manufacturer and/or carrier. You cannot therefore flash custom ROMs on stock recoveries, hence the need for a custom recovery which bypasses said check.



settings - How do I change the time zone (which is disabled) in Honeycomb on a Samsung Galaxy Tab 10.1?


When I first turned on my Galaxy Tab 10.1, I told it to automatically set the time. Unfortunately now the time zone is set to GMT+00:00 in the Date & time settings, and is disabled (so I can't change it). How do I enable the time zone setting so I can change it?



Answer



I downloaded a free app called TimeZone Changer to fix this problem. Still don't understand why Samsung disables this.


Saturday, December 12, 2015

insufficient memory - How can I move apps to SD on non-adopted Marshmallow storage?



Everyone seems to be getting excited about Marshmallow's adoptable storage feature, but to me it seems like a major regression. There can be several reasons for not adopting external storage:



  1. When upgrading from Lollipop, I already have an SD card full of stuff. So re-formatting it and erasing everything in order to convert it to adoptable storage is a major disincentive. That would require transferring many GB of data off the device, re-formatting, and then transferring it back on, and I'm not sure how to do that in a robust manner or whether it's even possible, since adopted storage probably stores stuff in different ways.

  2. My SD card might be too slow for it to make sense using it as an extension of internal storage.

  3. I want to be able to use my removable SD card in other devices (e.g. quickly transferring huge video files to a laptop).


Based on these reasons, if I don't adopt storage, AFAICS that means that apps can only be stored on internal memory. And since I have a lot of apps, that means that since the Marshmallow upgrade, my device is regularly close to full, causing lots of functionality to break.


So is there really no way to move apps to non-adopted external SD storage on Marshmallow? If so, do I have any alternative besides uninstalling apps to free space, or downgrading to Lollipop? If not, this would be hugely disappointing and suggest that Google really didn't think carefully enough before providing this feature.



Answer



You are correct. Android Marshmallow has done away with apps being on the SD card when it's setup as portable storage. The only way to use it in that way is with root and apps like LINK2SD.



unrooting - Root detection by server or app


Many banks and video streaming services don't allow root on Android devices.



My question is



  1. Is it the app itself that detects root and refuses to work at some stage (for example by refusing to call the associated internet service)?

  2. Is it the internet service that somehow directly or indirectly probes your device to see if it is rooted and if so instructs the app to disconnect or display some error message?


I guess this might interest people for which the app Hide Root doesn't work with some service providers.




4.0 ice cream sandwich - Internal storage, phone storage and SD card


I am new to Android (v4.0.4) and trying to understand it.


By looking at the storage setting, I found the followings are listed:



  • Internal storage: total space 807MB


  • Phone storage: total space 1.98GB

  • SD card: total space 14.91GB ---- I put it in, a 16GB SD Card


Manufacturer says that it is a 1GB RAM + 4GB ROM phone.




  1. I am thinking that the Internal Storage and Phone Storage come from that 4GB ROM. Am I right? If I am right, where does another 1GB ROM go?




  2. It seems the Internal Storage is not available for me to install. It only list Phone Storage and SD Card as available locations. That Phone Storage seems not big enough for the life to install all apps on it. If I use SD Card as the location to install apps, the backup/recovery cannot include SD card. How you manage your phone's storages?







4.1 jelly bean - mounting google nexus s on linux at fastboot mode screen


I have looked at similar questions but could find an answer.


Device: Samsung google nexus s i9020

OS: Android 4.1.2


The phone mounts when the OS has loaded and when there is an option to enable usb storage.


I am trying to root my phone and boot loader is locked. I need to connect to my computer (Linux Mint) to run a program to unlock the boot loader. for some reason, the phone does not get mounted automatically anymore.


log from a previous successful mount on OS load


Apr 13 20:20:25  kernel: [   93.795791] usb 1-1.1: >new high-speed USB device number 4 using ehci_hcd
Apr 13 20:20:25 kernel: [ 93.889485] usb 1-1.1: >New USB device found, idVendor=18d1, idProduct=4e21
Apr 13 20:20:25 kernel: [ 93.889489] usb 1-1.1: >New USB device strings: Mfr=2, Product=3, SerialNumber=4
Apr 13 20:20:25 kernel: [ 93.889493] usb 1-1.1: >Product: Nexus S
Apr 13 20:20:25 kernel: [ 93.889496] usb 1-1.1: >Manufacturer: samsung
Apr 13 20:20:25 kernel: [ 93.889498] usb 1-1.1: >SerialNumber: 3630F20CB6EF00EC

Apr 13 20:20:25 kernel: [ 93.951562] Initializing USB Mass Storage driver...
Apr 13 20:20:25 kernel: [ 93.951755] scsi6 : usb-storage 1-1.1:1.0
Apr 13 20:20:25 kernel: [ 93.951876] usbcore: registered new interface driver usb-storage
Apr 13 20:20:25 kernel: [ 93.951879] USB Mass Storage support registered.
Apr 13 20:20:25 kernel: [ 93.955427] usbcore: registered new interface driver uas
Apr 13 20:20:26 kernel: [ 94.951743] scsi 6:0:0:0: >Direct-Access Google File-CD Gadget 0000 PQ: 0 ANSI: 2
Apr 13 20:20:26 kernel: [ 94.953211] sd 6:0:0:0: >Attached scsi generic sg2 type 0
Apr 13 20:20:26 kernel: [ 94.955200] sd 6:0:0:0: >[sdb] Attached SCSI removable disk

log from an unsuccessful usb mount during fastboot mode



Apr 13 22:33:07  kernel: [ 8051.407340] usb 1-1.1: >new high-speed USB device number 9 using ehci_hcd
Apr 13 22:33:08 kernel: [ 8051.500735] usb 1-1.1: >New USB device found, idVendor=18d1, idProduct=4e20
Apr 13 22:33:08 kernel: [ 8051.500743] usb 1-1.1: >New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 13 22:33:08 kernel: [ 8051.500748] usb 1-1.1: >Product: Android 1.0
Apr 13 22:33:08 kernel: [ 8051.500752] usb 1-1.1: >Manufacturer: Google, Inc
Apr 13 22:33:08 kernel: [ 8051.500756] usb 1-1.1: >SerialNumber: 3630F20CB6EF00EC
Apr 13 22:33:08 mtp-probe: checking bus 1, device 9: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1"
Apr 13 22:33:08 mtp-probe: bus: 1, device: 9 was not an MTP device

fastboot unlock software waiting for the phone



~/android/nexussrootICS$ ./fastboot-linux oem unlock
< waiting for device >

Can someone suggest how could I mount (manual/automatic)? Thanks



Answer



To my knowledge, in fastboot mode you cannot mount the device to your PC. MTP and fastboot are two different things.


According to the CyanogenMod Wiki on Fastboot, the solution might be simple:



If you see at any point when executing fastboot command, the PC is not configured to use fastboot properly. Most typically, this is because you are not running fastboot with elevated privileges.




Which means: you must run fastboot as root user, e.g. sudo fastboot devices or sudo fastboot-linux oem unlock.




If that does not solve your issue, it might help to take a look at the steps necessary to use the adb command line utility: For adb to detect your device, you need to have setup a corresponding entry in your /etc/udev/rules.d. First run lsusb to check how the device identifies itself to the system. These data you can also take from your above quoted log: idVendor=18d1, idProduct=4e20 is the information we need. Now, the corresponding entry in /etc/udev/rules.d/51-android.rules should look like:


SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e20", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"

Save the file, and reload the udev service (service udev reload). Re-connect your device. Now adb (or, in your case, fastboot) should be able to find it. You can check that using the command adb devices (or fastboot devices), which now should list your Nexus S.


samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade

I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...