Thursday, October 31, 2019

Is there any way to sign into Google Play without also signing into Gmail?


I have an android tablet. I would like to sign in into the play store in order to get other apps, but I do not want to sign in gmail/contacts/calenders/g+ etc. This device will be shared among multiple people and I want to keep my information private.



The mere ability to turn of syncing with gmail is not enough - it can be trivially turned back on without a password. And in the time it takes to turn off gmail sync, a fair bit of email still gets synced to the device. I can't find a way to remove it, without also signing out of Google Play.


On iOS, the app store credentials are separate from iCloud credentials, so this isn't a problem.


Is there any way to sign into Google Play without also signing into Gmail?




stock android - What is meant by the Nexus S being a "developer Phone"?


I have heard lots of times that the Nexus S is a "developer phone". What exactly does it mean?



Answer



It primarily means that the boot loader is unlocked so it is much easier to upload ROM's for testing. Additionally the default installation will be the original AOSP version of the code and include root access to the phone's software.


It does not mean that the hardware is a "test" model. It's a fully developed phone. What it doesn't have is more important than what it does have. What it doesn't have is the additional locks and proprietary junk that a carrier modified phone normally has.


Not all files are visible over MTP


I have LG L5 (e610 model) device with Cyanogenmod 10. When I connect the phone to a computer with Linux (I have mtpfs installed), I can see both internal storage and the SD card. However when I navigate inside them, I can't see some of the files.


For example, if I open file manager app on the phone, I can see several files in the Internal storage/Notifications directory, however the directory on the computer only shows one of those files.


If I switch USB connection type to PTP (camera) - as OS X doesn't support MTP natively - Image Capture sees the phone as a camera, however it can only see about a third of all the images present on the phone.



I don't have a Windows machine to try, but I suspect the results would be similar.


I tried upgrading Cyanogenmod to the latest nightly, clearing and reinstalling it - same results. Any idea as to what is going on? How can I make all files appear on the host computer?



Answer



This is apparently a known bug in Android which is not even acknowledged by Google since Oct 2012, bug #2 — depending on the method of creating files on the Android device, these files may remain invisible when accessing the device using MTP, until the device is rebooted.


Known workarounds include:




  • Use USB storage mode instead of MTP, if it is supported by the phone. This is apparently not an option for LG Optimus L5 (e610), because this phone has unified internal storage (file storage is in /data/media on the same ext4 filesystem as /data), which cannot be exported as an USB storage device.





  • Clear data of the “Media Storage” app, then use the SDrescan app to rebuild the media database (discussed here).




  • Share files over the network using third-party apps such as AirDroid or one of Samba server apps (in the latter case you will need to have root to make the server reachable from most clients, including Windows).




Wednesday, October 30, 2019

terminal - How to get hardware specs of Android device?


How can I find information on the hardware of my Android device like processor architecture, RAM, etc?



Answer



Android System Info is a free app from the market which will tell you more details about your phone than you ever wanted to know. It has all the details you want about your CPU and Memory and much much more.


Install it, start the app and check the System tab for all the information you are looking for.


Cannot get Lynx browser to work


I downloaded a compiled lynx binary from XDA and everytime I start lynx it tells me that it is unable to connect to remote host. I changed the lynx.cfg to use localhost and it loads, but when I enter an URL, nothing. I tried it with 3G, 2G, and WiFi, and had no luck. What should I do to get it work?




Tuesday, October 29, 2019

imei - Where can I find the ANDROID_ID on my device?



I know that you can find IMEI and MAC address and others by going to Settings -> About phone -> Status. You can also find IMEI by typing *#06# on the keypad. Is there any way to get the ANDROID_ID on the phone itself, as opposed to via this bit of code?


Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);

Answer



There is no where in the stock system that provides the ID, however there are apps that will provide it, such as Android System Info.


Some stock ROMS hidden menus also contain this info.


Monday, October 28, 2019

rooting - How to root Doogee Voyager2 DG310 & other mt6582 Devices (permanently) with EngMode?


Using the Mediatek mt6582 SOC Engineering Mode available on the Doogee Voyager2 DG310, with the Debug option User2Root an adb daemon running as root becomes available temporarily.


This will need USB Debugging enabled in the Android Settings.


To access the Engineering Mode on this MT6582 use the Dialer to call a KeyCode:Access Engineering Mode on MT6582 (You have to enter another * to launch the Eng-mode)



The Log and Debugging-Tab:


MT6582 Engineering Mode Log-and-Debugging Tab


Choose User2Root:


enter image description here Click Root: enter image description here


If you were previously connected with an ADB User Shell, it will by terminated. Opening a new adb shell will get you an adb root prompt. Until the next reboot.


So far so good. With the (temporary) root prompt available, a generic Android 5.X rooting guide should apply now.


I tried:



  • Downloading the latest Koush OpenSource SU-package from F-Droid

  • Extract su from the APK and adb push it to /sdcard/Download/


  • adb push the APK to /sdcard/Download/

  • Login as root with adb shell

    • Remount /system Read-Write

    • Copy/move su to /system/bin/

    • chmod 4755 /system/bin/su

    • chown root:shell /system/bin/su

    • Remount /system Read-Only

    • Attempts to run su result in this: error: only position independent executables (PIE) are supported.




  • Installing the APK before, or after attempting to run su succeeds, but complains about the su binary being out of date.


So, where would I find a newer, clean, "PIE" su binary? Or am I going about this the wrong way, and there is a newer 'Generic 5.X Temp-Root to Perm-Root' Procedure?




4.4 kitkat - Battery draining fast because of Android System


I'm on a HTC Droid DNA with 4.4.2, not rooted. My battery is going down really fast. When I look in power settings it shows that the main offender is Android System with 92% of power usage. I know that android system is a collection of apps, so how do I figure out which ones are doing this?


It's only been bad like this for the last few weeks. Before that I usually had no problem making it through the day.


I'm hoping there is a way to find the culprit without having to guess.
Since it may be more than one sub system at fault, and since there isn't an easy way to determine battery usage outside of controlled conditions, I don't want to have to shut off a system, wait a day to see if it seems like things have gotten better, and then move on to the next one, hoping to divine the correct sequence by chance, while taking normal usage into account.


I'd try Better Battery Stats, but I don't think it will work right since I'm not rooted.




4.0 ice cream sandwich - Setting alarm on with a single click


I'm looking for a way to set an alarm on my android 4.0 phone with Nova Launcher with a single click. An ideal solution for me would be: I install an alarm clock app (if necessary), create alarms in it and save them with aliases (for instance 5:30-"gym", 6:30-"sleep in", 7:30-"weekend"), then the app creates 3 shortcuts with respective aliaces or it shows a widget with these three options and I place those on my home screen. So when I finally decide whether I want to go to the gym tomorrow or not, I just unlock the phone and click the corresponding button - clean and simple. Let me know if there's a solution that might work. I'm even willing to try another Launcher, if one of them has it. Thanks!




How can I install flashable zips in Android-x86


I have recently started running Android-x86 version 6.0-RC1 on my iMac, and I am considering making it on of my several daily drivers. There is one major issue however that is casting some doubt: I cannot seem to find a way to install flashable zip files. I have looked into a custom recovery, however apparently the directory structure of Android-x86 is too different from that of its mobile-device counterpart to run or even install one directly. I have attempted to use Chainfire's FlashFire, however it unsurprisingly does not work for similar reasons to the last method.


I've read on a very short conversation in the XDA-Developers forum discussing this topic that a recovery would be relatively unnecessary because "you could simply use a lightweight Linux distro as a recovery". I am assuming from the wording that you would do this by booting a small Linux distro on the same machine, mounting the main image for Android-x86, extracting the flashable zip and running the install script contained within, however I am entirely unsure as to whether or not this method would work in practice, as I cannot find any more info on it.



I need the ability to flash a flashable zip file as it is the only way as of current aside from using a custom recovery to install the Xposed framework on android, upon which I rely heavily for everything from personal conveniences to more manually configurable security functions to ease of development. Given Android-x86's inherent compatibility with virtually anything compiled to run on an Intel Atom or Celeron based android device the lack of Xposed is the one factor stopping me from being able to attempt custom ROM development, as well as starting to port several already under development projects that have been until now exclusive to BSD/Debian distros over to rooted Intel based android devices.



UPDATE: I've managed to mount the Android-x86 fs from a live GParted CD, and chroot to it, but when running flash-script.sh it starts the installer, and output the following error log:


******************************
Xposed framework installer zip
******************************
-Mounting /system and /vendor read-write
/tmp/META-INF/com/google/android/flash-script.sh[102]: can't create /dev/null: No such file or directory
/tmp/META-INF/com/google/android/flash-script.sh[103]: can't create /dev/null: No such file or directory
/tmp/META-INF/com/google/android/flash-script.sh[104]: mount: not found

/tmp/META-INF/com/google/android/flash-script.sh[105]: can't create /dev/null: No such file or directory
-Checking Environment
/tmp/META-INF/com/google/android/flash-script.sh[112]: head: not found
/tmp/META-INF/com/google/android/flash-script.sh[112]: sed: not found
/tmp/META-INF/com/google/android/flash-script.sh[114]: cut: not found
*Continues till line 121*
Xposed version:
! Wrong platform: arm
! This file is for:
! Please download the correct package

! for your platform/ROM

Now I'm assuming the reason this happened is that the Linux version I'm using is too lightweight and doesn't include the required programmes, however that does not explain the fact that the error log reports the system as ARM and claims the x86 version is incorrect for my platform given that I'm running a copy of Android-x86, so if anyone has insight, please supply!




How can I set a custom screen resolution for my Android TV box?



I am trying to use a new-ish Android TV box with an old projector. The devices in question are an M8 Android media player and an Optoma EP719 projector.


https://www.amazon.ca/gp/product/B00KNL4GLK http://www.projectorcentral.com/Optoma-EP719.htm


The media player is connected to the projector through an HDMI to DVI adapter. The media player is rooted and I have adb access to it over the network. It is running Android 4.4.


The problem I am having is this:


android media player home screen on projector with part of the image duplicated on the right


Part of the image is repeated on the right side. This does not appear in screenshots. I believe this is due to the 16:9 aspect ratio of the resolution. Technically this resolution should work, but in any case my preferred solution (and I hope the easier one) is to set the resolution to 1280x1024. I know this works with my raspberry pi already, though I have a similar distortion when trying to set it to 720p resolution.


The problem is, I can't seem to set the resolution to this value. I am able to select resolutions by going to Settings > Display, toggling HDMI auto-detect off, and picking from a list of HDMI resolutions but neither 1280x1024 nor any other resolutions commonly available for monitors but not televisions are listed. I can choose, e.g., 480p, 720p, and 1080i all of which should work with this projector, but all cause some manner of distortion (usually stretching one side of the screen way out instead of duplicating it).


I've tried to manually set the resolution with a few different apps and via the CLI with wm size as in the related question Change the screen resolution to 1024x768 on Samsung Galaxy S3. This causes the screen to become much smaller than it should be, occupying only a small portion of the screen (e.g. the top left quarter).


I've also tried setprop hw.hdmi.resolution 133 (with 133 being the code for the 1280x1024 resolution, I think) then disconnecting and reconnecting the adapter as suggested in the other related question How to change external screen resolution?. That didn't work either.


Is this possible and, if so, how can I do it? Getting the projector to handle 1280x720 resolution would also be acceptable but I am not sure whether that's a problem on the projector end or the device end.



EDIT: I tried flashing the media player with an OpenELEC image. The same issue occurred even with Kodi's resolution changer. For some reason, it insists on detecting the device as 16:9 even though it reports itself as 4:3.




Sunday, October 27, 2019

stock android - Nexus 7 32GB showing 8GB after flash


I had the no command boot loop when trying to enter recovery so I used the nexus root kit to reflash everything which did fix the problem and after a few days of use I noticed that there's only 8GB's available to me now. I presume that this is from the flashing as I had 32 before. To unlock/recognize my memory which part of my nexus will I have to reflash?


Model: Nexus 7 (2012) mobile 32GB




Answer



I found the solution to getting the correct size wasn't from the hardware identifying the wrong size, but the partition of the /sdcard/ being the wrong size. I solved this by formatting it with Clockwork. I lost my app data, but most apps remained installed.


Saturday, October 26, 2019

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?




What is the Android Permission "WRITE_GSERVICES" doing?


There is a mysterious and undocumented Android Permission called: WRITE_GSERVICES. As usual Googles own documentation is even more mysterious than any bad fairytale, writing:


android.permission.WRITE_GSERVICES      Allows an application to modify the Google service map.


However Googling (!) for Google Service Map yields nothing useful.


What is it controlling and what is it used for?



Answer



Note this permission is almost completely undocumented, hence we need to feel our way to its real meaning. So this is in no way an "authoritative answer" – but more or less something between a "good guess" and a "deduction from other pointers".


The official description for this permission (as said, there's no further documentation) is:



Allows an application to modify the Google service map.



So now we can guess what that's supposed to mean. Let's do some "reverse engineering" for that to feel our way into it. Ryan already gave some pointers in his comment, linking to two SO questions:




Reading between the lines: Whenever an app wants to use (parts of) the Google Services Framework, it must declare the READ_GSERVICES permission required – which is pretty much similar to requiring GET_ACCOUNTS if you want to USE_CREDENTIALS: the app first needs to ensure the required service is available at all, before accessing it.


This gives us an idea of what the Google Service Map must be: some kind of index for available (installed) Google Services.


Now that we discovered that, we can make a good guess what the WRITE_GSERVICES permission might be intended for – and why it is protected by the system protection level (meaning, it's only granted to "system apps" – i.e. those integrated into the ROM, which is being installed on the /system partition): If READ_GSERVICES is intended to figure out which Google services are available, WRITE_GSERVICES must be its counter-part to update that service map. Which is e.g., whenever a new service was installed (or removed), to update the "index of Google Services available on the device" – the "Google Service Map".


Just one thing I wonder in this context is, why this permission belongs to the ACCOUNTS group




See also:



backup - Is it possible to migrate apps and their data from one unrooted Android phone to another?


I would like to migrate apps and their data from one phone to another without too much faffing around, like:




  • rooting (very convoluted device specific process with a lot of ambiguity around it and often involving running closed source software from random vendors that you have to believe does the right thing),

  • using app specific backup export/import facilities if at all exist (too manual, seems the only option though).


I am ok with:



  • using a PC to help facilitate the process,

  • manual copying/pasting files (within reason).


Ideally, I would like to have a process that works something like this:




  1. select apps that I would like to have in their current state on the other phone,

  2. bundle them together and store somewhere (external SD card or PC),

  3. put that bundle on the other phone and somehow install and recover their state.


A bit like PortableApps works.


So far I have tried :



  • Super Backup - unfortunately, like many others, requires rooting,

  • Helium - seemed promising but Helium has never been, nor ever will be, compatible with any device running anything less than Android 4.0 and it does not work on certain phones.


  • App Backup & Restore - Q: Does it backup data of apps? A: No, currently it only backup the apk files of apps.

  • and skimmed through a number of articles including this one (looks like even if I was willing to root I would have a hard time).



Answer




Helium has never been, nor ever will be, compatible with any device running anything less than Android 4.0



First things first: What you want cannot be achieved on not-rooted devices running a lower version of Android. Only with ICS (4.0), permissions of the ADB daemon have been alleviated to enable this (see: Full Backup of non-rooted devices).


For compatibility: What Helium does directly on the device, can be achieved from a computer connected with the device via USB, using the ADB tools: You can use the adb backup and adb restore commands, as described by answers to the linked question. There should be no compatibility issue, as long as your computer recognizes the device.


I have just had a similar issue: My main device needed to go for repair, so I had to migrate stuff to one of my "backup devices". Completely different brand, even different Android version. The above mentioned worked fine (working app-by-app, only "moving in" those ones I required). Just to ease the process (which I might need once more, or others might need), I wrote myself a little helper: If you're using Linux (or some other *nix coming with Bash), you might wish to take a look at Adebar – which not only creates you the scripts needed for backup/restore, but also to "re-freeze" apps you might have frozen on the original device, and additionally creates you a little "device documentation". Feedback welcome – and again the disclosure: I'm the author of that script.



Friday, October 25, 2019

bootloader - Troubleshoot fastboot error 'remote: ' command not defined



Device: iMX 7ULP evaluation kit


Platform-tools: r28.0.3


Image: O8.1.0_1.4.0_ANDROID_TOOL_7ULP_GA (ARM 32 Android 8.1)



I used the image provided by nxp website on the device. Then I tried unlocking it.


According to a tutorial, I used adb to bring the system in bootloader via



> ./adb reboot bootloader

The device goes to the splash screen and stop there (Not sure if that's how it should be). adb does not recognize the device anymore and fastboot fails on any command as fowllows


> ./fastboot.exe oem unlock
FAILED (remote: ' unlock device failed.')
fastboot: error: Command failed

> ./fastboot oem device-info
FAILED (remote: ' command not defined')
fastboot: error: Command failed


> ./fastboot flashing unlock
FAILED (remote: ' unlock device failed.')
fastboot: error: Command failed

How can I troubleshoot that and unlock the device?




Managing calls between carrier number and Google Voice, using GV as primary



I'm looking for the best way to set-up/manage my calls between the carrier # and Google Voice as I use both.


I'm using a Samsung S4 on VZW (however I would prefer to use phone/Google Voice/app to manage rather than rely on VZW settings)


I have certain calls go to Google Voice and the rest go to carrier. The problem is that the 'other' calls are many and I was sick of hearing my phone ring all day when I only want to receive those calls at specified times. Part of my solution was figuring out how to set-up call blocking on the S4 (last phone was a Thunderbolt and as far as I knew this wasn't in the settings)


My big problem now is that every blocked call ends up going to my Voice-mail and a lot of them have automated recordings so my inbox is filling up. I'd like to find a way to block all carrier calls, and not allow them to forward to my Google Voice inbox for Voice-mail on a specified schedule.


e.g. Block all calls/VM's M-F 1am-1pm




gps - How to get maps for off-line usage?


I spent almost entire day looking for decent apps for maps (decent = free, up to date, being open-source is a plus).


I ended up with TrekBuddy, GoPenS, RMaps, Maverick, OruxMaps (the emphasized ones look the best, in my opinion).


However, now I have another problem -- how to prepare maps for those apps (please help me with one, and hopefully I will manage the rest) for off-line usage?


I would like to go on a ride, pick up the phone somewhere in the forest and see on the map where I am. For now it works only with internet connection, but without it I have a huge-scale map and after zoom-in blank space or "loading" icon.


In short -- QUESTION -- how to feed phone/apps with maps, so I could zoom-in/out map freely when I am in the wild (offline)?


I would like avoid tricks like relying on caching -- so "solution" to scan interesting region with all possible scales and in such case acquire off-line version of the map is a no-go!


Clarification: I am not looking for another app (however thank you for the hints/links), I am looking for maps (data). I want to get map from on-line version (which are automatically downloaded) to off-line one.



Answer




OsmAnd (on Play store or F-droid.org (version is sometimes a little behind)) has those features:



  • Fully open source

  • Fully offline (w/ option for some online features)

  • Play Store: Limited to 16 downloads (free) or costs ~6EUR (for funding)
    (build it yourself or use a nightly build if don't want to pay or use the free one)


  • Offline vector maps:





  • Online tile-based maps (data-caching plugin for GMaps/Bing/Yahoo/ and 25? others)

  • OSM integration (bug report, GPX uploads, live editing)

  • Voice guided offline navigation

  • GPX tracking


The unlimited app (in Google Play) costs a small fee (around 3EUR) to fund the project. Please consider buying it once you tested the free version and like it and don't just leech the nightly if you don't just want to test the bleeding edge features. You can of course also build your own (its FOSS).


in-app offline map downloade


ram - How to lower OOM value of an app permanently?


I am not challenging Android's memory management technique (like killers do). I just want to give an app higher priority even when it's not in foreground or visible (with notification).


AutoKiller Memory Optimizer is able to do it on rooted device, but the change lasts for few seconds if I multi-task.


I want to do this permanently: perhaps running a background daemon to do change continuously should work. How to do this?




Thursday, October 24, 2019

camera - Why doesn't my Samsung Galaxy S Captivate have self shot mode?


I just bought my Samsung Galaxy S (Captivate). My self shot mode is missing from the camera options. How do I get it? What should I do?




Wednesday, October 23, 2019

mobile network - Why proxy set on Android does not work when used as hotspot?


I am setting the proxy in APN settings of my mobile network in below shown screenshot:



It works well. I verified via whatismyip. However, when I enable the hotspot on the device and use this hotspot on another device and check IP from it, it shows my original mobile service provider IP and not the proxy IP.


Why such behavior if the hotspot is supposed to use the mobile network and the proxy is set in APN for it? How can I make proxy work on device using hotspot as well?


Note: I do not want to set proxy under advanced setting on other device wifi option while choosing this hotspot. The app that I am trying to use detects proxy set under wifi so this is my only option.




Tuesday, October 22, 2019

How do you set up internet pass-through (reverse-tether) on linux?


I have an HTC Desire S that has the option to connect through usb, and use the computer's internet connection. This works fine on Windows, but I'm struggling to set it up in Ubuntu. When I plug in and select internet pass-through from the usb menu, the usb1 device is created and I can ping it's ip address. I have tried various iptables configurations and setting up nat, but I'm not sure if I'm doing it right, or if there needs to be some additional configuration...


Thanks for any help.



Answer



The following works for a while, but only for the browser.


When you plug in your phone via usb and choose Internet pass-through, you should get a new RNDIS device (usb0 or usb1). For ubuntu, edit /etc/network/interfaces and add the following lines:


iface usb0 inet dhcp

iface usb1 inet dhcp

This will assign an IP automatically when the device is added. If a network address is not assigned automaticly to usb0 or usb1 you have to do it manually.


Then you need to set up NAT on your linux computer. Something like:


sudo iptables -A POSTROUTING -t nat -j MASQUERADE
sudo echo 1 > /proc/sys/net/ipv4/ip_forward

You also need a DNS server:


sudo apt-get install bind9


This works for a few minutes, but after a while the phone gives up looking for HTC Sync and disconnects.


For rooted phones


You can connect permanently if you have a rooted phone (fre3vo worked for me). Execute the following with adb.


Enable usb mode for network and adb:


adb shell echo 6 > /sys/devices/platform/msm_hsusb/usb_function_switch

Assign an IP to the usb0 device on the phone:


adb shell ifconfig usb0 192.168.99.5 netmask 255.255.255.0 up

Add a default route. The IP should be the IP assigned to usb0 in linux:



adb shell route add default gw 192.168.99.1 dev usb0

Set the DNS server. This is google's open DNS server, but it can be the IP of your linux computer if you have a DNS server:


adb shell setprop net.dns1 8.8.8.8

Monday, October 21, 2019

wi fi - How does Android determine if it has an Internet connection?


My Nexus 10 (Android 4.4.2, unrooted) is not playing nice with my wireless network. Although it can connect and I don't have any problems browsing the web, for some reason Android thinks that it doesn't have an internet connection. As a result, the wifi icon in my Quick Settings is dimmed to orange, and, more importantly, apps seem to be unable to check for updates in the background (e.g. I have no problems opening Gmail and manually checking for mail, but Gmail won't give me notifications while running in the background until I'm on a different network).


This issue usually only happens on one particular wireless AP in my house, so I believe the problem lies with that AP rather than with Android itself. But I don't know how Android determines whether or not it has an internet connection, so I can't do much to try to solve the problem. I've heard that Android checks with Google services to test for internet connectivity, but given that I'm not having trouble using Google services otherwise, I don't know what the problem could be (well, the YouTube app seems to take an unusually long time to load video metadata, but that might not be related).


So, exactly what does Android do to determine whether it has internet or not? What might be causing that check to fail while not affecting anything else? Thanks!



Answer



When the data indicator is orange (on Kit kat ; grey on older versions), this means that the device is unable to receive a response from GCM (Google Cloud Messaging, the framework that handles push notifications). This traffic is sent through ports 5228, 5229, and 5230. If the AP is blocking or interfering with traffic on those ports, push notifications won't work and the data indicator will be orange. Manual refreshes and other Internet traffic will still work fine if the ports used for those transmissions (80, 443, etc.) are not blocked.


xiaomi - Remove App icon background


enter image description here


I have a Xiaomi mi5 (MIUI 8) and I would like to remove the white background of these icon but I don't know if It is possibile



Answer



https://drive.google.com/file/d/0B9BY9VLrcBPjNjY3eXhkQ25aMHM/view


From above link download a .mtz file(theme file) and apply that theme.



You need a designer account to apply third party themes


Signup for designer account at http://designer.xiaomi.com


It takes 24 hrs for designer account verification.


When should I start charging my Lithium battery?


The comments in this question say that I shouldn't wait until low battery charge level before I charge, because that reduces battery life (this is contrary to my understanding before that the faster we charge (without waiting for battery to discharge) the worse it will be for battery life). My question is, when I should generally start charging to avoid this effect? 20%?


Interesting question: If we always limit the usage of the battery only 20% and above, won't we, in effect, reduces our battery capacity to 80%, because we will only use the battery in 20%-100% state?



Answer



As soon and as often as you can. Spending time at any extreme of charge (high or low) can damage lithium batteries. High charge isn't that bad, considering how quickly modern devices will drain away from that state. Spending time at lower charge levels will damage the internal structure of the battery though.


Draining to "0" on the device won't actually immediately kill the battery though -- the battery protection circuitry will prevent it from going down to critical levels. But the more time you spend at lower charges, the more cumulative damage you do and the more time you take away from the lifespan of the battery. Do the best you can to avoid this, and you'll likely have a battery that still gives you 70-80% of it's life by the time the device is considered obsolete.



samsung - Does flashing stock ROM via Odin delete phone data?


So my Galaxy S6 is stuck in a boot loop and I've literally tried EVERYTHING already and nothing will solve the problem. Safe mode won't work, clearing the cache partition won't work and USB Debugging was turned off so adb wasn't seeing my device either. I also tried Kies and Smart Switch. I am convinced my phone is soft bricked and I need to recover some very important pictures and files from it. At this point my last hope is to flash the stock ROM via Odin and I saw that some people have said that they have successfully done this without losing any of their data. Is this possible? If so how do I go about doing it properly? If you can give me a step by step of what settings to use in Odin to not lose my data I would greatly appreciate it!!


Thanks for any help!


Phone is not rooted and 100% stock. Recovery and Download screens are working.


Phone: T-mobile Galaxy S6 with Lollipop





rom flashing - Why are there not generic phone OS installers?



I am used to install and remove various operating systems in my PCs, even having several at a time.


Usually, to install a new OS means:




  1. Burn the ISO to a CD/DVD/USB.





  2. Insert it.




  3. Boot. (Maybe you have to tweak a bit the BIOS first).




The only difference between PCs is its CPU architecture: x86, x86_64, arm, etc. Depending on that, you have to download one ISO or another. But I never have to worry about which graphic card, mouse, keyboard, screen, network card, etc. it has. The install wizard automatically detects that and installs the corresponding drivers. Sometimes, if they are not bundled, the installer also downloads them. Anyway, the key point here is that the ISO is always the same.


Now, many mobile OS come out: Ubuntu, Tizen, Firefox OS, the omnipresent Android, and why not any Linux ARM distro out there!. Sadly I have a random chinese mobile, that surely will never get official support in any platform, and I will never be able to test them.


But... Are not today's phones just tiny ARM PCs? Why is installation that different? Why do I always need to have a precompiled monolithic ROM specific for my phone model? Why not just a single "ISO" per OS for any phone that detects and installs automatically the needed drivers, just like always has been in the PC market?



Note: I understand the problem with privative drivers, but I remember Debian asking me for those when there were no libre alternatives at installation, and I could install them then or later. I suppose that workaround could be used in those cases too. Correct me if I'm wrong.



Answer



In short, it's because of the different ways that Android and MS Windows are distributed. MS Windows is a retail product, sold directly to PC owners. Therefore, Microsoft is responsible for making it run on PCs. PCs are standardized, and (nowadays) have a hardware-discovery mechanism, so Microsoft can design the Windows installer so that it can run on any PC-compatible machine. It's in their interest to make drivers for old Windows versions compatible with newer versions, so that they can keep selling new Windows versions to users.


There's also a technical dimension to this. Phones aren't just "tiny ARM PCs" as you suggest. The distinguishing thing about a PC is that it satisfies the PC specification, originated by IBM but now specified by an industry consortium. There are several more standards for how components of a PC interact, and they're what allows automatic driver configuration such as you find on a desktop PC. Graphics cards offer a VESA interface, which allows graphics to be displayed before a GPU driver has been configured.


All PC hardware nowadays offers Plug N Play, which allows the OS to discover hardware and configure the memory map at boot. Before Plug N Play, you had to change physical jumpers on each PCI card, and then tell the software what memory range, IRQ, etc. you'd set on the jumpers. And in the days before DirectX and its ilk, you had to do that separately for every game that wanted to use that hardware. Plug N Play came about mostly so that sound card (and other discrete component) vendors could make easier-to-install hardware.


In contrast, Android isn't a product that's sold to users: it's "sold" to device manufacturers. Phones (also tablets, STBs, media players, etc.) don't have anything like the PC specification, so it's not possible for Google to make an "Android installer" that can run on any device. Even displaying the battery animation when the phone is off requires it to load the Linux kernel with a framebuffer driver and a battery driver. It's the device manufacturer's responsibility to modify the Android source code so that it can run on their device, and the resulting Android firmware image belongs to the manufacturer: they don't (have to) give those changes to Google or anyone else.


The phone world doesn't have these kinds of standards, because there's no demand for it. There's no one trying to sell phone components that you put together yourself. No one in the phone industry is interested in making an OS that you can install on any phone - only the likes of Ubuntu and Mozilla, who are outsiders with no contribution to hardware standards.


Sunday, October 20, 2019

rooting - How to Root SpreadTrum SC6830 Kernel 2.6.35.7


Model - Callbar A1
Android - 2.3.5
Kernel Version – 2.6.35.7
Software version – 2.3.001.P1.12065
Hardware version – P1
CPU – SC6820 (1 GHz.)
Screen – 3.5” HVGA



I tried several methods such as Doom Lord, Super One Click, Unlock Root, Z4Root to root the phone but none worked.


Tried ADB to manually root the phone through commands but almost every command returns – “Permission Denied” or “Read Only System”. However files su, SuperUsr.apk, Busy Box were easily pushed into /data/local/tmp. Further steps like making local.prop and onwards could not be executed and returned above stated errors.


Also tried modifications by putting update.zip on SD Card root and running Android Recovery System but this method also returned error “Signature Verification Failed”.


Tried Nautilus on Linux Mint with OpenSSH while running DroidSSH on the phone but could not mount device by any means.


Scanned my device with ‘X-Ray’ app which reported that device or firmware I am using had been patched and is not vulnerable to any of the exploit available at the moment.


I desperately need rooting to remove pre-installed bloatwares and applications to free internal memory which is very less. I am trying to root phone for the last several days but every method has failed. Can any one help ?


I am providing complete details of System Memory Map, MTD Tables, Symbolic Links, Directory Permissions and File Permissions of my android phone. I hope some one having knowledge of android system can help me by suggesting custom exploit after going through details given below.


## system memory map


00000000-00000000 : sprd-battery.0


00000061-00000061 : sprd-sdhci.0

00000064-00000064 : sprd-sdhci.1

00463000-0047ffff : System RAM

004e0000-004fefff : System RAM

01a00000-0fffffff : System RAM


0452c000-04a08fff : Kernel text

04a24000-04b65a67 : Kernel data

0eee0000-0eefffff : ram_console.0

84000000-840000ff : NK reserved I/O

8e002000-8e002fff : sprd_spi.0


8e003000-8e003fff : sprd_spi.1

9c004300-9c004400 : example.0

a0010000-a0010097 : Mali-300 GP

a0011000-a001102f : Mali-300 L2 cache

a0012000-a0012027 : Mali-300 PMU


a0013000-a0013023 : Mali-300 MMU for GP

a0014000-a0014023 : Mali-300 MMU for PP

a0018000-a00190ef : Mali-300 PP

e0002000-e0002fff : sc8800g_dcam.0

e0006000-e0006fff : sprd-sdhci.0


e0007000-e0007fff : sprd-sdhci.1

e0010000-e0017fff : sprd_nand

e0024000-e0024fff : serial_res0

e0025000-e0025fff : serial_res1

e0028000-e0028fff : sc8810-i2c.0


e0029000-e0029fff : sc8810-i2c.1

e002a000-e002afff : sc8810-i2c.2

e002b000-e002bfff : sc8810-i2c.3

e0036000-e0036fff : serial_res2

e0037280-e00372c4 : sprd-tp.0


e003c000-e013bfff : dwc_otg.0

## mtd table


NAND device: Manufacturer ID: 0x2c, Chip ID: 0xbc (Micron NAND 512MiB 1,8V 16-bit)

Good Block: 4034 Bad Block: 0 Reserved Block: 62

dev: size erasesize name

mtd0: 00040000 00020000 "spl"


mtd1: 00080000 00020000 "2ndbl"

mtd2: 00040000 00020000 "params"

mtd3: 00080000 00020000 "vmjaluna"

mtd4: 00a00000 00020000 "modem"

mtd5: 003c0000 00020000 "fixnv"


mtd6: 003c0000 00020000 "backupfixnv"

mtd7: 00500000 00020000 "dsp"

mtd8: 003c0000 00020000 "runtimenv"

mtd9: 00a00000 00020000 "boot"

mtd10: 00a00000 00020000 "recovery"


mtd11: 10e00000 00020000 "system"

mtd12: 07800000 00020000 "userdata"

mtd13: 03c00000 00020000 "cache"

mtd14: 00040000 00020000 "misc"

mtd15: 00100000 00020000 "boot_logo"


mtd16: 00100000 00020000 "fastboot_logo"

mtd17: 003c0000 00020000 "productinfo"

mtd18: 00080000 00020000 "kpanic"

## symbolic links


symlink("/data/bin/bash","/system/xbin/bash");


symlink("/data/bin/oprofile/lop.dump","/system/xbin/lop.dump");

symlink("/data/bin/oprofile/lop.init","/system/xbin/lop.init");

symlink("/data/bin/oprofile/lop.reset","/system/xbin/lop.reset");

symlink("/data/bin/oprofile/lop.start.kernel","/system/xbin/lop.start.kernel");

symlink("/data/bin/oprofile/lop.start.user","/system/xbin/lop.start.user");


symlink("/data/bin/oprofile/lop.stop","/system/xbin/lop.stop");

symlink("/system/bin/alsa_aplay","/system/bin/alsa_arecord");

symlink("/system/sps/FT5206/firmware/ft5206_fw.bin","/system/etc/firmware/ft5206_fw.bin");

symlink("/system/sps/headset-soc/ko/headset.ko","/system/lib/modules/headset.ko");

symlink("/system/sps/mali/ko/mali.ko","/system/lib/modules/mali.ko");


symlink("/system/sps/mali/ko/ump.ko","/system/lib/modules/ump.ko");

symlink("/system/sps/msg2133/firmware/henghao_fw.bin","/system/etc/firmware/henghao_fw.bin");

symlink("/system/sps/msg2133/firmware/huangze_fw.bin","/system/etc/firmware/huangze_fw.bin");

symlink("/system/sps/msg2133/firmware/oufeiguang_fw.bin","/system/etc/firmware/oufeiguang_fw.bin");

symlink("/system/sps/rda5802/ko/rda5802.ko","/system/lib/modules/rda5802.ko");


symlink("/system/sps/rtl8723as/firmware/rlt8723a_chip_b_cut_bt40_fw","/system/etc/firmware/rtl8723as/rlt8723a_chip_b_cut_bt40_fw");

symlink("/system/sps/rtl8723as/firmware/rtk8723_bt_config","/system/etc/firmware/rtl8723as/rtk8723_bt_config");

symlink("/system/sps/rtl8723as/ko/8723as.ko","/system/lib/modules/8723as.ko");

symlink("/system/sps/snd_dummy_alsa_audio/ko/snd_dummy.ko","/system/lib/modules/snd_dummy.ko");

symlink("/system/sps/tools-binary/tools/boot_must_complete.sh","/system/xbin/boot_must_complete.sh");


symlink("/system/sps/tools-binary/tools/busybox","/system/bin/df");

symlink("/system/sps/tools-binary/tools/busybox","/system/bin/mkdir");

symlink("/system/sps/tools-binary/tools/busybox","/system/bin/rm");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/ash");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/busybox");


symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/bzip2");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/cp");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/du");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/env");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/find");


symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/grep");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/hexdump");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/killall");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/md5sum");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/reset");


symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/tar");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/uname");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/uptime");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/vi");

symlink("/system/sps/tools-binary/tools/busybox","/system/xbin/which");


symlink("/system/sps/tools-binary/tools/gcom.arm","/system/xbin/gcom.arm");

symlink("/system/sps/tools-binary/tools/gsnap.save_anr_tombstones.sh","/system/xbin/gsnap.save_anr_tombstones.sh");

symlink("/system/sps/tools-binary/tools/ll","/system/xbin/ll");

symlink("/system/sps/tools-binary/tools/localtime","/system/etc/localtime");

symlink("/system/sps/tools-binary/tools/logs4android.bt.service.sh","/system/xbin/logs4android.bt.service.sh");


symlink("/system/sps/tools-binary/tools/logs4android.bt.sh","/system/xbin/logs4android.bt.sh");

symlink("/system/sps/tools-binary/tools/logs4android.sdcard.umount.sh","/system/xbin/logs4android.sdcard.umount.sh");

symlink("/system/sps/tools-binary/tools/logs4android.sh","/system/xbin/logs4android.sh");

symlink("/system/sps/tools-binary/tools/logs4modem.sh","/system/xbin/logs4modem.sh");

symlink("/system/sps/tools-binary/tools/lrz","/system/xbin/lrz");


symlink("/system/sps/tools-binary/tools/lsof","/system/xbin/lsof");

symlink("/system/sps/tools-binary/tools/lsz","/system/xbin/lsz");

symlink("/system/sps/tools-binary/tools/mkcached.sh","/system/xbin/mkcached.sh");

symlink("/system/sps/tools-binary/tools/mkinternal.sh","/system/xbin/mkinternal.sh");

symlink("/system/sps/tools-binary/tools/mkswapd.sh","/system/xbin/mkswapd.sh");


symlink("/system/sps/tools-binary/tools/preloadapp.sh","/system/xbin/preloadapp.sh");

symlink("/system/sps/tools-binary/tools/strace","/system/xbin/strace");

symlink("/system/sps/tools-binary/tools/tree","/system/xbin/tree");

symlink("/system/sps/tools-binary/tools/uevent","/system/xbin/uevent");

symlink("/system/sps/tools-binary/tools/upnvpropd.sh","/system/xbin/upnvpropd.sh");


symlink("iwmulticall","/system/bin/iwconfig");

symlink("iwmulticall","/system/bin/iwevent");

symlink("iwmulticall","/system/bin/iwgetid");

symlink("iwmulticall","/system/bin/iwlist");

symlink("iwmulticall","/system/bin/iwpriv");


symlink("iwmulticall","/system/bin/iwspy");

symlink("toolbox","/system/bin/cat");

symlink("toolbox","/system/bin/chmod");

symlink("toolbox","/system/bin/chown");

symlink("toolbox","/system/bin/cmp");


symlink("toolbox","/system/bin/date");

symlink("toolbox","/system/bin/dd");

symlink("toolbox","/system/bin/dmesg");

symlink("toolbox","/system/bin/getevent");

symlink("toolbox","/system/bin/getprop");


symlink("toolbox","/system/bin/hd");

symlink("toolbox","/system/bin/id");

symlink("toolbox","/system/bin/ifconfig");

symlink("toolbox","/system/bin/iftop");

symlink("toolbox","/system/bin/insmod");


symlink("toolbox","/system/bin/ioctl");

symlink("toolbox","/system/bin/ionice");

symlink("toolbox","/system/bin/kill");

symlink("toolbox","/system/bin/ln");

symlink("toolbox","/system/bin/log");


symlink("toolbox","/system/bin/ls");

symlink("toolbox","/system/bin/lsmod");

symlink("toolbox","/system/bin/lsof");

symlink("toolbox","/system/bin/mount");

symlink("toolbox","/system/bin/mv");


symlink("toolbox","/system/bin/nandread");

symlink("toolbox","/system/bin/netstat");

symlink("toolbox","/system/bin/newfs_msdos");

symlink("toolbox","/system/bin/notify");

symlink("toolbox","/system/bin/printenv");


symlink("toolbox","/system/bin/ps");

symlink("toolbox","/system/bin/reboot");

symlink("toolbox","/system/bin/renice");

symlink("toolbox","/system/bin/rmdir");

symlink("toolbox","/system/bin/rmmod");


symlink("toolbox","/system/bin/route");

symlink("toolbox","/system/bin/schedtop");

symlink("toolbox","/system/bin/sendevent");

symlink("toolbox","/system/bin/setconsole");

symlink("toolbox","/system/bin/setprop");


symlink("toolbox","/system/bin/sleep");

symlink("toolbox","/system/bin/smd");

symlink("toolbox","/system/bin/start");

symlink("toolbox","/system/bin/stop");

symlink("toolbox","/system/bin/sync");


symlink("toolbox","/system/bin/top");

symlink("toolbox","/system/bin/umount");

symlink("toolbox","/system/bin/uptime");

symlink("toolbox","/system/bin/vmstat");

symlink("toolbox","/system/bin/watchprops");


symlink("toolbox","/system/bin/wipe");

## diretory permissions


set_perm_recursive(0,0,0755,0644,"/system");

set_perm_recursive(0,0,0700,0644,"/system/lost+found");

set_perm_recursive(0,2000,0755,0755,"/system/bin");

set_perm_recursive(0,2000,0755,0755,"/system/xbin");


## file permissions


set_perm(0,0,0555,"/system/etc/ppp/ip-up-vpn");

set_perm(0,2000,0550,"/system/etc/init.goldfish.sh");

set_perm(0,2000,06750,"/system/bin/run-as");

set_perm(0,2000,0755,"/system/etc/pvplayer.cfg");


set_perm(0,2000,0755,"/system/etc/rc.local");

set_perm(0,2000,0755,"/system/opl/etc/vt_substitute.jpg");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/boot_must_complete.sh");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/busybox");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/gcom.arm");


set_perm(0,2000,0755,"/system/sps/tools-binary/tools/gsnap.save_anr_tombstones.sh");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/ll");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/localtime");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/logs4android.bt.service.sh");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/logs4android.bt.sh");


set_perm(0,2000,0755,"/system/sps/tools-binary/tools/logs4android.sdcard.umount.sh");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/logs4android.sh");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/logs4modem.sh");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/lrz");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/lsof");


set_perm(0,2000,0755,"/system/sps/tools-binary/tools/lsz");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/mkcached.sh");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/mkinternal.sh");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/mkswapd.sh");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/preloadapp.sh");


set_perm(0,2000,0755,"/system/sps/tools-binary/tools/strace");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/tree");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/uevent");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/upnvpropd.sh");

set_perm(0,2000,0755,"/system/sps/tools-binary/tools/xmlprecopy.sh");


set_perm(0,3003,02750,"/system/bin/netcfg");

set_perm(0,3004,02755,"/system/bin/ping");

set_perm(1000,1000,0640,"/system/etc/bluetooth/auto_pairing.conf");

set_perm(1002,1002,0440,"/system/etc/bluetooth/audio.conf");

set_perm(1002,1002,0440,"/system/etc/bluetooth/input.conf");


set_perm(1002,1002,0440,"/system/etc/bluetooth/main.conf");

set_perm(1002,1002,0440,"/system/etc/dbus.conf");

set_perm(1014,2000,0550,"/system/etc/dhcpcd/dhcpcd-run-hooks");

set_perm(3002,3002,0444,"/system/etc/bluetooth/blacklist.conf");


wi fi - Connecting to WiFi via ADB Shell


I've tried all publicly discussed methods I could find to connect to WiFi via ADB on a phone with a broken screen (no display/no touch). The closest I have got is via wpa_cli using the method #1 described below.


Other methods that I tried are also mentioned but with no success. My goal for this broken phone is to use it as a headless server either via LinuxDeploy or native apps for Android, and for that I need to get VNC running and for that I need to connect to Wifi somehow.


Solutions for connecting to Wifi OR otherwise getting VNC access to the Android display (using ADB usb only) are welcome. I don't have a USB-C Network card so using that isn't an option at this stage.


Method #1 - Using WPA_CLI


In this case I leave /data/misc/wifi/wpa_supplicant.conf and /data/misc/wifi/WifiConfigStore.xml untouched and just pop into wpa_cli using adb shell


wpa_cli Setup


> add_network
0

> set_network 0 scan_ssid 1
OK
> set_network 0 ssid "my_ssid"
OK
> set_network 0 key_mgmt WPA-PSK
OK
> set_network 0 psk "my_wifi_pass"
OK
> enable_network 0
OK

<3>CTRL-EVENT-STATE-CHANGE id=-1 state=3 BSSID=00:00:00:00:00:00 SSID=
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>Trying to associate with SSID 'fy-huawei-m9'
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=5 BSSID=00:00:00:00:00:00 SSID=
<3>CTRL-EVENT-STATE-CHANGE id=0 state=6 BSSID=00:00:00:00:00:00 SSID=fy-huawei-m9
<3>Associated with 50:01:d9:41:d7:00
<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
<3>CTRL-EVENT-STATE-CHANGE id=0 state=7 BSSID=50:01:d9:41:d7:00 SSID=fy-huawei-m9

<3>CTRL-EVENT-STATE-CHANGE id=0 state=8 BSSID=50:01:d9:41:d7:00 SSID=fy-huawei-m9
<3>WPA: Key negotiation completed with 50:01:d9:41:d7:00 [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to 50:01:d9:41:d7:00 completed [id=0 id_str=]
<3>CTRL-EVENT-STATE-CHANGE id=0 state=9 BSSID=50:01:d9:41:d7:00 SSID=fy-huawei-m9
<3>CTRL-EVENT-DISCONNECTED bssid=50:01:d9:41:d7:00 reason=3 locally_generated=1
<3>CTRL-EVENT-STATE-CHANGE id=0 state=0 BSSID=50:01:d9:41:d7:00 SSID=fy-huawei-m9
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS

Looks like the wifi interface associates momentarily with the SSID but then immediately disconnects.



Logcat Output
01-01 00:16:25.358  1074  1913 D WifiService: setWifiEnabled: true pid=2849, uid=0, package=com.android.shell
01-01 00:16:25.358 1074 1913 I WifiService: setWifiEnabled package=com.android.shell uid=0 enable=true
01-01 00:16:25.362 756 756 I android.hardware.wifi@1.0-service: Wifi HAL started
01-01 00:16:25.371 756 756 I android.hardware.wifi@1.0-service: Wifi driver is ready: Success
01-01 00:16:25.625 756 756 I WifiHAL : Initializing wifi
01-01 00:16:25.625 951 963 I LOWI-8.5.0.3.a: [LOWIController] isWifiEnabled: Wifi is now enabled
01-01 00:16:25.635 756 756 I WifiHAL : mpdu_size_threshold : 128, aggressive_statistics_gathering : 0
01-01 00:16:25.636 1074 1675 I WifiVendorHal: Vendor Hal started successfully
01-01 00:16:25.636 1074 1675 D WificondControl: Setting up driver for client mode

01-01 00:16:25.770 1074 1675 D WifiStateMachine: Setting OUI to DA-A1-19
01-01 00:16:25.772 756 756 E WifiHAL : wifi_set_scanning_mac_oui: requestResponse Error:-1
01-01 00:16:25.774 1074 1675 E WifiVendorHal: setScanningMacOui(l.1445) failed {.code = ERROR_UNKNOWN, .description = unknown}
01-01 00:16:25.784 1074 1675 I WifiVendorHal: Driver: 5.1.1.28U Firmware: FW:1.0.0.133.0 HW:WCN3990_V2.1
01-01 00:16:25.799 1074 1110 I WifiService: requestActivityInfo uid=1000
01-01 00:16:25.799 1074 1110 I WifiService: reportActivityInfo uid=1000
01-01 00:16:25.799 1074 1110 I WifiService: getSupportedFeatures uid=1000
01-01 00:16:25.835 1074 1675 D WifiConnectivityHelper: Firmware supported feature set: 48931bf
01-01 00:16:25.836 1074 1677 I WifiScanningService: wifi driver loaded with scan capabilities: max buckets=6
01-01 00:16:25.840 1074 1675 D WifiConnectivityHelper: Firmware roaming supported with capabilities: max num blacklist bssid=16 max num whitelist ssid=4

01-01 00:16:25.841 1074 1675 D WifiNative-wlan0: configureRoaming
01-01 00:16:25.842 1074 1675 I WifiStateMachine: disconnectedstate enter
01-01 00:16:25.844 1074 1675 D WifiStateMachine: resetting EAP-SIM/AKA/AKA' networks since SIM was changed
01-01 00:16:25.844 1074 1675 I chatty : uid=1000(system) WifiStateMachin identical 2 lines
01-01 00:16:25.845 1074 1675 D WifiStateMachine: resetting EAP-SIM/AKA/AKA' networks since SIM was changed
01-01 00:16:25.854 1074 1110 I WifiService: requestActivityInfo uid=1000
01-01 00:16:25.854 1074 1110 I WifiService: reportActivityInfo uid=1000
01-01 00:16:25.854 1074 1110 I WifiService: getSupportedFeatures uid=1000
01-01 00:16:25.939 1835 1973 I QCNEJ/CndHalConnector: -> SND notifyWifiP2pStateChanged(5)
01-01 00:16:55.456 1074 1913 D WifiService: setWifiEnabled: true pid=2876, uid=0, package=com.android.shell

01-01 00:16:55.456 1074 1913 I WifiService: setWifiEnabled package=com.android.shell uid=0 enable=true
01-01 00:17:35.524 1074 1110 I WifiService: requestActivityInfo uid=1000
01-01 00:17:35.524 1074 1110 I WifiService: reportActivityInfo uid=1000
01-01 00:17:35.525 1074 1110 I WifiService: getSupportedFeatures uid=1000
01-01 00:19:35.647 756 2865 I WifiHAL : event received NL80211_CMD_VENDOR, vendor_id = 0x1374, subcmd = 0x6a
01-01 00:19:36.272 756 2865 I WifiHAL : event received NL80211_CMD_VENDOR, vendor_id = 0x1374, subcmd = 0x6b
01-01 00:19:36.441 1074 1675 W WifiConfigManager: Looking up network with invalid networkId -1
01-01 00:19:36.442 1074 1675 W WifiStateMachine: Connected to unknown networkId -1, disconnecting...
01-01 00:19:37.260 756 2865 E WifiHAL : Few pkt stats messages missed: rcvd = 0, prev = 0
01-01 00:19:37.260 756 2865 I WifiHAL : Fate Tx-Rx: Packet fate stats stop received

01-01 00:19:58.058 1074 1110 I WifiService: requestActivityInfo uid=1000
01-01 00:19:58.058 1074 1110 I WifiService: reportActivityInfo uid=1000
01-01 00:19:58.059 1074 1110 I WifiService: getSupportedFeatures uid=1000

The key line here are:


01-01 00:19:36.441  1074  1675 W WifiConfigManager: Looking up network with invalid networkId -1
01-01 00:19:36.442 1074 1675 W WifiStateMachine: Connected to unknown networkId -1, disconnecting...

Looks like the WifiConfigManager won't let me connect to a network which isn't defined in /data/misc/wifi/WifiConfigStore.xml


Method #2 - Naive definition in wpa_supplicant.conf



In this attempt I simply define the entwork in wpa_supplicant.conf and don't touch /data/misc/wifi/WifiConfigStore.xml


Here is what my wpa_supplicant.conf looks like:


wpa_supplicant.conf


update_config=1
ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=wifi
eapol_version=1
ap_scan=1
fast_reauth=1

network={

ssid="my_ssid"
psk="my_wifi_pass"
key_mgmt=WPA-PSK
priority=241
}

I then proceed to disable and re-enable the wifi service using svc wifi disable and svc wifi enable, and even reboot the phone but in both cases it doesn't seem to even attempt connecting to the network. The invalid networkId -1 message still pops up.


Logcat Output:


01-01 00:00:06.649  1062  1062 D WifiService: resetting networks because SIM was removed
01-01 00:00:06.649 1062 1062 D WifiService: resetting country code because SIM is removed

01-01 00:00:06.649 1062 1062 D WifiService: resetting networks because SIM was removed
01-01 00:00:06.649 1062 1062 D WifiService: resetting country code because SIM is removed
01-01 00:00:06.649 1062 1670 D WifiStateMachine: resetting EAP-SIM/AKA/AKA' networks since SIM was changed
01-01 00:00:06.650 1062 1670 D WifiStateMachine: resetting EAP-SIM/AKA/AKA' networks since SIM was changed
01-01 00:00:07.055 1062 1073 D WificondControl: Scan result ready event
01-01 00:00:07.061 1062 1670 W WifiConfigManager: Looking up network with invalid networkId -1

Method #3 - Copying WifiConfigStore.xml from a different phone connecting to this SSID


As a last ditch attempt, I restored the original wpa_supplicant.conf and copied over WifiConfigStore.xml from a phone running the same Android version that successfully connects to the WiFi network in question. Then I rebooted the phone


WifiConfigStore.xml









"fy-huawei-m9"WPA_PSK
"fy-huawei-m9"

"THEFORTUNE"





02
0b
01
0f
06
















android.uid.system:1000
time=08-02 08:39:20.369

android.uid.system:1000






NETWORK_SELECTION_ENABLED
NETWORK_SELECTION_ENABLE
"fy-net-ac"WPA_PSK




DHCP

NONE








wpa_supplicant.conf



01-01 00:00:05.424  1073  1637 D WifiConfigStore: Reading from user store completed in 4 ms.
01-01 00:00:05.440 1073 1637 D WifiConfigStore: Writing to stores completed in 16 ms.
01-01 00:00:05.440 1073 1637 D WIFI : got request NetworkRequest [ TRACK_DEFAULT id=6, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 0
01-01 00:00:05.442 1073 1637 D WifiConnectivityHelper: Firmware supported feature set: 48931bf
01-01 00:00:05.442 1073 1637 D WifiConnectivityHelper: Firmware roaming supported with capabilities: max num blacklist bssid=16 max num whitelist ssid=4
01-01 00:00:05.443 1073 1637 D WifiNative-wlan0: configureRoaming
01-01 00:00:05.443 1073 1637 D WIFI : got request NetworkRequest [ TRACK_DEFAULT id=3, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 0
01-01 00:00:05.443 1073 1637 D WIFI : got request NetworkRequest [ TRACK_DEFAULT id=9, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 0
01-01 00:00:05.443 1073 1637 D WIFI : got request NetworkRequest [ REQUEST id=1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 0
01-01 00:00:05.443 1073 1637 D WIFI_UT : got request NetworkRequest [ TRACK_DEFAULT id=6, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 0

01-01 00:00:05.443 1073 1637 D WIFI_UT : got request NetworkRequest [ TRACK_DEFAULT id=3, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 0
01-01 00:00:05.443 1073 1637 D WIFI_UT : got request NetworkRequest [ TRACK_DEFAULT id=9, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 0
01-01 00:00:05.443 1073 1637 D WIFI_UT : got request NetworkRequest [ REQUEST id=1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 0
01-01 00:00:05.445 1073 1676 I SupplicantP2pIfaceHal: Registering ISupplicant service ready callback.
01-01 00:00:05.447 1073 1689 I SupplicantP2pIfaceHal: IServiceNotification.onRegistration for: android.hardware.wifi.supplicant@1.0::ISupplicant, default preexisting=true
01-01 00:00:05.447 1073 1689 I zygote64: Looking for service android.hardware.wifi.supplicant@1.0::ISupplicant/default
01-01 00:00:05.449 1073 1689 D SupplicantP2pIfaceHal: entering getInterface()
01-01 00:00:05.449 1073 1689 D SupplicantP2pIfaceHal: getInterface() completed successfully.
01-01 00:00:05.449 1073 1689 D SupplicantP2pIfaceHal: leaving getInterface() with result = android.hardware.wifi.supplicant@1.0::ISupplicantP2pIface@Proxy
01-01 00:00:05.450 1073 1689 D SupplicantP2pIfaceHal: entering registerCallback()

01-01 00:00:05.450 1073 1689 D SupplicantP2pIfaceHal: registerCallback() completed successfully.
01-01 00:00:05.450 1073 1689 D SupplicantP2pIfaceHal: leaving registerCallback()
01-01 00:00:05.450 1073 1689 I SupplicantP2pIfaceHal: Completed initialization of ISupplicant interfaces.
01-01 00:00:05.484 1073 1632 I WifiService: getConfiguredNetworks uid=1000
01-01 00:00:05.543 1073 1073 D WifiService: resetting networks because SIM was removed
01-01 00:00:05.543 1073 1073 D WifiService: resetting country code because SIM is removed
01-01 00:00:05.543 1073 1637 D WifiStateMachine: resetting EAP-SIM/AKA/AKA' networks since SIM was changed
01-01 00:00:05.544 1073 1073 D WifiService: resetting networks because SIM was removed
01-01 00:00:05.544 1073 1073 D WifiService: resetting country code because SIM is removed
01-01 00:00:05.544 1073 1637 D WifiStateMachine: resetting EAP-SIM/AKA/AKA' networks since SIM was changed

01-01 00:00:05.556 1073 1676 D SupplicantP2pIfaceHal: entering setWpsDeviceName(Android_d3d3)
01-01 00:00:05.556 1073 1676 D SupplicantP2pIfaceHal: setWpsDeviceName(Android_d3d3) completed successfully.
01-01 00:00:05.556 1073 1676 D SupplicantP2pIfaceHal: leaving setWpsDeviceName(Android_d3d3)
01-01 00:00:05.556 1073 1676 D SupplicantP2pIfaceHal: entering setSsidPostfix(-Android_d3d3)
01-01 00:00:05.557 1073 1676 D SupplicantP2pIfaceHal: setSsidPostfix(-Android_d3d3) completed successfully.
01-01 00:00:05.557 1073 1676 D SupplicantP2pIfaceHal: leaving setSsidPostfix(-Android_d3d3)
01-01 00:00:05.557 1073 1676 D SupplicantP2pIfaceHal: entering setWpsDeviceType(10-0050F204-5)
01-01 00:00:05.557 1073 1676 D SupplicantP2pIfaceHal: setWpsDeviceType(10-0050F204-5) completed successfully.
01-01 00:00:05.558 1073 1676 D SupplicantP2pIfaceHal: leaving setWpsDeviceType(10-0050F204-5)
01-01 00:00:05.558 1073 1676 D SupplicantP2pIfaceHal: entering setWpsConfigMethods(virtual_push_button physical_display keypad)

01-01 00:00:05.558 1847 1956 I QCNEJ/CndHalConnector: -> SND notifyWifiP2pStateChanged(5)
01-01 00:00:05.559 1073 1676 D SupplicantP2pIfaceHal: setWpsConfigMethods(virtual_push_button physical_display keypad) completed successfully.
01-01 00:00:05.559 1073 1676 D SupplicantP2pIfaceHal: leaving setWpsConfigMethods(virtual_push_button physical_display keypad)
01-01 00:00:05.559 1073 1676 D SupplicantP2pIfaceHal: entering getDeviceAddress()
01-01 00:00:05.559 1073 1676 D SupplicantP2pIfaceHal: getDeviceAddress() completed successfully.
01-01 00:00:05.560 1073 1676 D SupplicantP2pIfaceHal: leaving getDeviceAddress() with result = 82:ad:16:7a:57:57
01-01 00:00:05.560 1073 1676 D SupplicantP2pIfaceHal: entering flush()
01-01 00:00:05.561 1073 1676 D SupplicantP2pIfaceHal: flush() completed successfully.
01-01 00:00:05.561 1073 1676 D SupplicantP2pIfaceHal: leaving flush()
01-01 00:00:05.561 1073 1676 D SupplicantP2pIfaceHal: entering serviceFlush()

01-01 00:00:05.561 1073 1676 D SupplicantP2pIfaceHal: serviceFlush() completed successfully.
01-01 00:00:05.561 1073 1676 D SupplicantP2pIfaceHal: leaving serviceFlush()
01-01 00:00:05.561 1073 1676 D SupplicantP2pIfaceHal: entering listNetworks()
01-01 00:00:05.562 1073 1676 D SupplicantP2pIfaceHal: listNetworks() completed successfully.
01-01 00:00:05.562 1073 1676 D SupplicantP2pIfaceHal: leaving listNetworks() with result = []
01-01 00:00:05.562 1073 1676 D SupplicantP2pIfaceHal: entering saveConfig()
01-01 00:00:05.569 1073 1676 D SupplicantP2pIfaceHal: saveConfig() completed successfully.
01-01 00:00:05.569 1073 1676 D SupplicantP2pIfaceHal: leaving saveConfig()
01-01 00:00:06.108 1073 1834 D WificondControl: Scan result ready event
01-01 00:00:06.113 1073 1637 W WifiConfigManager: Looking up network with invalid networkId -1


Still no luck. Don't know what else I can do at this point but not giving up just yet.




How can I make chrome always display the address bar? It autohides when I scroll and then I need to scroll back to show it


How can I make Chrome on Android always display the address bar? It autohides when I scroll and then I need to scroll back to show it.


Please. I have googled it for quite some time already.




antivirus - Unable to remove malware


I have android tablet and every time i open a browser, any browser, it automatically opens pages with ads or making me download things. Obviously the tablet got a malware but i am not able to remove it. I installed Avast, Avira, Malwarbites, CCleaner but none of them was able to remove this malware. Any other ideas how to get rid of this malware? Usually in which location the viruses for android resides? In Windows most of them are in Temp folder but i am not very familiar with android.





Saturday, October 19, 2019

Link2sd gives "Mount script error"


Im using a rooted Samsung Galaxy ACE with 2.3.4. I installed link2sd and I have a 1Gb ext2 (I tried with fat32 also with the same result) partition. After starting the app and selecting the partition I get this error:


MOUNT SCRIPT ERROR
Mount Script cannot be created
Mount: Invalid argument


Any ideas?



Answer



do you have busybox installed? Open up terminal emulator and type busybox if a load of stuff comes up on the screen, then you have busybox installed.


Next, type mount into terminal emulator, if a load of crap comes up then you do have mount installed.


Otherwise, download the BusyBox Installer app on market, and download an older version of busybox. The same if you already have it installed, as the newer versions have loads of errors.


If that doesn't work, then I suggest emaailing the developer with a bug report.


Friday, October 18, 2019

wi fi - How can I install a CA cert on my Samsung Nexus?


I have the cert as a .cer file on my Mac, and my phone is connected via USB. How can I install the cert on my device?




Thursday, October 17, 2019

customization - How to help Android users with reduced ability to see


What can we do in Android phone to help users whose ability to see is reduced?


To be clear they are not blind persons, they are just 55+ years old and with age they have reduced ability to see.


When my father has seen Xperia with 4.0 inch display he thought that his troubles with using the phone were over. Trouble came again when he realized that font size is still small because of large resolution.


Most of them are just simple users and they have needs only for seeing time, date, contacts, missed calls, incoming caller id, and dialer. They're not even using SMS.


What can I do to increase size of these functions on display, and make it simplified to access as it can be?


Is there any app or theme or something similar already made for helping "older" people using phone?





charging - Will plugging the Samsung fast charger into a outlet rated 10W/2.1AMP slow down the charge rate?


The S6 comes with a fast wall charger, but how does it work exactly?


I want to plug it into a “one outlet Belkin” with surge protection, that is 2.1AMP for the ome USB port and 10W for the single AC outlet.


Now my question is will plugging the charger into the Belkin slow down the fast charge time?




4.4 kitkat - Rooting A Motorola Droid Razr M Phone on Verizon Network


I have a Droid Razr M, running on the verizon network. I would like to root this phone so I can use some of the more advanced features of Tasker; however, I am very fearful of "bricking" my phone. I see many approaches, which concerns me, because I would feel more comfortable if I could be sure process X is the one to use and works. Here are the particulars of my phone:



  1. Model #: Droid Razr M

  2. Android Version: 4.4.2

  3. System Version: 183.46.10.XT907.Verizon.en.us


  4. Baseband Version: SM_BP_101031.042.32.86P


Can anyone advise me as to the best approach to take, even if it means there is no current software to root my phone with the version it has?


Thanks, FDijohn



Answer



If I could comment, I would, but yes, TowelRoot is a safe download. It is one of the most commonly used root methods for newer devices. Neither of the antivirus programs that I use have had any problem with it.


(If someone has the ability to repost this as a comment on @IAmTheSquidward's answer, that would be awesome)


EDIT: Several sites and forums state that it will work on the RAZR M and HD if your build number is .182 or .183. If you already updated to whatever came next, then it is too late and you might not get the chance to root again. Not to be rude, but that's what you get for having a Motorola and/or Verizon phone. They both (along with Samsung) try their hardest to make sure that you cannot root or unlock your phone.


Wednesday, October 16, 2019

7.1 nougat - How to wake up my android device via wireless keyboard/mouse? (it has dongle connected via USB)


I have an android tv box and I want to wake it by pressing any key on my keyboard which is a regular wireless keyboard. (Its dongle is connected to usb port of box)


What should I do? (whether via ADB or even changing the kernel and AOSP!)




privacy - Can I prevent Google from collecting data by using a custom ROM?


Choosing a smartphone based on the operating system on a smartphone comes down to two options: Android or iPhone. Both collect personal data, track activities and track location.


But with Android there's the option of replacing Android with a custom ROM. Will replacing stock Android on a phone with a custom ROM and removing all Google apps prevent Google from collecting any data?



Answer



Summing up from the comments:


There's more to it then just getting rid of "Google Apps" – though running a device without them certainly already massively reduces that data collection. A complete elimination can only be achieved by running the device in airplane mode (i.e. not permitting any network connections).


Using a custom ROM without flashing GApps will massively reduce the data collection, yes. But then you also should avoid all apps from Playstore (e.g. by using F-Droid solely), and don't browse websites (only few, like mine, have no Google trackers involved). As @beeshyams already wrote, a Firewall (root: AFWall+ / no-root: NetGuard) can help reducing it further. Getting it to absolute zero is probably only possible by going into airplane mode.


Even if you disable Javascript completely in the browser, there are still Web bugs to consider: tiny, invisible images (1x1 pixel) embedded into web pages for tracking purposes. Websites which are completely free of trackers are rare; at least two thirds of all existing websites integrate at least one (if not more) Google Trackers: Google Analytics, Google Tag Manager (both to be found even here at SE), Google Ads, Google Fonts, miscellaneous Javascripts (ajax.googleapis.com), Google Maps, Youtube, and so on.




TL;DR: You can massively reduce it, but you can't get fully rid of it without breaking stuff. Using a custom ROM without GApps is a good start, avoiding apps from Playstore helps a lot, using a firewall app (AFWall+ if rooted, NetGuard otherwise) helps further. Selectively enable Javascript for websites in your browser (e.g. using the uBlock Origin addon) massively improves on it.



adb - Is it possible to enable Location Services via Shell?


Is it possible to enable Location Services(GPS or Google NetworkLocation) via ADB or Terminal Emulator? I'm on a rooted Phone.



Extra Points: Is it also possible to change other system-related settings?



Answer




Is it possible to enable Location Services(GPS or Google NetworkLocation) via ADB or Terminal Emulator?



The command is:


adb shell settings put secure location_providers_allowed gps

where,




  • settings would makes changes into settings.db (part of com.android.providers.settings)

  • put is to update key location_providers_allowed with value gps in table secure.


The aforesaid command wouldn't enable Google's Location Service. In order to enable it as well, issue the command:


adb shell settings put secure location_providers_allowed gps,network

You would be shown a popup to agree for Location Services. In my Android 4.2.1, I have to agree through GUI or input keyevent every time I enable the service from scratch.


                                                                    IMG: 4.2.1


However, in my Android 5.0 I can save the settings in the dialog and the command execution makes the things done perfectly from the next time.


                                                                    IMG: 5.0



Some devices like Lollipop ones have three Locations modes, and the relevant values to be passed in the aforesaid command would be:



  • High accuracy: gps,wifi,network or gps,network (if you don't want Wi-Fi enabled)

  • Battery saving: wifi,network or network only

  • Device only: gps


To disable Location mode


adb shell settings put secure location_providers_allowed ' '





Is it also possible to change other system-related settings?



See :



But I already gave a big idea using settings put.


5.0 lollipop - How to open local web pages in Chrome on external SD card


I wanted to be able to open local files in the Chrome browser. If I tap a local file (htm, rss) or paste a valid "file:" URI into Chrome it does not work when file is on external SD card. I am using Samsung S4 Android 5.0.1 (not rooted). I tested a few paths in the chrome browser and found works ok on internal SD card but that there is no read access to any data on the external SD card even the private data folder (I was expecting Chrome should have access to private folder on exteranl card??). Selecting a file E.g. file:///mnt/sdcard/Documents/testarc.htm on internal SD card works fine but paths like file:///storage/extSdCard will not show a directory.


I know that access restrictions were added to Android 5.x but don't applications have access to a private data folder (under /Android/data) on external SD card by default?


Does Chrome (com.android.chrome) have read access the file:///storage/extSdCard/Android/data/com.android.chrome/files/ ?


Is there a way to enable it?


I have two file manager apps installed - ES file explorer, Total Commander, and the is "Myfiles" app which came with the phone. If use ES file explorer or Myfiles the "open with" windows only lists Firefox not Chrome, or Samsung browsers. Choosing Firefox will open the web page file (htm) (even on external SD card), so is there a way to add other browsers to "open with" list?


In MS Windows file association was relatively simple using "registered file types" options. Is the Andriod equivalent?




Monday, October 14, 2019

adb - How to set up a socks5 with Android cli?


I found articles how to set up a http-proxy. But can't find any info, how to set up a socks5 proxy. My goal is to route all traffic from apps, etc throught this proxy. Is this possible? How then programs like Drony work?




permissions - Read phone state and identity


I've looked at many (not all) of the dozens of links here.


Is there a list that explains the risks involved with each granted application permission type?



Most of these are not worth the time to read and just regurgitate using the same vague, indeterminate descriptions already used by the phone.


I've googled for specifics, but can find no detailed information on this privacy warning.


Please don't reply with generic blog articles and endless lists of links.


I'm looking for one hard core detailed reference on this warning:



Here's what mine says:




  1. Allows the application to access the phone features of the device...


    What specifically is a "phone feature" and what is not? Is wifi a phone feature, text message stack, etc





  2. An application with this permission can determine the phone number and serial number of this phone...


    Right. This is clear.




  3. Whether a call is active...


    Understood.





  4. The number that the call is connected to...


    Is this giving the company permission to spy on my friends?




  5. and the like...


    Yep, it really says this. Please define "the like".




Obviously #1, #4 and #5 are the things that concern me - the language of this warning says that the game developer gets access to all the identity information of anyone who calls you... And the like.


Therefore, to me, it clearly says you are exposing yourself and your contacts to spammers and worse. And it looks like the app can scoop up your contacts whether you are playing the game or not.



In other words, unless you are willing to give the developer the identities/contact info of anyone who calls you (or you call), subjecting them to spam or worse, you should not d/l the app.


Correct?




sd card - Invoke /system/bin/sdcard manually via terminal


I am trying to mount an EXT4 formatted SD card under Cyanogenmod 13.1 (Android 6.0.1).


So far, I have setup scripts to mount the card at /mnt/ext_sdcard during boot. My current understanding is that the "sdcard" service must then be invoked to create a FUSE mount pointing to the real mount point which will eventually lead the media scanner to the newly mounted disk.



Following some older older documentation and forum threads lead me to this command in terminal:


service sdcard /system/bin/sdcard /mnt/ext_sdcard /mnt/test 1023 1023
class late_start

When I run the command (as root of course), it fails with an exit status of 1 and no output/error messages.


My question: Am I doing something wrong, or is this command deprecated in 6.0.1 (the documents/forum thread seemed to relate to KitKat)? What is the correct syntax/arguments for using this command?




adb - Can't remount /system in rw


I try desesperately to push an app with adb on the /system/app folder (to install the PlayStore on my low cost tablet). So i tried to remount the /system partition with root rights :



mount -o remount,rw /system 

But it give me everytimes the same response :


mount: Read-only filesystem

And i tried also with this command :


mount -o remount,rw -t ext4 /dev/block/actc /system


but it's the same thing... And i don't understand really why, even with the root user, i can't modify this...


So if someone have an idea, it could be save one person in distress :p




google play store - How can I get the Android Market installed on my Kindle Fire?


There are a couple of apps I'd like to install that aren't available in Amazon's store. Is there a way I can get the normal Android Market app set up on this thing, so I can get apps (and updates for those apps...) without involving Amazon?



Answer



You can use Kindle Fire Utility to easily get root and Market with Google Apps.


It would automatically perform steps described in the above answers and even more.


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 ...