microg / microg/GmsCore

droidguard fails to get android.permission.WRITE_SETTINGS

Open
#2,181 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Java
Stars
14.6k
Forks
3.2k
Avg merge
12d 11h
Merged PRs (30d)
4

Description

Describe the bug
Hello,
I have succesfully installed the microg, everything works fine except the droidguard, which seems to freeze on attestation attempt with the error:

To Reproduce
try any app that uses droidguard attestation

System
Android Version: 14
Custom ROM: VoltageOS(Based on los)

Additional context
02-13 12:30:07.201 1810 3111 E DatabaseUtils: Writing exception to parcel 02-13 12:30:07.201 1810 3111 E DatabaseUtils: java.lang.SecurityException: com.google.android.gms was not granted this permission: android.permission.WRITE_SETTINGS. 02-13 12:30:07.201 1810 3111 E DatabaseUtils: at android.provider.Settings.isCallingPackageAllowedToPerformAppOpsProtectedOperation(Settings.java:21568) 02-13 12:30:07.201 1810 3111 E DatabaseUtils: at android.provider.Settings.checkAndNoteWriteSettingsOperation(Settings.java:21456) 02-13 12:30:07.201 1810 3111 E DatabaseUtils: at com.android.providers.settings.SettingsProvider.mutateSystemSetting(SettingsProvider.java:1959) 02-13 12:30:07.201 1810 3111 E DatabaseUtils: at com.android.providers.settings.SettingsProvider.insertSystemSetting(SettingsProvider.java:1925) 02-13 12:30:07.201 1810 3111 E DatabaseUtils: at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:482) 02-13 12:30:07.201 1810 3111 E DatabaseUtils: at android.content.ContentProvider.call(ContentProvider.java:2679) 02-13 12:30:07.201 1810 3111 E DatabaseUtils: at android.content.ContentProvider$Transport.call(ContentProvider.java:628) 02-13 12:30:07.201 1810 3111 E DatabaseUtils: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:307) 02-13 12:30:07.201 1810 3111 E DatabaseUtils: at android.os.Binder.execTransactInternal(Binder.java:1387) 02-13 12:30:07.201 1810 3111 E DatabaseUtils: at android.os.Binder.execTransact(Binder.java:1328) 02-13 12:30:07.202 6007 6007 D AndroidRuntime: Shutting down VM --------- beginning of crash 02-13 12:30:07.203 6007 6007 E AndroidRuntime: FATAL EXCEPTION: main 02-13 12:30:07.203 6007 6007 E AndroidRuntime: Process: com.google.android.gms.unstable, PID: 6007 02-13 12:30:07.203 6007 6007 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate application androidx.multidex.MultiDexApplication package com.google.android.gms: java.lang.SecurityException: com.google.android.gms was not granted this permission: android.permission.WRITE_SETTINGS.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing DroidGuard attestation on Android 14 with VoltageOS and trace the droidguard entry point associated with the WRITE_SETTINGS SecurityException. Done means the com.google.android.gms.unstable process no longer crashes during attestation and the affected app completes its attestation attempt.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.