Question and Answer about Android from Stack Exchange network.


My phone is in bootloop. It keeps booting to TWRP Recovery. I want to trouble shoot this. How can I boot into TWRP to do this?

I'm trying to install Android x86 on virtual machine in VirtualBox 6.0.

The image I've downloaded is android-x86_64-8.1-r2.iso from android-x86.org

The installation process I've followed is similar to this video

But when I'm reaching GRUB boot option selection and choose Android-x86 8.1-r2, it stops working and hangs on underscore before "Android" logo, which never shows to me.

Final result of installation for now is underscore screen

I've tried this and this fix, but it didn't work. Also, there's a post regarding similar issue on Android Enthusiasts, but it never was answered.

Stack, what do?

So far I've been trusting in PEGI certifications nearly as in bible.

Today, I found Alchademy game, which has PEGI 3 age certification, but deeply in the game's desc you can find something like this:

This game is not intended for children and may have some content that is inappropriate for children under the age of 13.

Please, explain, what am I missing? How can a game pass PEGI 3 certification with such a note?

Based on above, I come with the conclusion that PEGI certifications at Google Play are completely worthless and when deciding whether particular app is or isn't applicable for my children, I must always dig description or -- the best -- install and play the game myself.

If that's truth then what is the reason in fouling people with that whole PEGI stuff at all?

The GMS Core has a ton of capabilities and doesn't seem to perform like a typical application (as in an Application living in the 'Applications' layer shown below). I would assume it would have more privileges and potentially live in the Android Framework layer or the same place as the 'Core Libraries' mention. However, I noticed a u0_a12 UID (not root or system) was attached to the com.google.android.gms process indicating that it's a user owned application. Can someone elaborate on this a little?

Android Stack

I'm looking for a way to get two separate (i.e. "Extended" or split) display outputs on my Android x86 setup.

It appears that I need to modify the content of /grub/menu.lst file, but every guide that I have found instructs the user to either clone (i.e. "duplicate" or mirror) the displays, or worse, it instructs the user to entirely disable the internal LVDS display. This is not what I want.

What I want is to simply have a separate output for each of my displays (two 1920x1080 monitors using HDMI.) This is something that is available on many Linux distros and even Windows.

Is what I want even possible on Android x86 at the moment?

I just got a new Galaxy S9 to replace my 3-year-old Galaxy S6 and I will be giving it to my mother so I did a Factory Reset to my Galaxy S6. To my surprise, doing a factory reset didn't actually delete everything from the phone so I went into recovery mode and did a "Wipe data/factory reset" from there.

After restarting the phone and connecting to a WiFi network I'm asked to enter my Samsung Account, which I did, but I can't get past this screen! When I click on the "Sign In" button this is what happens:

enter image description here

enter image description here

description

The dialogs disappear and nothing happens. If I put a wrong password it tells me the password is wrong but when entering the correct one I can't get past this. I tried doing a factory reset again, unlocking the device from my Samsung account (which fails because it says remote access is not enabled or something like that) and even removing the device from my Samsung account. I also tried multiple methods that you can find online to bypass this but none of them work on Android 7 (Nougat).

I don't know what else to do, my device is just unusable now.

I am learning about how Windows does name resolution and need to know how Android does it so an app will work on my Windows laptop and from my Android Phone.

Borrowing from a post on superuser.com, the normal resolution method on windows is as follows:

  1. The client checks to see if the name queried is its own.
  2. The client then searches a local Hosts file, a list of IP address and names stored on the local computer.
  3. Domain Name System (DNS) servers are queried.
  4. If the name is still not resolved, NetBIOS name resolution sequence is used as a backup. This order can be changed by configuring the NetBIOS node type of the client.

I use dnsmasq to provide local DNS resolution so I can map my own made up hostnames to local LAN IP addresses. This also allows me to see, in the dnsmasq log file, the DNS query that goes from the client to the DNS server. While testing the website from my phone I could swear using the URL address http://mywebsite in a Chrome browser on the phone was loading the website and the dnsmasq log showed just that unqualified name - mywebsite - resolving to the desired local IP address the web server is at.

However that was a few days ago, now the dnsmasq log always shows that the DHCP server DNS suffix [home] has been appended. So I see mywebsite.home in the dnsmasq log even though I used the URL address http://mywebsite in the phones Chrome browser. I didn't change anything with the phone. It is still set up to get its IP address via DHCP, in practice it never changes.

So my questions are:

  1. How does Android OS resolve domain names to IP addresses - what things does it try and in what order?
  2. Any feedback on why Android seemed to be resolving the unqualified hostname in my browser originally without any DNS suffix being appended. But now the [home] suffix is always appended as reported in the dnsmasq log file.

Update 1

After some more testing I have again seen the scenario where the webpage http://mymovies loads from the Android phone but the dnsmasq log appears to show the name resolution happening on an unqualified domain name (bare hostname: mymovies).

enter image description here

The x's are my redacted routers public IP address.

Can anyone explain what dnsmasq is doing here?

Starting from 02:07:22 it initially seems to try resolving the name mymovies.home. This makes sense because the phones IP is dynamically allocated by the DHCP server and I can see on my laptop that the DHCP server sends the DNS suffix [home] as the connection-specific DNS suffix so it must be doing the same to the phone I guess?

The reason why it fails here is because I do not have an entry for mymovies.home in dnsmasq.conf - I commented it out. I DO have an address entry for mymovies in dnsmasq.conf and that seems to be why it can resolve mymovies to an IP address.
Is this a difference of name resolution in Android compared with Windows - that eventually Android OS WILL try to resolve an unqualified domain name (bare hostname) to an IP address?

My phone (Samsung A3, Android 5) is nearly always in silent mode (for many reasons: work, or kids who should not be awakened by a ringing tone).

enter image description here

But sometimes I don't find my phone at home, and lose 10 minutes finding it!

A solution would be to call my phone from another phone (home phone)... but obviously this doesn't work since the phone is in silent mode!

  • Is there a way to make one specific number always ringing loud? (even if the phone is in silent mode)

  • Or is there an app such that my (lost-in-my-house) phone there could be called from another phone, or from a computer, with a loud ringing tone, even if the phone is in silent mode?

I have Samsung S10 5G(Qualcomm) device. This device has unlocked bootloader but it is not rooted yet.

I am trying to learn Unpack-Modify-Pack the ROM images.

Currently, I have VZW stock ROM available for this device and I can flash it successfully using Odin3 v3.13.

After flashing this ROM, I have tried to modify system and recovery using tar, lz4, simg2img, mount, tune2fs and md5 tools available on my Ubuntu 18.

When I have tried to flash different tar files then the result is as following:

Success Attempts: If I will not modify anything and flash the Ap.tar containing any of the following file:

  1. system.img.ext4.lz4
  2. system.img.ext4
  3. recovery.img.lz4
  4. recovery.img

Fail Attempts: If I will just modify the init.rc file by writing a simple comment at the end of this file and flash the AP.tar containing any of the following file(which contain modified raw image at last level of its folder hierarchy):

  1. system.img.ext4.lz4 which contains a modified system.img.ext4.
  2. system.img.ext4
  3. recovery.img.lz4 which contains a modified system.img.
  4. recovery.img

When Odin3 v3.13 failed to flash the above modified files then it give below errors:

  1. For AP.tar containing LZ4 file: FAIL! LZ4 is invalid
    • The device has no impact of this error and it stay in download mode.
  2. For AP.tar containing ext4 or img file: FAIL! (Auth)
    • In this case the device display Only official released binaries are allowed to be flashed(recovery) or Only official released binaries are allowed to be flashed(system)

Please give your suggestions on:

  1. This device is secure by Knox from Samsung. Is it causing this error?
  2. If yes, is there any way to disable it in the VZW zip?
  3. If no, what is the actual problem and how can I resolve it?

China is forcing tourists to install text-stealing malware at its border.

Also, U.S. intelligence officials imply that Huawei, ZTE devices aren't safe for consumers (even in the West).

Some suggested avoiding Chinese phones:

Consider a scenario where you may use a Hauwei or KTE phone to have a conversation with a friend or a work colleague. It could be a discussion about a business deal, a programming project you’re working on, or important business meetings. You could inadvertently pass along proprietary information to a foreign government without even realizing it.

What global intelligence communities are hinting to the world is that there is enough evidence in their posession to warrant banning these phones from military bases and governments. Even if you don’t believe them, history has turned up enough wrongdoing by these companies to justify very real concern.

Avoiding phones made by Chinese manufacturers is a good start.

Assuming the accusers are correct, does the use of Android One, as is done by some Xiaomi phones, reduce the risk of OEM spying on you, or is Android One irrelevant here?

(There is a difference between trusting an American company, like Google, subject to US laws and regulations, and trusting a Chinese OEM)

Specifically, do Google apps (Maps, Play store) and third-party apps (Skype, Viber, etc.) work as reliably with it as they would with, say, Android One?

Or is it more of a hit-and-miss situation?

Now Google doesn't allow HuaWei to ship their services with the phone and the install-after-shipment route is blocked too.

I think Google apps like Map/Gmail/Search/Youtube/Drive/Docs/Play/Assistant are all standard Android applications that can be installed on any Android compatible (no need to be certificated) devices.

Does the above fact means that Google's Android apps will use some DRM like mechanism to first verify whether the device is certificated or it won't run? If so, does this apply to all Google Android apps, or only some apps?

I was using Universal Copy for a while to be able to copy text from fields that are not normally able to be selected, but due to it being able to see all contents on the screen when running, I would disable the it in accessibility settings until needed, which was a pain. I found Copycat, which does the same thing but with only one permission (run at startup) declared, and it states the following:

This app does not use any internet connection at all, So it never syncs any of your saved data anywhere. You can confirm it yourself by checking the app permissions. Your data is safe in your device.

On the surface, this seems great, since it appears there's no concern about giving it the access involved with the accessibility service. However, I know that Android permissions aren't so well-defined, unfortunately, and that if an app has any permission in a category, it has all permissions in that category. Since the "run at startup" permission is in the "Other" category, which is also where the internet permissions are located, it would seem that it would have that access, even though it doesn't specifically request it.

So my question is, is that true, or does an app have to declare a permission in its manifest in order to be able to use it, and does that declaration always mean that permission will show when viewing an app's permissions in the Play Store? IOW, is Copycat truly safe, or could it potentially still be sending information, and the developer is either misguided, which wouldn't exactly be promising, or outright lying, which would clearly be bad? I emailed them a few weeks ago but have not received a response.

P.S. I wasn't sure if this should go on Stack Overflow, since it relates to programming, or not, since it's not related to any specific code.

I have a list of about 100 WiFi SSIDs and passwords that I've extracted from my old phone and I want to add them to the new phone that runs Android 10 and I couldn't find any useful information on the net as everything seems outdated and not working.

A bit about my phone: it's a OnePlus 7 with OxygenOS 10.0.1, rooted with TWRP and Magisk. The wifi networks come from an old OnePlus One with Cyanogenmod wich is not rooted. I obtained the passwords following https://www.reddit.com/r/Android/comments/86zkzf/restoring_wifi_passwords_from_old_device/

The closest thing I've found is this: https://github.com/steinwurf/adb-join-wifi but it works only one network at the time and it doesn't work very well, often passwords aren't added and I have problem escaping the SSID and passwords.

I've also tried to look for wpa_supplicant.conf but apparently it's not used anymore, instead I've found a file called WifiConfigStore.xml but I'm not sure if it can be edited manually or it needs a program, I tried to use wpa_cli but I get an error at startup, I looked for apps but nothing like I need.

I believe the way to go is through WifiConfigStore.xml but its format looks non trivial so that I'm not confident to update it manually plus there's the change it's managed by a service and any change I make will be erased.

How can I add programmatically my networks? Is there an adb command, a file I could edit on the phone or an app that can help me with this?

Is there any way to view IMSI and ICCID numbers of my SIM-cards? I didn't find such menu neither in About-Status nor anywhere else.

I have Samsung Galaxy J9 running on Android 9 Pie. I bought Grapher Pro from the Play Store and installed it. When I tried to run it, a message was shown:

This apk was built for an older version of Android.

Because of this, I refunded it.

Is there any way to run such apps? The free version doesn't show the issue though.

I downloaded an app Phone INFO which shows a number of stats, particularly "Battery Discharge Cycles". I want to know if this number is being retrieved from the battery (i.e. it's just the number of cycles for the current battery) or the phone (i.e. it's the sum of the cycles across all batteries the phone has contained). In other words, if I insert a brand new battery, should I expect the count to drop to zero?

Context: I have a Samsung S6, which doesn't allow easily changing the battery. I went to a phone repair shop to have the battery replaced. I left it there for the day and did not observe the process of replacement. Now I suspect that I was scammed and the battery has not been changed. I want to confront the shop and use the cycle count (which is still very high) as evidence, so I'm checking my understanding first.

I am using a Sony Xperia M4 Aqua. As is well known, the internal memory is rather small. Especially the Media directory of WhatsApp uses a lot of precious space, therefore I am trying to move it to the SD card. I am using Android 6 and I have formatted the SD card to have an adopted storage partition.

Adopted storage would be normally used to migrate all /data to it, as discussed here. I am however interested in moving just the single directory WhatsApp/Media somewhere else (possibly in the adopted storage partition), and then bind-mount it to its original location.

For this purpose, I moved the WhatsApp/Media directory to the adopted storage. Then, following this discussion, I have modified the script /system/etc/init.qcom.post_boot.sh adding the following mountcommands (the phone has no support for init.d scripts)

mount -o bind /mnt/expand/4fdb2500-9aa7-44bc-a2c4-80aeae28e764/WhatsAppMedia /storage/emulated/0/WhatsApp/Media
mount -o bind /mnt/expand/4fdb2500-9aa7-44bc-a2c4-80aeae28e764/WhatsAppMedia /mnt/runtime/write/emulated/0/WhatsApp/Media
mount -o bind /mnt/expand/4fdb2500-9aa7-44bc-a2c4-80aeae28e764/WhatsAppMedia /mnt/runtime/read/emulated/0/WhatsApp/Media
mount -o bind /mnt/expand/4fdb2500-9aa7-44bc-a2c4-80aeae28e764/WhatsAppMedia /mnt/runtime/default/emulated/0/WhatsApp/Media
mount -o bind /mnt/expand/4fdb2500-9aa7-44bc-a2c4-80aeae28e764/WhatsAppMedia /data/media/0/WhatsApp/Media

Notice: /mnt/expand/4fdb25.... points to the adopted storage partition.

This only apparently works: if I open a shell with adb I can correctly see that the WhatsApp/Media directory contains the mounted directory. Also, I see no additional views that contains the WhatsApp directory, as can be checked by doing, in an adb shell

find / -type d -name WhatsApp

Nevertheless, WhatsApp is not able to access the Media gallery. For instance, in the chat I just see blurred pictures (like a preview), and clicking on it I do not see the full picture. Moreover, if somebody sends me a picture, all I can see is a blurred preview with the download icon. Clicking on the download icon does not produce anything.

Wrong permissions are presumably the source of problems. For example, some permissions/group ownership appear to be incorrect on some views:

root@E2303:/ # ls -n /storage/emulated/0/WhatsApp
drwxrwx--x 0        1015              2019-09-04 14:37 Backups
drwxrwx--x 0        1015              2019-10-19 02:00 Databases
drwxrwx--x 0        1015              2019-09-04 20:24 Media
root@E2303:/ # ls -n /mnt/runtime/write/emulated/0/WhatsApp
drwxrwx--- 0        9997              2019-09-04 14:37 Backups
drwxrwx--- 0        9997              2019-10-19 02:00 Databases
drwxrwx--x 0        1015              2019-09-04 20:24 Media
root@E2303:/ # ls -n /mnt/runtime/read/emulated/0/WhatsApp
drwxr-x--- 0        9997              2019-09-04 14:37 Backups
drwxr-x--- 0        9997              2019-10-19 02:00 Databases
drwxrwx--x 0        1015              2019-09-04 20:24 Media
root@E2303:/ # ls -n /mnt/runtime/default/emulated/0/WhatsApp
drwxrwx--x 0        1015              2019-09-04 14:37 Backups
drwxrwx--x 0        1015              2019-10-19 02:00 Databases
drwxrwx--x 0        1015              2019-09-04 20:24 Media
root@E2303:/ # ls -n /data/media/0/WhatsApp/                                   
drwxrwxr-x 1023     1023              2019-09-04 14:37 Backups
drwxrwxr-x 1023     1023              2019-10-19 02:00 Databases
drwxrwx--x 0        1015              2019-09-04 20:24 Media

Permissions and group ownership of the Media directory should be the same of the other (non bind-mounted) directories Backups and Databases. Oddly enough, an attempt to remount the directories with the correct gid

root@E2303:/ # mount -o remount, gid=9997 /mnt/runtime/write/emulated/0/WhatsApp/Media
root@E2303:/ # mount -o remount, gid=9997 /mnt/runtime/read/emulated/0/WhatsApp/Media
root@E2303:/ # mount -o remount, gid=1023 /data/media/0/WhatsApp/Media

does not produce any changes in the group ownership: ls -n as above gives identical results.

Even more strange, but maybe unrelated, omitting the space between remount and gid=... results in

mount: Invalid argument

How to bind mount WhatsApp/Media folder from external SD card with correct permissions?

I have a Samsung SN9600 (international Note 10).

I recently left a job that pushed a Work Profile to the phone.

The Work Profile was locked by the employer, as it should be. I found the settings to Delete the Profile, and also did my best to Delete or Disable any Work Profile apps.

  • Now I want to remove the Work tab in the screen of all apps.
    .
    .
    .

enter image description here

.
.
.
- Any ideas about how to remove this Work tab?

On a recently flashed LineageOS 16 Device, I'm getting with Google Photo

Can't take photo: Not enough storage left on this device.

The File Browser shows 234 GB Free.

Topics


2D Engines   3D Engines   9-Patch   Action Bars   Activities   ADB   Advertisements   Analytics   Animations   ANR   AOP   API   APK   APT   Architecture   Audio   Autocomplete   Background Processing   Backward Compatibility   Badges   Bar Codes   Benchmarking   Bitmaps   Bluetooth   Blur Effects   Bread Crumbs   BRMS   Browser Extensions   Build Systems   Bundles   Buttons   Caching   Camera   Canvas   Cards   Carousels   Changelog   Checkboxes   Cloud Storages   Color Analysis   Color Pickers   Colors   Comet/Push   Compass Sensors   Conferences   Content Providers   Continuous Integration   Crash Reports   Credit Cards   Credits   CSV   Curl/Flip   Data Binding   Data Generators   Data Structures   Database   Database Browsers   Date &   Debugging   Decompilers   Deep Links   Dependency Injections   Design   Design Patterns   Dex   Dialogs   Distributed Computing   Distribution Platforms   Download Managers   Drawables   Emoji   Emulators   EPUB   Equalizers &   Event Buses   Exception Handling   Face Recognition   Feedback &   File System   File/Directory   Fingerprint   Floating Action   Fonts   Forms   Fragments   FRP   FSM   Functional Programming   Gamepads   Games   Geocaching   Gestures   GIF   Glow Pad   Gradle Plugins   Graphics   Grid Views   Highlighting   HTML   HTTP Mocking   Icons   IDE   IDE Plugins   Image Croppers   Image Loaders   Image Pickers   Image Processing   Image Views   Instrumentation   Intents   Job Schedulers   JSON   Keyboard   Kotlin   Layouts   Library Demos   List View   List Views   Localization   Location   Lock Patterns   Logcat   Logging   Mails   Maps   Markdown   Mathematics   Maven Plugins   MBaaS   Media   Menus   Messaging   MIME   Mobile Web   Native Image   Navigation   NDK   Networking   NFC   NoSQL   Number Pickers   OAuth   Object Mocking   OCR Engines   OpenGL   ORM   Other Pickers   Parallax List   Parcelables   Particle Systems   Password Inputs   PDF   Permissions   Physics Engines   Platforms   Plugin Frameworks   Preferences   Progress Indicators   ProGuard   Properties   Protocol Buffer   Pull To   Purchases   Push/Pull   QR Codes   Quick Return   Radio Buttons   Range Bars   Ratings   Recycler Views   Resources   REST   Ripple Effects   RSS   Screenshots   Scripting   Scroll Views   SDK   Search Inputs   Security   Sensors   Services   Showcase Views   Signatures   Sliding Panels   Snackbars   SOAP   Social Networks   Spannable   Spinners   Splash Screens   SSH   Static Analysis   Status Bars   Styling   SVG   System   Tags   Task Managers   TDD &   Template Engines   Testing   Testing Tools   Text Formatting   Text Views   Text Watchers   Text-to   Toasts   Toolkits For   Tools   Tooltips   Trainings   TV   Twitter   Updaters   USB   User Stories   Utils   Validation   Video   View Adapters   View Pagers   Views   Watch Face   Wearable Data   Wearables   Weather   Web Tools   Web Views   WebRTC   WebSockets   Wheel Widgets   Wi-Fi   Widgets   Windows   Wizards   XML   XMPP   YAML   ZIP Codes