• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

[Xposed][MOD][1.30.3] AppOpsXposed - AppOps for 4.3+

Search This thread

caspase

Senior Member
Feb 4, 2012
219
409
AppOpsXposed is a module for the Xposed framework that restores AppOps functionality on Android >= 4.4.2, and works on all Android versions from Jellybean 4.3 up to Marshmallow 6.0.1. Why not just install XPrivacy? you may ask - read this post.

Source code is available on github (License: GPLv3+)

ChangeLog:


1.30.3 (2016-02-21):
* Fix missing op labels/summaries
* Fix issue in "Show changed"
* Fix OP_BOOT_COMPLETED on Marshmallow

1.30.2 (2016-02-20):
* Fixed crashes

1.30.1 (2016-02-20):
* Fixed crash
* Updated Slovak translation

1.30 (2016-02-19):

* Better support for Marshmallow
* Fixed crashes
* Fixed label/summary issues
* Fixed multiple icons in "App info" screen
* New "Minimal" variant (disables icon in "Settings" app)



1.29-BETA10
* Fixed crashes

1.29-BETA9
* Fixed crashes

1.29-BETA8 (2015-11-09):
* Fixed crashes / empty app lists
* Potentially fixed missing bootup tab

1.29-BETA7:
* Add option to customize appearance (theme, icons)
* Fixed issue on MiUi where ops were reset
* Add AppOps to AOSP Lollipop Settings
* Add option to export/import app restrictions
* AOX now displays notifications on app installs/updates, launching the AppOps screen for that particular app

1.28.1 (2015-08-04)
* Fix bugs in hacks for OP_WAKE_LOCK and OP_BOOT_COMPLETED

1.28 (2015-05-17)
* Fix crashes on certain HTC devices
* Fix switch labels
* Smaller icon in Settings

1.27 (2015-05-15):
* Add translations for 22 languages

1.26.1:
* Fixed issue on Sony ROMs where all ops were shown as disabled
* Restrictions can be reset under "Show changed"
* Fix crash when changing ops
* Better handling of non-AOSP ops (labels, summaries)

1.25.3:
* Multiple fixes for Lollipop

1.24:
* Add option to disable verbose logs
* Potential fix for LG icon issue
* Potential fix for Samsung GridSettings bug
* Add hack to fix ops resetting on reboot if
installed on SD.

1.23
* Finally got the HTC variant working
(thanks to @Mikanoshi)
* Fixed some system-app-install issues
* Bugfixes

1.22:
* AppOpsXposed now works without Xposed, by installing
as a system-app.
* Add new ops for Lollipop (compatibility mode)
* When enabled, use compatibility mode when launching
from settings app as well

1.21.1:
* Fix compatibility mode

1.21:
* Added new compatibility mode (BETA)
* Fix crash on LG ROMs
* Attempted to fix wrong icon size on some ROMs
* WakeLock hack disabled on JellyBean for now

1.20.2:
* Fixed version number (updates should work now)

1.20.1:
* Fixed compatibility with some LG ROMs
* Fixed WakeLockFix (JellyBean currently broken)
* Updated icon in settings for non-AOSP ROMs

1.19:
- Fixed some issues in Samsung ROMs
- Fixed issue in detection of CyanogenMod-based ROMs
- Added bug report functionality

1.18:
* Added OP_BOOT_COMPLETED hack (must be enabled manually under "Hacks")
* Added WakeLock fix (must be enabled manually under "Hacks")
* Fixed crashes in CyanogenMod-based ROMs
* Now using a dedicated icon in Settings (thanks @Kickinpigeons)
* Added Spanish translation (thanks @Jose Artuñedo)

1.17.2:
- Xperia only: more human readable info (e.g. "Run at start-up" vs "BOOT_COMPLETED")

1.17:
- Fixed compatibility with Galaxy S5 settings app (grid layout)
- Fixed crash on Xperia KitKat ROMs

1.16:
- Added OmniROM variant (no header in settings, only icon in "App info")
- Added variant for Sony KitKat ROMs with a switch in AppOps, as opposed to the drop-down menu found in 4.3 ROMs

1.15.1:
- Fix crashes on Android 4.3

1.15:
- Added module-specific settings (click module name in Xposed Installer's "Module" section)
- Launcher icon can now be hidden
- Added Korean translation by [email protected]

1.14:
- This release should fix further crashes on recent cn11 nightlies

1.13:
- Attempted to fix issues on recent cm11 nightlies - again
- Added Japanese translation ([email protected])

1.12:
- Hopefully fixed crashes on Xperia devices
- For now, on CM11 nightlies >= 2014-01-28 almost all features are disabled. AppOps can be launched via the launcher icon only.

1.11:
- Fixed layout issue on Xperia ROMs.

1.10.2:
- Hopefully fix crash on Sony stock ROMs

1.10.1:
- On Android 4.3, AppOpsXposed now works as a launcher even if the Xposed Framework is not installed
- Fixed issue where AppOps could not be started from "App info"

1.9:
- AppOpsXposed is now compatible with Sony Xperia devices
- Fixed AppOps details layout for languages where strings were much longer than in English
- Fixed error where AppOps could not be launched from "App info"
- "App info" now uses AppOpsXposed's icon instead of text
- Better detection of Stock vs. AOSP ROMs
- Added 63 translations of "App ops"
- New icon

1.8:
- AppOps for a specific app can now also be launched from the "App info" page of an app
- The module should now work correctly on Sony (Xperia) devices

1.7:
- Added launcher icon for ROMs where there's no icon in Settings
- Reverted sorting in AppOps to default for now
- Potential fix for HTC devices

1.6.1:
- Sort entries in App ops alphabetically.

1.6:
- Another attempt at fixing Samsung-related issues. "App ops" should now be listed below "Apps", wherever "Apps" may be
on your device.

1.5:
- On Samsung devices with a tabbed interface in "Settings", "App ops" should now be displayed in the "General" tab only.

1.4:
- Should fix issue where "App ops" was shown more than once in "Settings"

1.3:
- Fixed Android 4.3 compatibility

1.2:
- No longer allow module to be installed on Android versions before 4.3

1.1:
- Add "App ops" in Settings app; thirdparty AppOps-launcher no longer required!



What is AppOps(Xposed)? What's the difference between AppOps and permissions?


AppOps is a feature that is included in Android starting with JellyBean 4.3. It allows the user to limit an apps functionality, regardless of permissions granted; for example, you can prevent an app from reading your contact list, or accessing your current location. The difference between revoking permissions and using AppOps is that in the latter case, the affected app will not know what happend and, most importantly, will (usually) not crash. In the case of the location, the app will think that the location is currently unavailable. In the case of your contact list, the app will see an empty list. See this flowchart for an example:

appops_flowchart.png

You'll notice ALLOWED, IGNORED and ERRORED; these are the so-called modes, which can be set for each operation. The AppOps interface is very simple, as it provides an on/off switch for every operation. Using this, you switch between ALLOWED and IGNORED, which is usually enough. ERRORED will (likely) make an app crash, or in some cases it will behave exactly as IGNORED.

In the flowchart above, the permission for reading the contact list is android.permission.READ_CALL_LOG,
the corresponding app op is OP_READ_CALL_LOG. Not every permission has a corresponding op, and likewise some ops don't have a corresponding permission. For example, there's no op for the network access permission android.permission.INTERNET, and there's no permission corresponding to the OP_POST_NOTIFICATION op. Note that some app ops are used internally by Android: for example, starting with KitKat Android only allows one app to act as the messaging app; this is controlled by OP_WRITE_SMS.

You'll also notice that in the AppOps app-list, there are often more ops listed for an app than when clicking it. This is because Android groups certain ops into one switch. For example, the "Location" switch controls 7 ops at once: OP_COARSE_LOCATION, OP_FINE_LOCATION, OP_GPS, OP_WIFI_SCAN, OP_NEIGHBORING_CELLS, OP_MONITOR_LOCATION, OP_MONITOR_HIGH_POWER_LOCATION.

Another important thing to keep in mind is that AppOps was not intended for end-users, so some features do not work as advertised. Limiting "Keep awake" for example has no effect, as this was not implemented by the Android developers.


Now that Marshmallow has permission control, what does this module do on Marshmallow?


It may come as a surprise that permission control on Marshmallow doesn't directly use AppOps directly, but instead operates on the permission level. The mechanism used in Marshmallow is this:
  • When installing an app, so-called "dangerous permissions" [1]are not immediately granted
  • An app must check whether a permission has been granted before performing an operation that requires this permission
  • The app is notified of the user's decision and must handle it accordingly (displaying an error message, for example).

This is in contrast to previous Android versions, where an app was granted all requested permissions after install. Revoking a permission thus most often caused the app to crash, since it generally did not expect the permission to be denied.
The mechanism layed out above leads to a slightly different permission/op flowchart, as compared to pre-Marshmallow:

appops_flowchart_mm.png

The major difference here is, as explained above, that the app itself must check whether a permission has been granted, and then handle the result accordingly. This also means that an app will be notified of the users decision on a permission level, but not the AppOps level,
i.e. an app may believe that it can access the user's contact list, because the user permitted the app to do so (i.e. granted it the READ_CONTACTS permission), when in fact it is not, because OP_READ_CONTACTS is set to MODE_IGNORED).

A list of so-called "dangerous" permissions can be found here.


The history of AppOps(Xposed)


Until Android 4.4.2, you could access a hidden AppOps interface in the "Settings" app, which you could use to limit the operations of apps; root access was not needed. In 4.4.2, this possibility was disabled. The interface was still there, but it could not be launched from the outside anymore. It was at this point that I decided to create AppOpsXposed, initially a *really* simple (source code) Xposed module, that restored the previous behaviour by hacking into the "Settings" app and re-enabling the interface again.

Starting with AppOpsXposed 1.1, I also added an entry in the "Settings" app, so a launcher icon was not needed anymore. This however only worked for AOSP and AOSP-based ROMs, so I had to add support for ROMs from Sony, HTC, Samsung, etc.. This proved to be a difficult task over time, as many made major modifications to the "Settings" app, and I had no way of testing the code without an actual device - my only device is a Nexus 4. I thus had to rely on user-supplied logs, and then hope that they follow up with more info, to get an issue in the "Settings" app fixed.

Starting with AppOpsXposed 1.21, I added a feature called "Compatibility mode", which ignored the AppOps interface in the Settings app, which didn't use the AppOps interface in your settings app, but rather one included in AppOpsXposed itself. This makes it much easier to fix bugs and add new features, and relieves me of the pain in the ass that is the support of so many different ROMs out there. See another flowchart for a TL;DR:

appopsxposed_flowchart.png

Starting with AppOpsXposed 1.25, "Compatibility mode" was enabled for all ROMs, and could no longer be disabled. The app uses the GET_APP_OPS_STATS and UPDATE_APP_OPS_STATS permissions to access and change operation modes; this also allows the app to work without Xposed, by installing it as a system app (because the *_APP_OPS_STATS permissions are not granted to normal applications).


I have plans to add several new features in the AppOps interface, but as always, be patient. I'm often busy and this is just my hobby!


READ BEFORE YOU POST


It might seem stupid, but before reporting a crash please try the following: uninstall AppOpsXposed, reinstall it, re-enable it in the Xposed Installer, reboot. It often helps, don't as me why.

Post AT LEAST the following info:
  • Device,
  • Android version (4.3, 4.4, etc.)
  • Name and type (stock/custom) of ROM
  • In AppOpsXposed's settings menu there's an option "Build bug report" (see below) - use it! Normal logcats are not enough!

Screenshot_2014-09-06-15-35-35.pngScreenshot_2014-09-06-15-35-43.png

>>> DOWNLOAD LINK (github) <<<
 

Attachments

  • appinfo.png
    appinfo.png
    123.4 KB · Views: 64,402
  • header.png
    header.png
    109.9 KB · Views: 70,229
  • AppOpsXposed-1.29-BETA10.apk
    915.3 KB · Views: 9,946
  • AppOpsXposed-1.30.3.apk
    946.4 KB · Views: 29,165
Last edited:

dive3000

New member
Feb 1, 2011
1
1
AppOpsXposed is a quick-'n-dirty module for the Xposed framework that restores the AppOps functionality on Android 4.4.2. The module enables the :android:show_fragment hack used by many AppOps-launching apps on KitKat and also adds "App ops" in the native android Settings app.

ChangeLog:

1.1:
- Add "App ops" in Settings app; thirdparty AppOps-launcher no longer required!



Source code is available on github (can't post link though).

Is root required ?
 
Last edited:
  • Like
Reactions: shahen alzahrani

caspase

Senior Member
Feb 4, 2012
219
409
Please add support for 4.3 S3.
Where is it shown in settings?

It should be shown in the "Personal" section, or the very last entry in Settings.

To add proper support for devices not running stock Android I need the Settings.apk file, since the module's design is very implementation-specific.

Sent from my Nexus 4 using xda app-developers app
 

caspase

Senior Member
Feb 4, 2012
219
409
Every time... problem parsing the package... please re-upload.

Ensure that you have version 2.4.1 of Xposed Framework installed. What version of Android are you on? Can you post the relevant sections from a logcat?

Sent from my Nexus 4 using xda app-developers app
 

tariq2kn

Senior Member
May 8, 2010
1,093
169
OnePlus Nord
It should be shown in the "Personal" section, or the very last entry in Settings.

To add proper support for devices not running stock Android I need the Settings.apk file, since the module's design is very implementation-specific.

Sent from my Nexus 4 using xda app-developers app

Not showing anywhere on my S3 4.3.
 

kbluhm

Senior Member
Dec 9, 2010
262
87
If you uninstall xposed, OTA will install fine.

To slightly clarify, you don't need to uninstall the app itself or any of it's modules. Just go into the xposed app and click uninstall, but leave the app installed. Once OTA is done and you're re-rooted, go back to the app and click install/update.
 
  • Like
Reactions: Spikedude

caspase

Senior Member
Feb 4, 2012
219
409
Not showing anywhere on my S3 4.3.

In my last post I asked for some info, without it there's little I can do! If you're using Samsung ROM it's very likely that it won't work, because their Settings app is likely to differ implementation-wise!

For now I've tested it ONLY on Nexus Kitkat ROMs (4.4.2), so be patient!

Sent from my Nexus 4 using xda app-developers app
 

Top Liked Posts

  • There are no posts matching your filters.
  • 207
    AppOpsXposed is a module for the Xposed framework that restores AppOps functionality on Android >= 4.4.2, and works on all Android versions from Jellybean 4.3 up to Marshmallow 6.0.1. Why not just install XPrivacy? you may ask - read this post.

    Source code is available on github (License: GPLv3+)

    ChangeLog:


    1.30.3 (2016-02-21):
    * Fix missing op labels/summaries
    * Fix issue in "Show changed"
    * Fix OP_BOOT_COMPLETED on Marshmallow

    1.30.2 (2016-02-20):
    * Fixed crashes

    1.30.1 (2016-02-20):
    * Fixed crash
    * Updated Slovak translation

    1.30 (2016-02-19):

    * Better support for Marshmallow
    * Fixed crashes
    * Fixed label/summary issues
    * Fixed multiple icons in "App info" screen
    * New "Minimal" variant (disables icon in "Settings" app)



    1.29-BETA10
    * Fixed crashes

    1.29-BETA9
    * Fixed crashes

    1.29-BETA8 (2015-11-09):
    * Fixed crashes / empty app lists
    * Potentially fixed missing bootup tab

    1.29-BETA7:
    * Add option to customize appearance (theme, icons)
    * Fixed issue on MiUi where ops were reset
    * Add AppOps to AOSP Lollipop Settings
    * Add option to export/import app restrictions
    * AOX now displays notifications on app installs/updates, launching the AppOps screen for that particular app

    1.28.1 (2015-08-04)
    * Fix bugs in hacks for OP_WAKE_LOCK and OP_BOOT_COMPLETED

    1.28 (2015-05-17)
    * Fix crashes on certain HTC devices
    * Fix switch labels
    * Smaller icon in Settings

    1.27 (2015-05-15):
    * Add translations for 22 languages

    1.26.1:
    * Fixed issue on Sony ROMs where all ops were shown as disabled
    * Restrictions can be reset under "Show changed"
    * Fix crash when changing ops
    * Better handling of non-AOSP ops (labels, summaries)

    1.25.3:
    * Multiple fixes for Lollipop

    1.24:
    * Add option to disable verbose logs
    * Potential fix for LG icon issue
    * Potential fix for Samsung GridSettings bug
    * Add hack to fix ops resetting on reboot if
    installed on SD.

    1.23
    * Finally got the HTC variant working
    (thanks to @Mikanoshi)
    * Fixed some system-app-install issues
    * Bugfixes

    1.22:
    * AppOpsXposed now works without Xposed, by installing
    as a system-app.
    * Add new ops for Lollipop (compatibility mode)
    * When enabled, use compatibility mode when launching
    from settings app as well

    1.21.1:
    * Fix compatibility mode

    1.21:
    * Added new compatibility mode (BETA)
    * Fix crash on LG ROMs
    * Attempted to fix wrong icon size on some ROMs
    * WakeLock hack disabled on JellyBean for now

    1.20.2:
    * Fixed version number (updates should work now)

    1.20.1:
    * Fixed compatibility with some LG ROMs
    * Fixed WakeLockFix (JellyBean currently broken)
    * Updated icon in settings for non-AOSP ROMs

    1.19:
    - Fixed some issues in Samsung ROMs
    - Fixed issue in detection of CyanogenMod-based ROMs
    - Added bug report functionality

    1.18:
    * Added OP_BOOT_COMPLETED hack (must be enabled manually under "Hacks")
    * Added WakeLock fix (must be enabled manually under "Hacks")
    * Fixed crashes in CyanogenMod-based ROMs
    * Now using a dedicated icon in Settings (thanks @Kickinpigeons)
    * Added Spanish translation (thanks @Jose Artuñedo)

    1.17.2:
    - Xperia only: more human readable info (e.g. "Run at start-up" vs "BOOT_COMPLETED")

    1.17:
    - Fixed compatibility with Galaxy S5 settings app (grid layout)
    - Fixed crash on Xperia KitKat ROMs

    1.16:
    - Added OmniROM variant (no header in settings, only icon in "App info")
    - Added variant for Sony KitKat ROMs with a switch in AppOps, as opposed to the drop-down menu found in 4.3 ROMs

    1.15.1:
    - Fix crashes on Android 4.3

    1.15:
    - Added module-specific settings (click module name in Xposed Installer's "Module" section)
    - Launcher icon can now be hidden
    - Added Korean translation by [email protected]

    1.14:
    - This release should fix further crashes on recent cn11 nightlies

    1.13:
    - Attempted to fix issues on recent cm11 nightlies - again
    - Added Japanese translation ([email protected])

    1.12:
    - Hopefully fixed crashes on Xperia devices
    - For now, on CM11 nightlies >= 2014-01-28 almost all features are disabled. AppOps can be launched via the launcher icon only.

    1.11:
    - Fixed layout issue on Xperia ROMs.

    1.10.2:
    - Hopefully fix crash on Sony stock ROMs

    1.10.1:
    - On Android 4.3, AppOpsXposed now works as a launcher even if the Xposed Framework is not installed
    - Fixed issue where AppOps could not be started from "App info"

    1.9:
    - AppOpsXposed is now compatible with Sony Xperia devices
    - Fixed AppOps details layout for languages where strings were much longer than in English
    - Fixed error where AppOps could not be launched from "App info"
    - "App info" now uses AppOpsXposed's icon instead of text
    - Better detection of Stock vs. AOSP ROMs
    - Added 63 translations of "App ops"
    - New icon

    1.8:
    - AppOps for a specific app can now also be launched from the "App info" page of an app
    - The module should now work correctly on Sony (Xperia) devices

    1.7:
    - Added launcher icon for ROMs where there's no icon in Settings
    - Reverted sorting in AppOps to default for now
    - Potential fix for HTC devices

    1.6.1:
    - Sort entries in App ops alphabetically.

    1.6:
    - Another attempt at fixing Samsung-related issues. "App ops" should now be listed below "Apps", wherever "Apps" may be
    on your device.

    1.5:
    - On Samsung devices with a tabbed interface in "Settings", "App ops" should now be displayed in the "General" tab only.

    1.4:
    - Should fix issue where "App ops" was shown more than once in "Settings"

    1.3:
    - Fixed Android 4.3 compatibility

    1.2:
    - No longer allow module to be installed on Android versions before 4.3

    1.1:
    - Add "App ops" in Settings app; thirdparty AppOps-launcher no longer required!



    What is AppOps(Xposed)? What's the difference between AppOps and permissions?


    AppOps is a feature that is included in Android starting with JellyBean 4.3. It allows the user to limit an apps functionality, regardless of permissions granted; for example, you can prevent an app from reading your contact list, or accessing your current location. The difference between revoking permissions and using AppOps is that in the latter case, the affected app will not know what happend and, most importantly, will (usually) not crash. In the case of the location, the app will think that the location is currently unavailable. In the case of your contact list, the app will see an empty list. See this flowchart for an example:

    appops_flowchart.png

    You'll notice ALLOWED, IGNORED and ERRORED; these are the so-called modes, which can be set for each operation. The AppOps interface is very simple, as it provides an on/off switch for every operation. Using this, you switch between ALLOWED and IGNORED, which is usually enough. ERRORED will (likely) make an app crash, or in some cases it will behave exactly as IGNORED.

    In the flowchart above, the permission for reading the contact list is android.permission.READ_CALL_LOG,
    the corresponding app op is OP_READ_CALL_LOG. Not every permission has a corresponding op, and likewise some ops don't have a corresponding permission. For example, there's no op for the network access permission android.permission.INTERNET, and there's no permission corresponding to the OP_POST_NOTIFICATION op. Note that some app ops are used internally by Android: for example, starting with KitKat Android only allows one app to act as the messaging app; this is controlled by OP_WRITE_SMS.

    You'll also notice that in the AppOps app-list, there are often more ops listed for an app than when clicking it. This is because Android groups certain ops into one switch. For example, the "Location" switch controls 7 ops at once: OP_COARSE_LOCATION, OP_FINE_LOCATION, OP_GPS, OP_WIFI_SCAN, OP_NEIGHBORING_CELLS, OP_MONITOR_LOCATION, OP_MONITOR_HIGH_POWER_LOCATION.

    Another important thing to keep in mind is that AppOps was not intended for end-users, so some features do not work as advertised. Limiting "Keep awake" for example has no effect, as this was not implemented by the Android developers.


    Now that Marshmallow has permission control, what does this module do on Marshmallow?


    It may come as a surprise that permission control on Marshmallow doesn't directly use AppOps directly, but instead operates on the permission level. The mechanism used in Marshmallow is this:
    • When installing an app, so-called "dangerous permissions" [1]are not immediately granted
    • An app must check whether a permission has been granted before performing an operation that requires this permission
    • The app is notified of the user's decision and must handle it accordingly (displaying an error message, for example).

    This is in contrast to previous Android versions, where an app was granted all requested permissions after install. Revoking a permission thus most often caused the app to crash, since it generally did not expect the permission to be denied.
    The mechanism layed out above leads to a slightly different permission/op flowchart, as compared to pre-Marshmallow:

    appops_flowchart_mm.png

    The major difference here is, as explained above, that the app itself must check whether a permission has been granted, and then handle the result accordingly. This also means that an app will be notified of the users decision on a permission level, but not the AppOps level,
    i.e. an app may believe that it can access the user's contact list, because the user permitted the app to do so (i.e. granted it the READ_CONTACTS permission), when in fact it is not, because OP_READ_CONTACTS is set to MODE_IGNORED).

    A list of so-called "dangerous" permissions can be found here.


    The history of AppOps(Xposed)


    Until Android 4.4.2, you could access a hidden AppOps interface in the "Settings" app, which you could use to limit the operations of apps; root access was not needed. In 4.4.2, this possibility was disabled. The interface was still there, but it could not be launched from the outside anymore. It was at this point that I decided to create AppOpsXposed, initially a *really* simple (source code) Xposed module, that restored the previous behaviour by hacking into the "Settings" app and re-enabling the interface again.

    Starting with AppOpsXposed 1.1, I also added an entry in the "Settings" app, so a launcher icon was not needed anymore. This however only worked for AOSP and AOSP-based ROMs, so I had to add support for ROMs from Sony, HTC, Samsung, etc.. This proved to be a difficult task over time, as many made major modifications to the "Settings" app, and I had no way of testing the code without an actual device - my only device is a Nexus 4. I thus had to rely on user-supplied logs, and then hope that they follow up with more info, to get an issue in the "Settings" app fixed.

    Starting with AppOpsXposed 1.21, I added a feature called "Compatibility mode", which ignored the AppOps interface in the Settings app, which didn't use the AppOps interface in your settings app, but rather one included in AppOpsXposed itself. This makes it much easier to fix bugs and add new features, and relieves me of the pain in the ass that is the support of so many different ROMs out there. See another flowchart for a TL;DR:

    appopsxposed_flowchart.png

    Starting with AppOpsXposed 1.25, "Compatibility mode" was enabled for all ROMs, and could no longer be disabled. The app uses the GET_APP_OPS_STATS and UPDATE_APP_OPS_STATS permissions to access and change operation modes; this also allows the app to work without Xposed, by installing it as a system app (because the *_APP_OPS_STATS permissions are not granted to normal applications).


    I have plans to add several new features in the AppOps interface, but as always, be patient. I'm often busy and this is just my hobby!


    READ BEFORE YOU POST


    It might seem stupid, but before reporting a crash please try the following: uninstall AppOpsXposed, reinstall it, re-enable it in the Xposed Installer, reboot. It often helps, don't as me why.

    Post AT LEAST the following info:
    • Device,
    • Android version (4.3, 4.4, etc.)
    • Name and type (stock/custom) of ROM
    • In AppOpsXposed's settings menu there's an option "Build bug report" (see below) - use it! Normal logcats are not enough!

    Screenshot_2014-09-06-15-35-35.pngScreenshot_2014-09-06-15-35-43.png

    >>> DOWNLOAD LINK (github) <<<
    39
    Latest version install fine in rastakat.
    But what does AppOps do? Is it like to enable and disable permission of what certain apps can do?
    What is the different from XPrivacy?

    Genuine question.

    Thank you

    It's a good question, since after you've already installed the Xposed Framework you might just as well
    go ahead and install XPrivacy, which offers much greater functionality than AppOps. Also many permissions
    cannot be revoked by AppOps (internet, access accounts, etc.). It's really up to you. XPrivacy seems
    rather complex at first, but once you've figured out how to use it it ain't that bad ; I just think that the
    interface could be a little more intuitive.

    To sum it up: AppOps: simple UI and much less to restrict, XPrivacy: extremely powerful, but not too
    beginner friendly at first. For me, the removal of AppOps was an excuse to have a look at developing
    modules for the Xposed Framework, and thought that I might as well share my work.
    29
    1.30.4 (unofficial)

    Here is the unofficial 1.30.4 with Nougat compatibility patches made by me.
    Full credit goes to @caspase, I changed a few lines compared to hundreds of his.

    You can see the changes I've made here: GitHub fork
    Enjoy!
    8
    New version installed, rebooted the device, but same force close. Here the log: https://www.dropbox.com/s/v24np1or2l6tjg9/ops2.txt?dl=0

    Inviato dal mio LG-H815 utilizzando Tapatalk

    +1

    Gesendet von meinem SM-N920C

    Last module version (1.30.1), Samsung G900FD Galaxy S5 Duos with Android 4.4.2, appops force close while clicking on lot of app.
    Log files:
    1. dropbox.com/s/1itjgf9xwhfbr66/report_ac2610186013_20160220132128.txt?dl=0
    2. dropbox.com/s/z10ulqge3o98dqi/report_ac2610186013_20160220150235.txt?dl=0

    FC here too with 6p on 6.0.1 will provide log in a bit

    edit: sorry for mis quoting someone :)

    Please try the attached APK and report back!
    7
    For now I'm posting it here:
    http://repo.xposed.info/module/at.jclehner.appopsxposed.re
    I'll make a new thread later when I have the time.
    Report any bugs you run into, since I don't actually own an Oreo device it may not be perfect ;)
    Enjoy!