text:
Chrome on Android displays minimalistic list of tabs
For a couple of months now the default Chrome web browser on my Android device has changed the way it displays tabs when thr Tabs icon is tapped. Previously it used to roll out all of my open tabs in mini windows that allowed me to preview the content of the webpage and also had the title of the tab at the top of the window.
Suddenly, however, this changed and at the moment whenever I tap the Tabs icon, I get a minimalistic, text-only list of the tabs:

According to some suggestions in different forums and articles, I tried to wait it out but nothing has changed for months now. I also tried clearing the cache, disabling the application and then enabling it again but nothing has helped.
Some sources say this was a bug in the Beta of a certain Chrome version but I am well past it, currently with Chrome 72.0.3626.96 and Android 8.0.0.
Any help would be appreciated.
Edit: Tabs are diaplayed the old way if I swipe down from the address bar on any tab, but this is not preferable to the normal single tap gesture. However, it is to show that the old way is still present but the functionality seems to be swapped.


text:
Unable to open link with native app in Android
I have this problem on my Marshmallow device. My issue is with select apps on my device, particularly the Expedia app. I can get some native apps to work, including Shazam and Google apps (Youtube, Maps, Chrome, etc). This only works from Firefox, by long-pressing the link and choosing Open with [app name].
I have enabled the app settings to "Open in this app" under
Settings -> Apps -> Configure Apps (gear icon in top right) -> App links -> Expedia -> Open supported links. Expedia links, including www.expedia.com, are in the supported links list.
For Android system settings I do not have a section called "Default" under App Permissions. However, under Settings->Apps->Configure Apps (gear in upper right)->Default Apps I have 4 options "Assist & voice input", "Browser app", "Phone app", "SMS app". There are no other options. No default browser is set, but the phone and SMS apps are set.
Despite this, I do not even see the option of opening with Expedia when
Using "Open Link With" and "Best Open With" apps do not work. For example, when using the Open Link With app, I only have Firefox and Chrome offered as apps to share with.  When I disable Browsers as opening options (a feature in Open Link With) and I try to share with the app, I receive the message "No other application found to handle the URL" from Open Link With (see https://github.com/tasomaniac/OpenLinkWith/blob/master/app/src/main/res/values/strings.xml).
I tried rebooting my device. I tried reinstalling Expedia. I cannot update my stock ROM beyond Marshmallow. I am very hesitant to Reset App Preferences because I'd have to go through them one by one to reassign permissions as appropriate. For me, Chrome is more restricted than Firefox, e.g., I cannot open Youtube links with the native Youtube app through Chrome, but can with Firefox by long-pressing the link and selecting "Open With YouTube App", as similarly noted above.  I also have the same problem using Chrome on a Samsung tablet with the Expedia app installed.
Can anyone verify they also have this issue on Android Marshmallow?
I understand that some apps may have their "intent filter" programmed incorrectly (from Force link to open in app not my default browser).  Can anyone verify if Expedia has this programmed incorrectly, or if is it a Marshmallow issue? If there's a solution, any suggestions (aside from reverse engineering, reprogramming and rebuilding)?

source: Stack Exchange

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

sort: votes


text:
Why is adb backup creating a 1KB backup file when backup is permitted for the app?
I am using adb (latest one) from Android SDK Platform Tools. I also
 installed the adb driver from Intel USB Drivers for Android Devices.
All installation done on two computer, one with Windows 8.1, another with Windows 10. The phone being tested for this backup experiment is TP-Link Neffos X1 Lite.
I am using the commands given by Izzy as described in Is it possible to backup and restore an app with data via ADB? to backup the game Jetpack Joyride.
adb backup -f myapp.ab -apk com.myapp # backup on one device

But, I end up with a 1KB backup file (not 0 KB or 41 bytes that Izzy mentioned there).
I tested with different modes (charging, MIDI, MTP and PTP) with same result of 1KB backup file.
Here is the manifest of the app:
<?xml version="1.0" encoding="UTF-8"?>
<manifest
    versionCode='50199503'
    versionName='1.14.2'
    installLocation='0'
    compileSdkVersion='28'
    compileSdkVersionCodename='9'
    package='com.halfbrick.jetpackjoyride'
    platformBuildVersionCode='28'
    platformBuildVersionName='9'>
  <uses-sdk
      minSdkVersion='16'
      targetSdkVersion='26'
      xlargeScreens='true'>
  </uses-sdk>
  <uses-feature
      glEsVersion='0x00020000'>
  </uses-feature>
  <uses-feature
      name='android.hardware.touchscreen'
      required='true'>
  </uses-feature>
  <uses-permission
      name='android.permission.INTERNET'>
  </uses-permission>
  <uses-permission
      name='android.permission.ACCESS_NETWORK_STATE'>
  </uses-permission>
  <uses-permission
      name='android.permission.WAKE_LOCK'>
  </uses-permission>
  <uses-permission
      name='com.android.vending.BILLING'>
  </uses-permission>
  <uses-permission
      name='android.permission.ACCESS_WIFI_STATE'>
  </uses-permission>
  <uses-permission
      name='com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE'>
  </uses-permission>
  <uses-permission
      name='com.google.android.c2dm.permission.RECEIVE'>
  </uses-permission>
  <application
      theme='@res/0x7F0D0165'
      label='@res/0x7F0A00DB'
      icon='@res/0x7F030001'
      name='com.halfbrick.mortar.MortarApplication'
      backupAgent='com.halfbrick.mortar.SharedPrefBackupAgent'
      hardwareAccelerated='true'
      supportsRtl='true'
      resizeableActivity='false'
      appComponentFactory='android.support.v4.app.CoreComponentFactory'>
    <meta-data
        name='io.fabric.ApiKey'
        value='3c59abf6040024f2e259d458cc26f0e7f1e305b7'>
    </meta-data>
    <meta-data
        name='com.google.firebase.messaging.default_notification_icon'
        resource='@res/0x7F0200C8'>
    </meta-data>
    <meta-data
        name='com.google.firebase.messaging.default_notification_channel_id'
        value='@res/0x7F0A00F8'>
    </meta-data>
    <activity
        theme='@res/0x7F0D0172'
        name='com.halfbrick.mortar.MortarGameActivity'
        launchMode='2'
        screenOrientation='6'
        configChanges='0x40000FFF'
        windowSoftInputMode='0x00000003'>
      <intent-filter>
        <action
            name='android.intent.action.VIEW'>
        </action>
        <category
            name='android.intent.category.DEFAULT'>
        </category>
        <category
            name='android.intent.category.BROWSABLE'>
        </category>
        <data
            scheme='jetpack'>
        </data>
      </intent-filter>
      <intent-filter
          autoVerify='true'>
        <action
            name='android.intent.action.VIEW'>
        </action>
        <category
            name='android.intent.category.DEFAULT'>
        </category>
        <category
            name='android.intent.category.BROWSABLE'>
        </category>
        <data
            scheme='http'
            host='jetpackjoyride.page.link'>
        </data>
        <data
            scheme='https'
            host='jetpackjoyride.page.link'>
        </data>
      </intent-filter>
      <meta-data
          name='com.halfbrick.mortar.GCMSenderId'
          value='id=897786220322'>
      </meta-data>
      <intent-filter>
        <action
            name='android.intent.action.MAIN'>
        </action>
      </intent-filter>
    </activity>
    <receiver
        name='com.appsflyer.MultipleInstallBroadcastReceiver'
        exported='true'>
      <intent-filter>
        <action
            name='com.android.vending.INSTALL_REFERRER'>
        </action>
      </intent-filter>
    </receiver>
    <meta-data
        name='com.google.android.gms.version'
        value='@res/0x7F0F0008'>
    </meta-data>
    <receiver
        name='com.google.android.gms.measurement.AppMeasurementReceiver'
        enabled='true'
        exported='false'>
    </receiver>
    <receiver
        name='com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver'
        permission='android.permission.INSTALL_PACKAGES'
        enabled='true'
        exported='true'>
      <intent-filter>
        <action
            name='com.android.vending.INSTALL_REFERRER'>
        </action>
      </intent-filter>
    </receiver>
    <service
        name='com.google.android.gms.measurement.AppMeasurementService'
        enabled='true'
        exported='false'>
    </service>
    <service
        name='com.google.android.gms.measurement.AppMeasurementJobService'
        permission='android.permission.BIND_JOB_SERVICE'
        enabled='true'
        exported='false'>
    </service>
    <activity
        theme='@res/0x01030010'
        name='com.google.android.gms.common.api.GoogleApiActivity'
        exported='false'>
    </activity>
    <activity
        theme='@res/0x01030010'
        name='com.google.android.gms.auth.api.signin.internal.SignInHubActivity'
        exported='false'
        excludeFromRecents='true'>
    </activity>
    <service
        name='com.google.android.gms.auth.api.signin.RevocationBoundService'
        permission='com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION'
        exported='true'>
    </service>
    <activity
        theme='@res/0x0103000F'
        name='com.google.android.gms.ads.AdActivity'
        exported='false'
        configChanges='0x00000FB0'>
    </activity>
    <provider
        name='android.support.v4.content.FileProvider'
        exported='false'
        authorities='com.halfbrick.jetpackjoyride.AndroidShareFileProvider'
        grantUriPermissions='true'>
      <meta-data
          name='android.support.FILE_PROVIDER_PATHS'
          resource='@res/0x7F080001'>
      </meta-data>
    </provider>
    <meta-data
        name='com.facebook.sdk.ApplicationId'
        value='@res/0x7F0A00FC'>
    </meta-data>
    <meta-data
        name='com.facebook.sdk.AutoLogAppEventsEnabled'
        value='false'>
    </meta-data>
    <meta-data
        name='com.google.android.gms.games.APP_ID'
        value='@res/0x7F0A0103'>
    </meta-data>
    <activity
        name='com.ironsource.sdk.controller.ControllerActivity'
        configChanges='0x00000480'
        hardwareAccelerated='true'>
    </activity>
    <activity
        theme='@res/0x0103000F'
        name='com.ironsource.sdk.controller.InterstitialActivity'
        configChanges='0x00000480'
        hardwareAccelerated='true'>
    </activity>
    <activity
        theme='@res/0x0103000F'
        name='com.ironsource.sdk.controller.OpenUrlActivity'
        configChanges='0x00000480'
        hardwareAccelerated='true'>
    </activity>
    <activity
        name='com.adcolony.sdk.AdColonyInterstitialActivity'
        configChanges='0x000004A0'
        hardwareAccelerated='true'>
    </activity>
    <activity
        name='com.adcolony.sdk.AdColonyAdViewActivity'
        configChanges='0x000004A0'
        hardwareAccelerated='true'>
    </activity>
    <activity
        name='com.applovin.adview.AppLovinInterstitialActivity'>
    </activity>
    <activity
        name='com.applovin.adview.AppLovinConfirmationActivity'>
    </activity>
    <activity
        theme='@res/0x01030011'
        name='com.chartboost.sdk.CBImpressionActivity'
        excludeFromRecents='true'
        configChanges='0x000004A0'
        hardwareAccelerated='true'>
    </activity>
    <activity
        theme='@res/0x01030007'
        name='com.unity3d.services.ads.adunit.AdUnitActivity'
        configChanges='0x40000FFF'
        hardwareAccelerated='true'>
    </activity>
    <activity
        theme='@res/0x01030011'
        name='com.unity3d.services.ads.adunit.AdUnitTransparentActivity'
        configChanges='0x40000FFF'
        hardwareAccelerated='true'>
    </activity>
    <activity
        theme='@res/0x01030011'
        name='com.unity3d.services.ads.adunit.AdUnitTransparentSoftwareActivity'
        configChanges='0x40000FFF'
        hardwareAccelerated='false'>
    </activity>
    <activity
        theme='@res/0x01030007'
        name='com.unity3d.services.ads.adunit.AdUnitSoftwareActivity'
        configChanges='0x40000FFF'
        hardwareAccelerated='false'>
    </activity>
    <activity
        name='com.facebook.ads.AudienceNetworkActivity'
        configChanges='0x000004A0'
        hardwareAccelerated='true'>
    </activity>
    <activity
        theme='@res/0x01030007'
        label='HyprMX SDK'
        name='com.hyprmx.android.sdk.activity.HyprMXOfferViewerActivity'
        launchMode='1'
        configChanges='0x00000DA0'
        hardwareAccelerated='true'>
    </activity>
    <activity
        theme='@res/0x01030007'
        name='com.hyprmx.android.sdk.activity.HyprMXRequiredInformationActivity'
        configChanges='0x00000DA0'>
    </activity>
    <activity
        theme='@res/0x01030007'
        name='com.hyprmx.android.sdk.activity.HyprMXNoOffersActivity'
        configChanges='0x00000DA0'>
    </activity>
    <activity
        theme='@res/0x01030007'
        name='com.hyprmx.android.sdk.videoplayer.HyprMXVideoPlayerActivity'
        configChanges='0x00000DA0'
        hardwareAccelerated='true'>
    </activity>
    <activity
        name='com.ironsource.adapters.hyprmx.MediationHMXActivity'
        configChanges='0x40000FB4'>
    </activity>
    <receiver
        name='com.halfbrick.mortar.StoreIntentReceiver'
        exported='true'>
      <intent-filter>
        <action
            name='com.android.vending.INSTALL_REFERRER'>
        </action>
      </intent-filter>
    </receiver>
    <receiver
        name='com.halfbrick.mortar.LocalNotificationReceiver'
        process=':remote'>
    </receiver>
    <service
        name='com.halfbrick.mortar.FirebaseMessagingService'>
      <intent-filter>
        <action
            name='com.google.firebase.MESSAGING_EVENT'>
        </action>
      </intent-filter>
    </service>
    <activity
        name='com.halfbrick.mortar.MortarGameLauncherActivity'>
      <intent-filter>
        <action
            name='android.intent.action.MAIN'>
        </action>
        <category
            name='android.intent.category.LAUNCHER'>
        </category>
      </intent-filter>
    </activity>
    <activity
        name='com.halfbrick.mortar.UserDataConsentActivity'
        launchMode='2'
        screenOrientation='6'>
    </activity>
    <activity
        theme='@res/0x01030010'
        name='com.android.billingclient.api.ProxyBillingActivity'
        configChanges='0x000005B0'>
    </activity>
    <service
        name='com.google.firebase.components.ComponentDiscoveryService'
        exported='false'>
      <meta-data
          name='com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar'
          value='com.google.firebase.components.ComponentRegistrar'>
      </meta-data>
      <meta-data
          name='com.google.firebase.components:com.google.firebase.auth.FirebaseAuthRegistrar'
          value='com.google.firebase.components.ComponentRegistrar'>
      </meta-data>
      <meta-data
          name='com.google.firebase.components:com.google.firebase.firestore.FirestoreRegistrar'
          value='com.google.firebase.components.ComponentRegistrar'>
      </meta-data>
      <meta-data
          name='com.google.firebase.components:com.google.firebase.functions.FunctionsRegistrar'
          value='com.google.firebase.components.ComponentRegistrar'>
      </meta-data>
      <meta-data
          name='com.google.firebase.components:com.google.firebase.iid.Registrar'
          value='com.google.firebase.components.ComponentRegistrar'>
      </meta-data>
    </service>
    <activity
        theme='@res/0x01030010'
        name='com.google.firebase.auth.internal.FederatedSignInActivity'
        permission='com.google.firebase.auth.api.gms.permission.LAUNCH_FEDERATED_SIGN_IN'
        exported='true'
        excludeFromRecents='true'
        launchMode='2'>
    </activity>
    <service
        name='com.google.firebase.messaging.FirebaseMessagingService'
        exported='true'>
      <intent-filter
          priority='-500'>
        <action
            name='com.google.firebase.MESSAGING_EVENT'>
        </action>
      </intent-filter>
    </service>
    <receiver
        name='com.google.firebase.iid.FirebaseInstanceIdReceiver'
        permission='com.google.android.c2dm.permission.SEND'
        exported='true'>
      <intent-filter>
        <action
            name='com.google.android.c2dm.intent.RECEIVE'>
        </action>
      </intent-filter>
    </receiver>
    <service
        name='com.google.firebase.iid.FirebaseInstanceIdService'
        exported='true'>
      <intent-filter
          priority='-500'>
        <action
            name='com.google.firebase.INSTANCE_ID_EVENT'>
        </action>
      </intent-filter>
    </service>
    <provider
        name='com.google.firebase.provider.FirebaseInitProvider'
        exported='false'
        authorities='com.halfbrick.jetpackjoyride.firebaseinitprovider'
        initOrder='100'>
    </provider>
    <provider
        name='com.crashlytics.android.CrashlyticsInitProvider'
        exported='false'
        authorities='com.halfbrick.jetpackjoyride.crashlyticsinitprovider'
        initOrder='90'>
    </provider>
    <provider
        name='com.helpshift.support.providers.HelpshiftFileProvider'
        exported='false'
        authorities='com.halfbrick.jetpackjoyride.helpshift.fileprovider'
        grantUriPermissions='true'>
      <meta-data
          name='android.support.FILE_PROVIDER_PATHS'
          resource='@res/0x7F080002'>
      </meta-data>
    </provider>
    <activity
        theme='@res/0x7F0D000E'
        name='com.helpshift.support.activities.ParentActivity'>
    </activity>
    <activity
        theme='@res/0x7F0D0108'
        name='com.helpshift.support.HSReview'
        configChanges='0x00000480'>
    </activity>
    <activity
        theme='@res/0x7F0D000E'
        name='com.helpshift.campaigns.activities.ParentActivity'>
    </activity>
    <activity
        theme='@res/0x01030010'
        name='com.helpshift.campaigns.activities.NotificationActivity'
        taskAffinity=''
        excludeFromRecents='true'
        launchMode='2'
        configChanges='0x00002484'
        noHistory='true'>
    </activity>
    <service
        name='com.helpshift.campaigns.services.NotificationService'
        exported='false'>
    </service>
    <activity
        theme='@res/0x7F0D021B'
        name='com.facebook.FacebookActivity'
        configChanges='0x000005B0'>
    </activity>
    <activity
        name='com.facebook.CustomTabMainActivity'>
    </activity>
    <activity
        name='com.facebook.CustomTabActivity'>
    </activity>
    <provider
        name='com.facebook.marketing.internal.MarketingInitProvider'
        exported='false'
        authorities='com.halfbrick.jetpackjoyride.MarketingInitProvider'>
    </provider>
    <provider
        name='com.facebook.internal.FacebookInitProvider'
        exported='false'
        authorities='com.halfbrick.jetpackjoyride.FacebookInitProvider'>
    </provider>
    <receiver
        name='com.facebook.CurrentAccessTokenExpirationBroadcastReceiver'
        exported='false'>
      <intent-filter>
        <action
            name='com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED'>
        </action>
      </intent-filter>
    </receiver>
  </application>
</manifest>

As advised by Firelord, the following command was executed.
adb logcat -v long > backup_log.txt

and something strange appear as follows:
[ E/BackupRestoreConfirmation ]
Unable to communicate with mount service: no permission to access the crypt keeper: Neither user 10004 nor current process has android.permission.STORAGE_INTERNAL.

ALLOW_BACKUP:NO in the manifest of the app. Developers can lock their apps against being backed-up, unfortunately. I usually mention that along the 41 byte files – as that's the most likely cause for them.

@Izzy, I include the manifest of the app to the question. I could not find the ALLOW_BACKUP. Is there other file that I can search to get this value?

Hmm, according to the Android documentation, if it's not specified, then "allow backup" is true by default though. However, now that we know the game, perhaps How can I backup Jetpack Joyride save games on Android? might be related?

@AndrewT. The Helium Backup could not backup on the mentioned phone and I don't want to create HalfBrick Profile. I just want to backup and play offline.

Strange, but I agree with @AndrewT. here: AFAIK it defaults to TRUE if not set. So no idea what goes wrong here. Logcat might give a clue.

Before running the adb backup command, can you run adb logcat -v long > backup_log.txt in a new tab or window, then run the backup and when it completes, cancel the logcat and provide us the output using a code-paste service? You may want to remove your email address or any personal information  from the log manually.

@Firelord, Many thanks. Question updated with adb logcat with one particular strange line.

Thanks, but we need the complete log.

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


text:
Can I upgrade Android on my Xoom?
I have a old school 32 gig wifi-only Xoom. I would like to upgrade to a newer version of Android, so I can use Chrome.
Also I got the tablet, so I could download and manage my google home devices. Is this possible without trashing the tablet?

The newest version of Android I can find is CyanogenMod 11. Needless to say it is not getting any updates any time soon, as CyanogenMod is dead and was superseded by LineageOS. There's some guy on the XDA forums trying to build Oreo for it but let's be real for a moment; A Tegra 2 device with 1GB RAM will run Oreo like a 486 old-school PC runs Windows 10.


text:
Hide someone's profile picture in WhatsApp
Is it possible to change or hide my friend's profile picture in WhatsApp? I have tried many ways but still no result.

Related: How to change someone's profile picture in WhatsApp?, Override WhatsApp contact image with the chosen Contact Image


text:
Why does the Google Play Store sometimes not list an app update?
I've noticed that the Google Play Store sometimes does not list an update for an app.
For example, I'm working on a stock, non-rooted, Android Nougat device on which Firefox Focus was installed through the Google Play Store.
The version of Firefox Focus installed is v8.0.5.  When I go to the Google Play Store, I see that v8.0.6 has been available for about a month.  Furthermore, if I manually type Firefox Focus into the Google Play Store, it will allow the app to be updated.  Yet, despite all this, when I click on My apps & games in the Google Play Store, Firefox Focus does not appear in the list of apps with updates available.
This seems to happen fairly regularly for different apps.
Rebooting does not help.  The device does not have removable storage.  I've tried clearing the data and cache for the Google Play Store.  This sometimes fixes the issue temporarily, but then the issue returns.  Similarly, uninstalling and reinstalling the affected app fixes the issue temporarily, but then the issue returns.
Why does the Google Play Store sometimes not list an app update that is available?  Can this be fixed so it doesn't happen anymore?


text:
Are multiple-users protected from each other differently than apps?
I confess that I come from the happy world of unix computers, and am used to the concept of user accounts and hence group gids and userids uids. For the occasional usage of an untrusted app (i.e. whatsapp/facebook) I have created another user profile for many reasons, but mostly because I wanted to reduce any potential access whatsapp/facebook might gain with regards to my main account.
Now the strange thing is that to the best of my understanding the protection mechanism of AOSP, relies on assigning a actually user ids to individual apps, as with those uid, the apps can be limited using that the underlying linux kernel provides Unix Discretionary Access Controls (i.e. file accesss dependent on uid and gid).
My question is if I am misleading myself that AOSP provides any stronger protection with regards to multi-users (in between the accounts) than it does with regards to the various apps to each other?

I don't understand Linux part but this probably should help you https://android.stackexchange.com/q/201826/131553

PRIVACY: ANDROID VS. *NIX:
PROTECTION:
Being protected has a very vast meaning, varying for persons and situations. Comparing Android with *NIX systems, admittedly the former offers more isolation between apps and a more fine-grained control over permissions. Quick examples:

On PC, user is trusting all the processes / apps running under same    UID (usually a human user) (1). On Android it's not the case; every app is a different user to have possibly minimum influence on other apps.
A PC user can easily get superuser / administrator rights, an Android user cannot (2).

The demand and reason are obvious:

Privacy matters more because a phone is a 24/7 inevitable assistant as well as a perfect spy equipped with all necessary hardware tools.
And the reason is that it's easy to implement a more restrictive environment on a less customizable device.

Traditional *NIX DAC dates back to the early days of personal computing, when the isolation was only focused between users (UID's/GID's), not between processes / apps. Because there were no closed-source paid apps in stores from unknown developers; not much personal data to be protected from malicious processes; no user profiling, targeted advertisement, trackers, analytics, ransomware and so on.
SECURITY MECHANISMS:
*NIX DAC was found insufficient particularly with internet revolution, hence superuser privileges were divided into capabilities and new sandboxing mechanisms were introduced at kernel level, including MAC and namespaces. Android makes use of all of them more or less, they control which resources a process can access on device. Also, cgroups control how much resources a process can use. But even then, these security mechanisms weren't enough to minutely lock-down the apps, so a number of controls are handled within Android's own framework (in userspace). Android's system_server has more services running inside it than native services. When I say "mechanisms weren't enough", concern is not only to design an ecosystem to protect user's privacy / security, but also to protect Google's business model as well as of app developers.
PC VS. ANDROID:
It should also be noted that there is no standardization in Android (rather in embedded) world unlike PC's. Android uses a modified Linux kernel, which doesn't fully handle hardware in kernel space, instead relies on a number of userspace closed source processes from SoC / OEM vendors (3), which interact with other processes and hardware drivers using Android-specific binder / HAL mechanism. So *NIX DAC, which is heavily based on everything is a file philosophy, doesn't seem to work very far. A hardware device is no more simply a file in /dev which can be accessed by adding the app process to some supplementary group, there are layers of APIs and IPCs involved (Java and native).
However Android does take advantage of Linux kernel's robust frameworks e.g. DAC. Apps' internet connectivity is controlled by adding them to a special supplementary group 3003. See: How Android's permissions mapping with UIDs/GIDs works?
WHAT SHOULD BE PROTECTED ON ANDROID:
Coming to user's granular control over security / privacy on Android device, a few things one can be concerned about are who can:

Access personal data (pictures, documents, videos, backups etc.)
Get accounts information (added by apps including Google)
Get read/write access to data from content providers like:

Contacts
Call log
Messages

Read user / device identifiers (MAC address, IMEI, Android ID etc.)
Read usage statistics
Find installed apps
Access camera, record audio/video
Make calls, send messages
Get internet connectivity
Get device location
Run in background (e.g. surveillance or tracking apps)

And so on.
APP PERMISSIONS AND SANDBOXING:
Android divides its protected APIs in different Protection Levels. Apps' access to most of the above resources is either controlled by manifest permissions or user has no control over them.

For instance you can't restrict an app's access to internet without using some third party firewall. Every app which requests for INTERNET permission is granted at installation time, you can't remove its supplementary group AID_INET (3003).
Similarly READ_CONTACTS and GET_ACCOUNTS permissions belong to same group and are controlled with same toggle switch on GUI.
And you can't deny an app running in background unless you use Android's hidden permissions manager: AppOps.
And that's not the end. If you want more fine-grained control over permissions e.g. revoking an app's ability to getInstalledApplications, you need some heavy framework modifier like Xposed and XPrivacy.

Every app is assigned a unique UID/GID at installation time and it runs inside its own stance of Virtual Machine, forked by zygote. DAC enforced to filesystems, apps are bound to access only their own directories, particularly on internal storage (/data/user/<UserId>/<pkg_name>), private/public external storage (/data/media/<UserId>) and procfs (/proc/self/ etc.).
DAC sandboxing is also supplemented by MAC, e.g. SELinux policy won't allow apps to read /proc/stat and rootfs (/) (but allow them to read other app's data directory (4) ;). On the other hand /data/misc/profiles/cur/<UserId>/<pkg_name> is allowed by DAC but restricted by SELinux.
MULTIPLE USERS ISOLATION:
An XYZ app in primary user account with UID/GID 10500 can access it's private data/settings/databases in /data/user/0/<com.xyz> but not in secondary user account because /data/user/xx/<com.xyz> has UID/GID owner xx10500 where xx is UserID. How DAC controls access to /sdcard (external storage) is explained in What is the “u#_everybody” UID?
Basic sandboxing isolation exists between apps whether those are from same or different users. But a notable additional isolation between apps of different user accounts / profiles is the separate shared storage (i.e. /sdcard), which is a benefit obviously if you don't trust the app. It's because an app has access either only to its private directories, or to whole external storage. This problem of too open public files is being controlled through Android Q's privacy change: Scoped Storage.
This isolation between apps of different user accounts / profiles also exists at Java framework level. For instance in our above example, getInstalledApplications “returns a list of all application packages that are installed for the current user” only. So an app won't be able to find out what apps you have installed on other user account / profile.
Since the installed apps' data is isolated, the stock Android's content providers (which are also system apps) are also isolated. So the contacts, call logs, calendars, messages, media (list of files on external storage) etc. aren't shared among users.
Other things which are isolated between users (not necessarily enforced by DAC/MAC):

User/app settings which are subject to FDE, FBE and password authentications (/data/user_de/<UserId>/<pkg_name>, /data/misc/keystore/user_<UserId>, /data/misc/gatekeeper/<UserId> etc.) (5, 6)
Apps' usage stats (/data/system/usagestats/<UserId>)
System-wide accounts and settings, not all (/data/system/users/<UserId>)
Custom CA certificates (/data/misc/user/<UserId>)
ART profiles data (/data/misc/profiles/cur/<UserId>)

CONCLUSION:
So in Android world unlike PC's, everything isn't governed by uid's/gid's, for a large part we are at the mercy of Android's core framework. But isolation between multiple users does exist, however it depends on what you want to protect from apps.

REFERENCE:

Multiple Users on Android
Linux vs. Android


text:
My Samsung S7 keeps getting popups saying that "Google Play Services has stopped" and restarting itself
My Samsung S7 keeps getting popups saying that Google Play Services or Knox Enrollment keeps stopping while I'm setting up my phone. It was constantly restarting beforehand, so I factory reset it, but it's doing the same thing it was a few days ago when I bought the phone and set it up the first time. Did I just get a bad phone?


text:
How to recover data off a broken phone?
i have a samsung galaxy grand 2 which have a broken screen that isnt responsive at all, and im desperate to get some important files and images off of it, but the problem is usb debugging is off, its locked with a pin and doesnt support an OTG, i havent tried to use ADB commands yet cause i dont have any experience and the phone doesnt have a custom recovery either, but its flashed from jellybean to kitkat. i will be very appreciated if someone can give me a solution?? what kind of options i have here?

Have you checked the broken screen wiki page?

If USB Debugging is Off, you can't connect to ADB..

The only method, if you don't care about the phone is to try and install a custom recovery.  Then you can backup the data...

After assessing your situation closely !
You only have 1 option.
The fact that you have no OTG, means no access is possible to enable ADB.. You also can not access it in any other way.
A few years ago, ADB would automatically be enabled on every boot, the system would then boot up and configure ADB as per user settings... This allows many root access programs to work correctly ( the reason most repeatedly restart the device )   ...
You may have to write a script for running batch commands,  You can do this easily on Windows
adb restart
adb wait-for-device
adb pull /storage/sdcard0

A simple script used to exploit the vulnerability...
You would save that text file as commands.bat   ( .bat is a batch file )  and run it...
This probably won't work however...
Your only option I could find, cost money and time.
LCD & Digitizer - Front panel replacement
Replace the whole front panel yourself...
People have already Assembled the entire front LCD & Digitizer, so no hassles trying to pry the screen off...
You just,

unscrew the old back
Take the back half off
Plug in the new front half   ( LCD & Digitizer panel )
Screw it back together
...
It's fairly cheap to do it yourself...

This answer is not a guide but just an example of possible solution's.. Please be careful and take all necessary precautions whenever taking apart electrical devices.

You could access phone data with ADB.
This should provide enough information.
This also may cover your question.
There are also quite a few apps that (allegedly) allow you accessing your data. I had not tried any of these, but see examples:
https://www.androidphonesoft.com/resources/enable-usb-debugging-android-broken-screen.html
https://www.fonepaw.com/usb/enable-usb-debugging-screen-broken-android.html
https://www.coolmuster.com/android/recover-samsung-without-usb-debugging.html

Considering you have a locked device, that also has no access to ADB.
Don't Bother With
 • ADB
 • FASTBOOT

Your only chance is Odin
This is a tutorial for noobs or members who are new to Rooting and want to root their phone.
Downloads:
*Odin 3 v3.0.9
*CWM recovery thread(Downloads available for 4.3  and 4.4 also)
*SuperSU
Steps to root your phone:
1) Download the first two files given above to     your laptop/PC.
2) Turn off your phone.
3) Go to download mode (by pressing Vol.down+home+power buttons at the same time for about 7-8 secs)
4)Open the ODIN file you downloaded on your laptop/pc.
5) Connect your phone to your laptop/PC through USB cable.
6) When ODIN detects your phone, the ID:COM area will become yellow/blue.
7) In ODIN click on PDA and then select the recovery file you downloaded. Also tick the check box beside PDA(if there is any)
8) Click on start. The flashing process will start.
9) If the flashing succeeds, ODIN will show 'PASS'.
 That means the recovery flashed successfully. Yay!!!
10) Now turn on your phone and download the third file and place it in your external SD card.
11) Turn off your phone.
12) Reboot to recovery(by pressing Vol.up+home+power buttons).
13) The recovery will start. You have to navigate by volume buttons and power button.
Vol.up - move up
Vol.down - move down
Power button - select option
14) Select 'install zip'.
15) Select 'Choose zip from ext_sd or external SD card'.
16)Select the third file you downloaded. Flashing process will start.
17) After it finishes, go back and reboot your phone.
It's upon you, of you want to follow this:
18)Use Knox Remover to remove all Knox files.
Enjoy your rooted Galaxy grand 2!!! Now you can flash other recoveries or flash other custom ROMs or custom kernels.
Some useful tips(Experimental/WIP):
You can use Triangle Away to reset       the flash counter after flashing ROMs and make your device status from custom to official. This is a really useful app. Report here if it works. You needn't download from google play, you can scroll down and download from the attachments.
CREDITS:
@shabbypenguin: For CWM recovery.
@Chainfire: For SuperSU and Triangle Away.
@AL_IRAQI: For Knox remover.
REFERENCES
xda-developers.com.../guide-easily-root-galaxy-grand-2-sm-t2812807

After Getting CWM Recovery, DO NOT FOLLOW THE OTHER STEPS, THEY'RE SPECIFICALLY FOR ROOT ACCESS

Open CWM and Backup Data from Internal Memory...
Open the backup on your PC, it may need to be extracted with another software like 7Zip.
Extract precious data from the internal storage ... DATA/MEDIA/EMULATED/ - or similar.

Hello, Sorry for the delay but my phone is actually already rooted by a one click root app, it have been like that always but yeah i thought of getting a custom recovery but how will i do that? i have actually struggled on finding the no touch custom recovery for samsung galaxy grand 2. and again thanks for the reply :)

You can find many recovery porting guide's online, I've personally only ever had luck porting MTK processors so I can't be much help in that direction... I'm currently running a custom port of TWRP 3.0.2 that I managed to port in about an hour... The trick is to ignore your devices name and look for CPU specific porting guide's.. It also results in a lot more guide's...

Are you saying that i should look for CWM custom recovery that suits the CPU not the actual Grand 2? seriously all the links for CWM recovery for grand 2 are broken.

Try TWRP and a Keyboard & Mouse to control it... Access the File Manager and copy your needed data to an SD Card.. Then take out the card and put it into a computer..https://duckduckgo.com/?q=samsung+galaxy+grand+2+twrp ....


text:
How to Transfer multiple files using bluetooth without repetitive confirmation?
Many times I had to transfer images from my Smartphone to my laptop. Sometimes, until 50 images. Normally, I have to confirm 50 times to receive all the images from that smartphone. Quite wasting time and annoying. So, I want with just one confirmation, it will confirm all reception.
Is it possible? I am using Android 4.4.4.

Just use a USB cable and transfer over PTP!

I know about it. But my question is using bluetooth as more practical if such method is possible.


text:
Change an app language without changing the system language nor rooting the phone
i have a phone the language of which is English. I also have a Mi Band 3 on which I have installed Arabic package to be able to see my friends' messages in Persian (using the same characters as Arabic). If I want the Mi Band 3 to use the Arabic language characters, the language of my phone must be changed to Arabic to make the language of Mi Fit application also Arabic, and I know for sure that I don't want such a thing. How do I change the language of a single application (Mi Fit here) without rooting the phone?!

What is that app? Please specify it.

Mi Fit which is used to connet the phone to Mi Band 3.

Your question seems strange to me. I am not familiar with Mi Band, but please see answer posted.

What you mention is strange.
I do not have Arabic, but what I have likely applies to it.
There are at least three different places where the language (and alphabet, if different) may be relevant:

System language/alphabet.
Input language/alphabet.
Displayed messages language/alphabet.

I have two language/alphabet combinations as input (Samsung Keyboard), but I do not have both languages for the system interface. That is fine, as the first two item are covered by completely different settings.
As for displayed messages, I found no problem in WhatsApp and Viber showing messages in a different alphabet.
It is not up to any configuration of my phone.
It is up to the sender to have that alphabet as an input choice.

The intelligent wrist band (mi band 3) adapts it's language with the language of the application Mi Fit with which it is paired. The Mi Fit application gets its language seeing directly from the display language of the phone. Therefore, if I set the phone language as English, the Mi Fit application and also the Mi Band 3 will be set English, and the messages in other languages (e.g., Persian) will not be shown on the band.


text:
How to change default microphone input at Android devices?
I have an android box (not tv box) that doesn't have a built-in camera or mic. I have connected Logitech c920 webcam via an USB port. (The android box: supports OTG port and jack 3,5 but I want to know if the connection is possible via a USB Camera).
The camera is compatible, but I can't hear anything, I can record only video. I have tried a lot of apps, but the only app that can recognise video and audio with tha same configuration is USB Camera - Connect EasyCap or USB WebCam. I want to enable mic from the webcam for almost every app.
Can I change the default microphone option somehow? Is this possible, if I change some settings, or with shell commands / or script / or app or any other way? Can anyone help?


text:
Is there an app where you can control your phone w only hardware buttons
My phones touch screen is broken, it only responds for like 2 secs everytime i turn on with power button.
Need somethin like double press vol key equals swipe left, and other key is right. Hold for swipe down up.
Thankss

Xposed Edge and Xposed Additions app can do that, but they require root access and Xposed Framework installed.

I don't think so.
Use bluetooth to connect something like gamepad or keyboard to control your phone, but I should have changed screen or bought a new phone.

If your phone has OTG,

Plug in a USB Mouse & Keyboard.


text:
Determining the real reason why WiFi does not connect
Often, I try to connect to a Wifi from my Android phones (one is 4.* series, another 6.*), and sometimes it ends with:

Status: "Saved"
Status: "Connected, no Internet"

Plus a couple of others, even if the phone(s) report "Signal Strength: Fair" and so on.
So, since the OS does not really tell you a reason why it cannot connect - is there any way to know it?
I guess one could try some of those apps that read logcat on the phone, such as:

MatLog Libre
Logcat Reader

... although they do seem to need root (or special permissions).
Plus, I suspect, some of the times it could be just my phone's radio is too weak to reach the WiFi station (even if the WiFi station's signal is "loud" enough for it to be heard by the phone), and I'm not sure how straightforward it is to reach that conclusion by just reading the data in the logs.
Any ways like that out there?


text:
How can I use EMUI 9's twin-app feature witg any app on a non-rooted device?
I'd like to clone a few apps on my phone (honor Play) without root or any 3rd party app. I've followed this article but the cloned apps don't show up on the phone.
Is there a way to use this feature with anything else other than facebook and Whatsapp without root/3rd party apps?


text:
Troubleshooting wifi issues
Suddenly the wifi of my Xiaomi A1 stopped to connect my home's wifi :-/
There is no update, either phone or router, I'm aware off. But  at some point yesterday I realized I was not connected. So I tried to manually connect. First weird thing, Android doesn't have the password saved. I enter again the password, and I just get "failed to connect".
All the other devices (iphone, ipad, macbook, google home, chromecast, etc.) keep working as normal.
I've rebooted the router just in case, but no outcomes.
Any idea how can I troubleshoot that?

Have you also rebooted your phone?

Yes, I did that too.

It might be drastic but try to reset the network settings (found in Settings). Mobile & WiFi settings will be reset.

Yeah, I already tried that, with no results :-/

Create a hotspot on one of your other devices, and test if the xiaomi will be able to connect to it, to rule out a faulty WiFi chip

Damnit! It doesn't connect to that hotspot either... So the wifi chip has died. I'll try to make a hardware check.

This may be extreme but have you already tried a factory reset on your device?

As discovered in the comments thread, my issue looks to be a hardware issue on the phone itself.


text:
Connect from windows to distant FTP server through the sharing connection
I have a Mi mix 2s phone (good phone) but I have an issue with it.
I'm a webdevelopper and I'm sharing my 4G connection to my computer (Windows 10) but I can not use FTP (to connect to a distant server) on my computer. It's not connecting. I tried it by creating a wifi network and also by sharing my connection through USB and none are working. I never had an issue before with my previous phone, this is the first time it's not working. I think I just have something to activate but I'm not able to find what.
Does anybody had this issue?
Thx,

Is your phone rooted? Are you using some firewall app on phone?

Not rooted and no firewall (And I should not need to)
The phone is straight from the box, I only activated the developper mode.
I had 10 different android phones and it's the first time it's happening...

Anybody?
I'm a bit stuck, I will have to change the phone...

You will have to troubleshoot the issue yourself. Use network tools ping, nmap etc. to find out where the packets get dropped. Are you able to connect to FTP server from phone?


text:
Problems after rooting with TWRP and SuperSU
I'm having some problems with my Samsung A3 2016 (A310F), on Android 7.0.
I rooted the device using Odin3 v3.12.3 and flashed TWRP 3.0.2.1 SMA310, and then installed SuperSU v2.76 using the TWRP that had been installed.
Unfortunately, whilst the phone had become rooted, there were a number of problems with the device. The Wifi button became stuck and greyed out in the "off" position, the camera wouldn't work, SD Card storage is not showing, and when connecting the phone to my PC via USB it doesn't open Explorer like it did before rooting (I can see it in Device Manager, but it is impossible to access the phone). Furthermore, the phone cannot access the Internet using mobile data either.
I have tried to clear the Cache and Dalvik Cache via TWRP, and reset network settings, neither of which has worked.
My research has suggested that perhaps SuperSU v2.76 is the problem, and that I would need to use SuperSU v2.82. However, I cannot find any way to get SuperSU v2.82 onto the device.
I suspect I need to start from scratch somehow, but I'm very new to Androids and rooting and I'm not sure what to do.
Can anyone please give me some advice?

If you can still access TWRP, try flashing 2.8.2 from the links here

I can still get access the TWRP menu, however how do I get 2.82 onto my device? My PC no longer picks up my phone when connected via USB (it did prior to rooting), and the phone won't connect to the internet via mobile data, nor does the phone recognise the SD Card.

Have you tried mounting the SD inside TWRP itself?

In case anyone else has the same issue, I managed to solve the problem.
I unrooted the phone using the option in SuperSU, and then flashed the device with the stock firmware using Odin.
This fixed all the problems, and allowed me to successfully connect the phone to the PC via USB.
It turns out SuperSU was problematic, and that Magisk is a better solution for this particular firmware.
So I placed the latest Magisk build on the phone via USB, then used Odin to put TWRP back on the device. Then, from the TWRP Recovery menu, I installed Magisk.
After this, I installed Magisk Manager from GitHub.
The phone was successfully rooted after this point, and all functions are working properly.


text:
How to paste text between existing words?
When writing on Android, such as YouTube comments, I sometimes need to change word orders or paste words. Cutting an existing word is easy: just long press the word and then select "Cut". But I have been having difficulties in pasting the test at the right position.
For example, let's say that I have copied "vicious" in the clipboard, and I want to paste it into an existing sentence "I saw a dog." between "a" and "dog". If I try to long-press the space between "a" and "dog", the word "dog" gets selected. I can then select "Paste", but then the current selection gets replaced by it, which is not what I want. I cannot find anyway to past a word without selecting anything.
I am using Gboard (Google Keyboard).

Put some soaces between the words, then long-press and paste.

Thank you for the workaround. And for the Irfan View.

Select the Google symbol in the top left of Gboard.

Select the -I-.

Use the arrows to move the cursor where you want to paste the word. Select paste.


text:
How can I add a system service to Android?
Me and another person are attempting to enable NFC on the Verizon Wear24. The watch itself has a PN548 NFC chip inside of it and was missing the kernel drivers as well as the NFC service.
We have found some older answers on SO.com about adding system services (which is what we need to do) but these were written in 2011-2013 (6 years ago as of writing this) and specific to Android 2. Most of the things these answers refer to don't exist on our ROM.
One issue is that we don't have any source to build from -- WearOS is closed source. We can only edit the existing ROM contents.

You would probably need to build an application that runs a persistent service.. The application starts on every boot and then starts the service...

See if this is applicable to your situation: HOW TO ADD CUSTOM INIT SERVICE TO ANDROID?

You need to build a system application if you want it to be permanent..  Their is other ways to implement the service, like using init.d and some shell commands to be run at each boot ..
However the easiest method would be to build a simple Auto Start application that starts the service.
I found this answer on SO about building an Auto Start application that also starts a new service...

Answer on SO

It's fairly easy to build... Once you've built the application, try to install it in the system/app folder and see if everything works... You may have a locked system and can not modify the system apps...
So you will need to use a command list that is run on each boot,... Init.d script should do that.


text:
Android and battery issue
Recently purchased a new cord and box.
It is now flashing on/off on the battery feature.
Help
It is also not holding the charge

What android device are you using ? .. Version, Etc... Have you damaged the charger port, has it had water damage ? ... Is the "Box" a new Adapter ? ... .. The Adapter may be the wrong voltage .. Your device might require a stronger one, or hopefully not for you sake, a weaker one...

Samsung Galaxy S5

Cord and adapter where just purchased at my local tech shop.

Whey you are talking about "cord and box" you mean an USB charger and an USB cable, right?

The question needs to be more explained! But still, I will try to answer your question.
If you have recently bought it and you are facing problem then there is a strong chance that you have got a faulty product. And you can't recognize the problem by your self because it's more likely faulty in hardware. So, what I recommend is to try another charger if you have it already or just spend a few dollars to get a new one.
Also, there may be a software glitch that preventing the charging. Try to update or reset the phone. Doing these will give it a fresh kick. And if you are still not fixed then I highly recommend following my one of the article. I have pretty much explained about battery issues along with fixes.


text:
What is the best way to ensure adb access if a screen breaks?
I just broke the screen on my OnePlus 6, which doesn't allow adb debugging until you change the USB Connection Type to 'MTP' (via the screen), and their repair service states they will wipe any device they are sent, no exceptions. I didn't unlock the bootloader, and so unlocking it to flash a different recovery will also wipe the device. It also removed adb over wifi, so it appears it is completely locked down.
On my next phone (Razer Phone 2), I want to ensure this never happens again. I am concerned that potential Android updates may also require screen interaction before it will allow adb over USB, or that adb over wifi may be removed.
What is the best way to ensure that I can maintain adb access without screen interaction in the case of a future breakage?
I plan on:

Unlocking the bootloader right away, so that worst case I could flash a custom recovery like twrp that would allow adb access
Enabling adb
Authorizing at least two computers
Setting the default USB mode to MTP (if possible)
Enabling adb over wifi, but ONLY if I can lock it down

Regarding adb over WiFi, I don't want this fully enabled on every network I join. Is there a way to whitelist only my home WiFi, or to only allow it from authorized computers?
I'm looking for ways to not lose access like this in the future - I have to order a replacement screen and repair it myself in order to try and retrieve the data. It's also important to me that I don't lose access via any system updates in the future, though this is difficult to ensure. Perhaps a nandroid backup of a system with everything ready that could be restored through the recovery?
In devices like the OnePlus 6, that have removed adb over WiFi and require touch input to adb over USB, what are the viable options?

Authorizing one computer is enough, but you should backup the adb key (~/.android/adbkey and adbkey.pub).

This could be a problem with the installed drivers if you need to switch to a data transfer mode such as MTP to use adb. I use adb on charging only in data transfer mode, which is status-by-design, in OnePlus 6.
For the broken screen issue, I don't know if this would help. You could try with an OTG cable and a mouse to see if it works automatically. There is an OTG toggle in Settings app so it might be the cause if this approach doesn't work as plug-n-play.
As for your approach on your new phone, understand that adb over wifi is safe. Whether on wifi or on USB, your phone would show an authorisation approval dialog to approve a machine (PC) for USB Debugging, be it on USB or Wifi. So you need to careful more on what machine to allow for, instead of restricting the access over a specific Wifi.
However, it is possible to mistakenly authorize adb over wifi when unsuspecting that the dialog would show up suddenly, say when you were playing a game and so deeply engaged that you just nearly click anything as ok that shows up on screen, so for that you would want to restrict access to adb only on your personal wifi with trusted machines.
Now for that, you can use automation. I use Tasker app to automatically enable adb over wifi on boot. For your case, here are the instructions (tested with a rooted OnePlus running Android 8.1):

Profile: State → Net → Wifi Connected (requires Location permission and Location enabled at all times):

SSID: select your SSID/WiFi's name
Active: Yes
leave the rest untouched

Task: Code → Run Shell:

Command:
setprop service.adb.tcp.port 9999
stop adbd && start adbd

Tick Use Root

Long press the task next to profile and select Add Exit Task.
Exit Task: Code → Run Shell:

Command:
setprop service.adb.tcp.port ''
stop adbd && start adbd

Tick Use Root

Now, as long as location service remains enabled, Tasker would detect when the phone gets connected and disconnected to your SSID. When connected, adb would be listening over your WiFI on port 9999 (choose any port of your choice but above 1024). When the WiFi disconnects from that SSID, adb would not listen on a port.

If you plan to use TWRP than even if a system update messes up with your USB Debugging settings TWRP would always grant you access to debugging automatically as it works independently of Android system installed in the device. You don't need to change data transfer mode there either. If you need to do it, something is definitely not right. Furthermore, if you have TWRP installed than you have deeper access to your data that which adb can never have so you need not to worry about debugging in Android if TWRP is available and kicking.

On the OP6: Something must be off then, maybe the adb or authorizations got reset on a system update I took without realizing it, and that's why it's not showing up. Other phones adb just fine with the same computer (a OP1 and HTC m7vzw). As I recall, the OTG could only be enabled for a limited time, and then it turned off automatically and boots in the off state.

On the new phone, I plan on unlocking the bootloader and installing TWRP as soon as it's ported to the device, which it hasn't been yet. Even with the authorization dialogs, I'm not happy with open :5555 over all my connections, is there a way to lock it down to only whitelisted SSIDs?

@Ehryk I have edited my answer and added a way to enable adb over wifi only for a specific wifi.

Thank you. I think between TWRP and adb over WiFi on my home network, I should be covered on my next device.


text:
Factory reset did not remove malware problem on my ZTE zmax blade. What do I do at this point?
Surveillanceware or a worm of some sort has highjacked my Android and Facebook and email accounts. I'm unable to scan with my premium plus lookout account because the virus has disabled lookout and doesn't allow me to enable it. The Facebook app is uninstallable which I believe to be one of the infected apps. My phone didn't come with Facebook preinstalled before but now it's showing as a system file. I've factory reset and I still have issues. I'm being prompted to reset my password on my Gmail n Facebook sign in page when I know I just reset it and I'm typing it correctly. My photos have vanished. Please someone help me. How do I bring my Android back to health if my antivirus app can't even b enabled. When looking at my apps list I notice apps that I didn't even install and I can't remove them . I started in safe mode and proceeded to uninstall Facebook however Facebook wasn't on the list but when I go to running apps Facebook is there n shows it's running. Help me please, anybody?

Factory reset has wiped your files, includng your images. as it stands,a reflash or new phone might be your only options, particularly if AV isnt being allowed to work.


text:
Is there a Google Play app that can be pushed to a device with a broken screen to retrieve data without user interaction?
I'm at my last resort with a OnePlus 6 with a broken screen, with the only remaining option being to order a replacement screen to get back into the phone to retrieve the data. Before I go that route, I wanted to check if there isn't a Google Play app I could push down to it to retrieve my data.

Though I had enabled adb at one point and authorized my computer, it seems to have been reset/cleared authorizations through a system update, and doesn't present over adb when connected to USB
The digitizer doesn't seem to work either to hit a button / stab in the dark at user input
USB OTG support is off at boot, and can only be turned on for a limited time in the settings, which prevents keyboard/mouse input
The bootloader is locked, so if I unlock it to flash TWRP, my data will be wiped
OnePlus Repair refuses to not wipe my data if I send it in for a screen repair
Dropbox is installed and would sync the pictures, however I turned off syncing when my dropbox was filled and I don't think I can 'push' settings changes down to the device

However, it boots just fine and connects to my wifi at home. Are there any Play apps that I could push to the device that would run without user input and allow me to retrieve data from the phone? I mostly just want my pictures and videos, but ideally would want to review the entire file system.
Does anything like this exist? Even just opening a read only ftp service would work for me, but I suspect that I can't just push down any .apk using the Google push option, and that due to the potential for abuse many aren't allowed into the store.
If I'm wrong... well I could start writing an .apk to do this I suppose, unless someone has already jumped this hurdle before.
EDIT
Alternatively - anything I could push from Google Play that would enable adb (USB or WiFi) and authorize anything connected without user input would also get me up and running.

The only thing It goes through my mind is to install an emulator, who will screen your phone to your pc… and then using the PC you transfer the dana to the PC.

Are there any Google Play Store apps that I could push that would do this without any user input on the device?

Not trying to sponsor, but I think the app's name was Vysor.
And yes, you need to install the app using ADB.

@FiN If I had adb working, I could just get my files :) I'm looking for something I can deploy down to the phone through the Google Play store 'deploy to phone' feature.


text:
How to fix settings not working?
I am currently using lenovo A1000 android phone. When I try to open it's settings, it just gives a blank white screen and nothing else. Other apps are also not working such as YouTube, Google play and night mode. Please tell me how can I resolve this issue soon before all the apps would stop working.

How did this start? Did you install some app or made some other changes? Usually a factory reset is recommended in such situations.


text:
"Allow USB debugging" keeps on popping up
We are doing automation testing on mobile devices with Appium, but the testing fails because of the popup 'Allow USB debugging?' even though the device is already connected through adb connect and adb devices.

I already checked the 'Always allow from this computer', but still, sometimes it pops up and causes the test to fail, and other times it works just fine; not popping up at all.
How to address this issue?

Change the USB cable
My proposed solution is not general, but may work in in some special cases.
Here is my story: Once I used an old USB cable for connecting my 10 smartphones to my computer. It worked well for 9 phones, except for 1 phone where “Allow USB debugging” kept on popping. Then I changed to a newer USB cable, and the problem went away.

I was getting this every few minutes. I switched to a different USB cable and haven't gotten it in a couple of days. We'll see if it lasts but definitely worth a quick shot. Thanks!

In my case, I was continually getting prompted with one fingerprint. I revoked all debugging permissions and next time the dialog popped up, I noticed the fingerprint had changed. So far I haven't been prompted again.
So: try revoking all debug permissions and then allowing USB debugging again.

One possibility for this problem may be located on PC side: May be you are running multiple adb daemons with different private keys. The private key is used for identifying the "this computer".
The relevant files that contain the cryptographic identify are adbkey and adbkey.pub located in the folder .android folder within the user home directory:

Windows: C:\users\%username%\.android\
Linux: ~/.android/

Make sure those two files don't change. Some other software may overwrite these files.
Another possibility would be a problem on device side that e.g. the adb server crashes and losses the data on previous authorized computers. Or it may be a bug in adb that causes the identification of the computer to fail.

Problem with the USB port or the the cable can also does that. It used to be the case with  my Nexus 6 (bad port, bad cable) but this is unlikely the case for OP though.

Thank you @Robert for this one. I will sure to check it on my side. But i am using my pc that is connected to the mobile device with a usb cable. Regarding on the another possibility, should i have a checker to check every execution whether the RSA key of the computer is already authorized to the mobile device then add it otherwise?

Yes @Firelord, I also think that it may be because of the usb cable that caused the loss of connection but I have a checker to execute adb devices to check if there's a connection before executing the test. It says that it is connected but it will fail in creating the mobile capabilities in Appium. So that's what I am wondering about as to why it failed when it says that it is already connected. Then it also prompts the 'Allow usb debugging' even though I already checked the 'Always allow in this computer'

Make sure the cable is fully plugged on both ends. On computer side it was a bit loose. It solved the problem.


text:
Access file in sdcard from init.rc
I need to copy a file from the external SDcard to a location in the root partition, during the boot process (from init), after /data is mounted. I used Carliv's tool to add the following line to init.rc but it looks like the external SDcard isn't mounted yet at that stage:
on post-fs-data
     copy /mnt/m_external_sd/file /file

It's Android 7. How can I do that?
Thanks in advance.

Use some later trigger like on property:sys.boot_completed=1 instead of post-fs-data. It depends on when you need that file execactly in boot process. Or add wait command. But better is to place the file in initramfs permanently, if it isn't changed on every boot.


text:
Replace custom ROM system app with stock variant
I am running Resurrection Remix Oreo (8.1) on my Samsung Galaxy S7 (herolte). This has been my preferred custom ROM for years now. However, I have an annoying problem: the SIM toolkit[*] application does not work properly. It used to work on the phone I had before (Galaxy S4 with RR 8.0).
For testing purposes, I switched back to stock firmware and gave it a try. Everything worked fine. Thus, I would like to copy the original STK app to my custom ROM. I also tried RR Pie (9.0) and original LineageOS 16, without success.
However, I cannot just copy it over. It somehow must be signed correctly. This is my first problem. Can I sign it with the public android platform key? Or would it have to be signed with the RR developers' private key?
There is another problem: The app is made for Android 8.0 (API 26) whereas I am using Android 8.1 (API 27). I might be able to change the manifest using apktool or something similar.
I would appreciate any advice.
[*] I use this as an authentication method for my online banking platform. The bank sends a message to my phone telling the SIM card to pop up a dialog where I have to enter a special PIN (not the normal code to unlock the SIM card). The phone then sends back a message to my bank telling them to log me in. What currently fails is the "OK" button. Pressing it gives absolutely no reaction. In more recent versions of LineageOS, there is also a "Cancel" button, but it does not work either.

Have you checked adb logcat if any errors/stacktraces are visible when you press the OK button and nothing happens. If yes you could file a bug report for LineageOS or RR so that the bug can be corrected.

@Robert I have filed a bug report to LineageOS for the original version. I did not file one to RR, because they just fork Stk from Lineage. Catlog does not show anything useful though, especially nothing upon pressing the OK button

@Philipp Imhof Have you got anywhere with this? I'm having the same problem. Samsung A5 on Lineage OS

@klinghust Unfortunately not. I have switched to a Samsung based custom ROM. As a side effect, the camera is much better than before and Bluetooth works better as well.


text:
How to access files via localhost in firefox browser
I'm looking for a way to access my devices files in Firefox. The reason for this is I want to use an extension to read *.md file.
I know that I can use file:/// to access files, but the extension can't use this way. The only way is to use localhost. I have searched around but have only found talk about accessing the PC via localhost. I want to access the local android files.
Here is the link to the extension I want to use: Markdown Viewer

I think, files you can see with file:/// URLs.

After playing around a little and trying out some options (especialy from Firelord), I decided to actually try to use file:///, and to my great surprise it worked, even though the instructions for the add-on says it doesn't.
So to answer the question, you can access the files by using file:///. This is much easier then having to install and setup another app.

If you need localhost, than run a web server on your Android and bind it to loopback address. There are many apps on Play Store that can run a web server. I just tested out HTTP Server powered by Apache and it works fine.
Instructions:

Install and launch it.
Grant Storage permission/access.
Download an Apache version. The latest version comes with the app and would be marked with X sign next to it. Tap on that entry once to install that version.
Afterwards, go to the section Server address & port → Change:

Server Address: 127.0.0.1
Server Port: 8080 (or anything above 1024)
Fallback action: Stop

Start Server. The server's home directory is /sdcard/htdocs/public/, so move your directories under public directory.
Setup your addon in Firefox and add http://127.0.0.1 under Allowed Origins as mentioned here.
Load your file in Firefox by using the address `http://127.0.0.1:PORT/PATH. The extension should work now.

Replace PORT with the port you used for the server. Replace PATH with the path of your directory/file relative to public directory. So, if  file is under /sdcard/htdocs/public/testing/readme.md, the PATH should be testing/readme.md.
Note: for some reason the addon sometimes load, other times it just shows a blank page when trying to load README.md.

Well you can do this by simply installing Apache Web Server in Termux. So after installing Termux. Do the following steps:-

apt update && apt upgrade -y
apt install apache2

It will install Apache Web Server in your Termux
Then do apachectl start it will start the Apache server.
You might see a Warning like this:-

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

To correct this : just uncomment the line 221:
which says # ServerName
www.example.com:8080
And then place your /sdcard in your
 web root:
(/data/data/com.termux/files/usr/share/apache2/default-site/htdocs/)
by doing
cp -r /sdcard /data/data/com.termux/files/usr/share/apache2/default-site/htdocs/
Then point to:
https://127.0.0.1:8080/sdcard in your browser.
Now, you will be able to access your files in your browser.

I would like to be able to access the sdcard on a steady basis. Besides that copying it takes a long time, and waists a lot of space.

@Sruly It will not actually copy /sdcard instead it will create a symlink like this:- sdcard -> /storage/self/primary in your webroot and it takes no time and extra space

OK thanks that clarifies it. I thought because of the -r that it copies it, thanks for the clarification.


text:
WhatsApp Web doesn't generate QR code on Android phone's browsers
WhatsApp Web doesn't generate a QR code when opened on Android phone's browsers.
I have already changed my settings to the desktop view, but still, the QR code is not generated.
How to show WhatsApp Web's QR code on Android phone's browsers?

Why would you want to use Whatsapp web on a phone?

The biggest issue is if you are looking to use WhatsApp Web on your primary device associated with your WhatsApp account, you will be unable to scan the QR code at any rate to validate.

@Firelord I assume OP wanted to mirror WhatsApp account on another Android device (which might make this an XY problem if that's the case) since according to WhatsApp FAQ, you can only use 1 account on 1 device, if I didn't misinterpret it.

Dark themes in a browser may prevent the presented QR-code to be scanable by phones.

If you're using Google Chrome for Android, then go to the menu, find the Desktop Site option, and see if it is already checked or not.
If not, then tap on it. It will be checked & show you the Desktop Version where you'll see the QR Code.

It works fine once, the qr code appears. When I close Chrome and reopen it going to web.whatsapp.com no qr code appears. After cleaning up Chrome all data, links, cookies, it works again, just once. Why?

As far as I know, you can't open WhatsApp Web on a phone as of now.
I have also tried many times before using many different browsers, but no go. Maybe in a later time, some new browser or setting can enable this.

If in settings you clear ALL data of the Chrome app and restart Chrome, it works once. Obviously a cookie problem. Solution is to close all tabs, open a new incognito tab, check the Desktop site version from the menu, if not checked, open web.whatsapp.com et voila: the qr code.
Important is to open a NEW tab, when you exit from incognito Chrome deletes all cookies of it!


text:
Finding which lte bands my Samsung galaxy tab supports without rooting?
Everything is in the title It’s not about the bands currently in use but those my device can supports (my cell phone provider is refusing to let me access full of their supportted bands)…
As I don t know the target region of my device, the only way to know is to find which ones are supported in practice.

While the question looks like on-topic, the question is a bit terse as of currently written. It'd be better if you can [edit] and add a clear example for your specific case, which device (the title says: Samsung Galaxy Tab, but the tag says: Samsung Galaxy S3?), the current LTE bands your device support, and the theoretical LTE bands the device should support.

@AndrewT. My device is in tags. I have no idea about what bands my device supports in theory. Really… Everything I know is in the question. I’m failing to see what I can add.

I assume you meant Galaxy Tab S3 (tablet), not Galaxy S3 (smartphone). Also, it's preferable to do some researches first so that the question is clear and unanswerable from the beginning. I made an edit for you this time, feel free to [edit] and improve it further :)


text:
Phone PIN visible to keen observers?
I acquired a S8+ earlier this week. One thing I noticed is when I enter my PIN, the number will only vanish after I hit the next number in the sequence. At best, a keen observer will only see the last number. At worst, someone will get my PIN by watching over my shoulder, etc..
Is there a fix for this behavior on the phone?

As pointed out by @user452820, there is a security setting in settings for that.  Go to Settings > Lock screen and security > Other security settings and change the slider on Make passwords visible.

The blue slider should be greyed out to stop it.

You need to go to your phone's setting then find security. In security section look for password, find "show password" and turn it off. Sorry if I didn't say the exact place because I don't know how settings look like in your phone. But it's android and it means it should be there.


text:
Emojis on Facebook Messenger for Android are gone
On Facebook Messenger, I'm used to be able to choose between emoji/sticker/GIF when I press the little smile next to where you enter the messages on iOS. But on my Android phone, there are only stickers and no selection field where I could choose GIF or emoji.
How can I select an emoji or a gif on Android?
If it's relevant, the device is Sony Xperia Z3 Compact running on Android 8.1 Oreo.

This messenger update pisses me off so much. I am used to pick emojis via this smiley icon and after the update I always end up tapping the smiley again and again, and then have to go back and change my keyboard to pick OS emojis. This is so .. urghh.


text:
Rooting Panasonic Eluga Pulse X phone
I just recently bought an Android phone named Panasonic Eluga Pulse X, but its internal storage is way too low that I want to remove some bloatware by gaining root access.
I have tried so many one-click root apps like Framaroot, KingoRoot, etc. but none worked.
How to root this device?

Isn't it possible to unlock bootloader and flash custom recovery? One click methods aren't a genuine way to root phone.

@Irfan Latif unlocking bootloader and installing twrp is possible but first i should get the scatter files which i am not able to get because mtk droid tools doesn't support mt6737 chipset


text:
How to test emergency broadcasts?
I want to test the emergency broadcast notifications (those for extreme weather and similar) to make absolutely sure that they work and everything is set up correctly.
How can I do this? Google only tells me how to disable them, when test broadcast for the entire USA happened in the past or gives me an app that produces fake alerts that don't use the builtin system.
Fairphone 2, LineageOS 18.1 (Android 8.1), rooted and XPosed installed with Magisk

The tags were just guesses, I found nothing more fitting. Please correct them if you have a better idea.

I guess with the Corona stuff, either my emergency broadcast notifications are not working or whoever is responsible to create these broadcasts didn't do their job very well.


text:
Random touch problem!
Huawei G8
In this phone when i do some heavy stuff like play a game or may be randomly twice in a day my phone touch become irresponsive. Restarting from power button also don't work when i even touch restart!
Swipe on screen don't work like unlocking via swipe or swiping notification bar. although launcher pages do swiped. I go to home screen either via finger print unlock or opening camera and then going to home screen.
It get fixed after force restart.
 So i want to know that what kind of problem is this. Soft or hard side?

If the problem occurs does anything works in this situation (e.g. notification of new message)? If not may be the system has just crashed and you only see the last image before the crash.

yes. i notice that certain operations don't work like pressing power button and then touch on power off or restart don't work although other function like volume control with touch works!


text:
Why wont my device run Twrp img for rooting
Okay, happy post Vday.
So, Im trying to root an unlocked Blu J1, running Marsh. 6.0. I recently reset it, due to perf. issues & now trying to root.
My setup is Win7, w/ the latest Usb drivers through Sdk & UniversalAdb. I have Usb debugging active on the phone & the device shows at command level with Adb devices & in Fastboot mode. **Ive unlocked the bootloader on the phone itself, & then xferred the Twrp.img files different times.
The twrp files were the latest 2 off the site Twrp.me as of 02/15. Its a successful transfer on fastboot, which is good. but when I go to restart, it shows as stock recovery studio_j1_6.0/user/release-keys but not the touch responsive Twrp. ..
I eventually want to use Su or Magisk zip to gain root. The phone remains bootloader unlocked which is good. I've tried the Adb command, adb root, and then went through these steps, -still nothing. Im on the hunt for recent clockwork mod, to try tht way, only ones are like '11 or'12.
So, is the stock recovery hard coded. -it doesnt have 2 separate partit-I ran a partit check just in case.
I also went to grab the omnirom androidrecovery 6.0 off Github at github.com/omnirom/android_bootable_recovery/tree/android-6.0, but its .zip. And when I apply updates through Sd card update in stock recovery, I get install aborted across the board on any .zips..
Im on the waiting list for Kingroot to add my device. so thats good.
Either way Android SU shows as not rooted once fully on.
Any feedback greatly appreciated.

Can you try fastboot boot YOUR_TWRP_IMG, then flash your magisk files first and then flash recovery from within recovery?

I have tried booting into an img.I believe it was for 2 of the like 5 imges of different sizes as they were too large for the partition.  I can try the smaller others tho.  Ive read it has to match the device specs spot on tho to load.   Booting is more failsafe than flashing although.  I guess the built in recovery is made to write over a flashed one, unless you erase it first, which is another option.  Have to provide update soon o_O


text:
How can I access/retrieve data from an SD card formatted as internal storage from my PC?
My phone's screen broke and I would like to retrieve the data on the external SD (which was used as internal storage).
Using KDE's partition manager tool I can see on my Linux Mint 19.1 that this is the structure of the SD:
 29,81 GB Storage

Partition    Type      Dimension

sdb1         fat32     16MB

sdb2         unknown   29,80GB

I can mount sdb1 with no problems, but inside there is only a folder named "Android" containing 3 folders with no files inside it (see picture)

All those folders are also empty.
My question is, is this 29,80GB partition encrypted or my phone wasn't at all using the SD card?
I never encrypted the internal memory, also I had internal space problems (which could mean the phone wasn't using the SD card as intented).
I couldn't find any information using search engines, and other similar answers on this website had no useful information.
Edit:
My phone is rooted and with debug USB enabled, it turns on fine, but with no screen.

Possible duplicate of How to decrypt Adopted Storage?

If it was adopted storage (ie. "internal storage"), and you are not already rooted, and cannot access the card in the device, basically you're screwed, the data is lost.

@acejavelin I checked and am now sure it was "Adopted storage" (also called "Internal storage").
Also my phone is rooted and has USB debug enabled, for some reason it doesn't currently allow me to connect to it with adb but before it worked.

As your device is rooted you could try to install app via recovery to the system partition or the user data partition if it is not encrypted. This app could autostart on BootCompleted and then provide somehow access to your data (if e.g. Wifi is enabled and still working). This looks a bit like the approach I described.


text:
How to disable keyboard icon when typing on the other side of the back button, Android Nougat
I'm running Android 7  Nougat.
When I type in gboard there is a small keyboard icon in the lower right corner below the keyboard. But it gets in the way when I type, bringing up the change keyboard dialog box just because my thumb touches it under the joint when I type. Is there a way of disabling it and bringing up the switch keyboard option in the notification drawer?
Is not, is this usability but be fixed in later versions of Android?

Could you provide your device model, and whether you're using a custom ROM (e.g. Lineage OS) or not?

Wiko U PULSE Lite. Android Nougat 7.0.


text:
Call history issue
Few of my contacts are receiving a call from my number, which is getting recorded in their call history. But I don't have dialed their number nor does my call log shows the call at times the call goes to people whose number is also not saved.
How is it possible? What could be the issue?

It seems that you have lost access to your account. To regain access or to merge your multiple accounts, please follow the link here.

You might be having a rogue app with permissions to make calls (android.permission.CALL_PHONE) without user intervention and modify call log (android.permission.WRITE_CALL_LOG). Unless a competing and more compelling reason  emerges I suggest you single out apps having those permissions and uninstall them until you no longer have this problem.
User Izzy maintains a very good list of permission checker apps which you can use to list permissions used by the apps. I use aSpotCat and I am giving instructions accordingly.

In the third image you need to touch those pointed entries to load the apps having the aforementioned permissions.


text:
Is it safe to flash dm-verity zip on S8 EXYNOS G905F?
Is it safe to flash the dm-verity zip?
I am asking due to, seeing/reading some cases when attempting to flash a ROM the phone will get to the ERASING stage, show dm-verity error, then reboot, and it will do that endlessly.
I have tried flashing TWRP but every time, my phone gets stuck in a bootloop no matter how I start TWRP and regardless of whether I wipe and format the data or not.
NOTE: The dm-verity zip was never flashed on any TWRP recovery installation attempt. Each time I flashed using a stock ROM.
1. Flash TWRP.
2. See if the phone can still boot into system.
    If boots into system
        3a. Attempt to confirm TWRP availability by booting into recovery and system OS various ways to ensure it is always available.
            If TWRP is not installed (eg stock recovery appears)
                If can boot into system successfully
                    4a. Goto 1.
                If boot loops
                    4a. Goto 3b.
            If TWRP in successful installed (TWRP always boots up)
                5. Undefined (possibly attempt to install Magisk or SuperSU? depends which one will be safer).
    If boot loops
        3b. Reflash stock ROM.
        4b. Boot into it and wait for initial setup screen to appear.
        5. Goto 1.

I am running Android 8.0, XSA carrier Samsung Galaxy S8 G950F (was very difficult to find a stock ROM for this model).
I DO NOT want to end up being unable to reflash the STOCK ROM should anything go wrong during attempting to root.
If I am unable to manually root, will a Custom ROM
offer root built-in to the ROM itself? And if so, if I end up flashing a ROM incorrectly will I still be able to flash the stock ROM and try again?


text:
How to limit hotspot's client of an Android?
I would like to make an Android device as hotspot. I will put it in my roof so it will receive vetther signal, and turn in its hotspot. I want to make that hotspot accessable by certain devices only by register their MAC adress at the hotspot device.
How can I do it? I don't see any option in the hotspot setting so I can do it.

Android uses dnsmasq as DHCP server to assign IP addresses to connected devices. You can create /etc/dnsmasq.conf and ignore certain MAC addresses, assign fixed IP for certain MAC addresses,  limit the range of IP addresses etc.

I will use that hotspot in an office, which some people with mobile device will be used to access i ternet. So I will allow certain people only to access. But however, those people will come and go. If I have to assign the IP, will be very uneffective. So, limiting the access by MAC is the best.

Yeah you can do that with dnsmasq.conf, but you need root access to modify /system partition. Also, Android doesn't use dnsmasq.conf by default, instead all options are provided on commandline. So you might need to replace /system/bin/dnsmasq binary with a custom shell script to modify those options because those are hard-coded in netd when building ROM.


text:
Stop Chrome auto closing when no tabs are left
I noticed a new behavior in Chrome after updating my device to Android 9. When I close every tab in Chrome, the app closes automatically.
This used not to be the case before I updated, even if there's no tabs remaining, Chrome will keep running on the tab switch screen. (Which has a "+" button in lower center which allows creating a new tab)
I'm used to closing the tab I'm using before opening a new tab, so this affects my normal usage. Are there any settings to change or anything to do to get back that function, except rolling back the Chrome version?
I'm using Chrome 72.0.3626.105 on Android 9 (Pie) on the device Huawei P Smart+ (INE-LX1).

The latest version I have is Chrome 72.x, maybe it's still not available in this region. When I get that update, I'll give the results. Thank you for the help!

I was on the version mentioned on the question, but updated after seeing your comment. :)

And the latest version also have this behavior...

Not for me, so maybe device issue of Huawei

I finally found a solution for removing this behavior. For me, turning off the toggle in Settings >> Home Page worked. It also removed another new behavior: showing Google home page when you start the browser. (it used to show the new tab page) It has a positive effect for me, but maybe not for anyone else, so be wary of that.