GithubHelp home page GithubHelp logo

8enet / appopsx Goto Github PK

View Code? Open in Web Editor NEW
520.0 40.0 80.0 1.36 MB

:wrench:A front-end application for the Android AppOpsService.

Home Page: https://github.com/8enet/AppOpsX

License: MIT License

Java 93.15% IDL 0.53% HTML 5.54% Shell 0.14% CMake 0.05% C 0.60%
android appops permissions adb root

appopsx's People

Contributors

8enet avatar ludoux avatar poussinou avatar ttimasdf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

appopsx's Issues

Permission usage shows nothing in Android 9.0

Android 9.0 change the field name from mTime to mTimes of android.app.AppOpsManager.OpEntry somewhere between Oreo and Pie. And the same as mRejectTime (Source) Causing the package usage stats not being collected.

Error message from opsx.sh:

java.lang.NoSuchFieldException: No field mRejectTime in class Landroid/app/AppOpsManager$OpEntry; (declaration of 'android.app.AppOpsManager$OpEntry' appears in /system/framework/framework.jar)
	at java.lang.Class.getDeclaredField(Native Method)
	at com.zzzmode.appopsx.common.ReflectUtils.getFieldValue(ReflectUtils.java:70)
	at com.zzzmode.appopsx.common.ReflectUtils.getLongFieldValue(ReflectUtils.java:97)
	at com.zzzmode.appopsx.common.ReflectUtils.opsConvert(ReflectUtils.java:42)
	at com.zzzmode.appopsx.remote.AppOpsHandler.runGet(AppOpsHandler.java:99)
	at com.zzzmode.appopsx.remote.AppOpsHandler.handleCommand(AppOpsHandler.java:74)
	at com.zzzmode.appopsx.remote.AppOpsHandler.proxyInvoke(AppOpsHandler.java:58)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.zzzmode.appopsx.common.MethodUtils.invokeExactMethod(MethodUtils.java:398)
	at com.zzzmode.appopsx.server.RemoteHandler.callClass(RemoteHandler.java:310)
	at com.zzzmode.appopsx.server.RemoteHandler.onMessage(RemoteHandler.java:151)
	at com.zzzmode.appopsx.common.OpsDataTransfer.onRecvMsg(OpsDataTransfer.java:144)
	at com.zzzmode.appopsx.common.OpsDataTransfer.handleRecv(OpsDataTransfer.java:137)
	at com.zzzmode.appopsx.server.OpsXServer.run(OpsXServer.java:62)
	at com.zzzmode.appopsx.server.RemoteHandler.start(RemoteHandler.java:84)
	at com.zzzmode.appopsx.server.AppOpsMain.<init>(AppOpsMain.java:138)
	at com.zzzmode.appopsx.server.AppOpsMain.<init>(AppOpsMain.java:19)
	at com.zzzmode.appopsx.server.AppOpsMain$1.run(AppOpsMain.java:60)
	at java.lang.Thread.run(Thread.java:784)

On EMUI 9, Android 9.0

Oreo will block implicit broadcast

In the logcat I noticed this
W BroadcastQueue: Background execution not allowed: receiving Intent { act=com.zzzmode.appopsx.action.SERVER_CONNECTED flg=0x10 (has extras) } to com.zzzmode.appopsx/.ServerStatusChangeReceiver
It seems AppopsX is using implicit broadcast to communicate between receiver and LifecycleAgent, but they are blocked for apps targeting Oreo, and AppopsX is indeed targeting Oreo.

To fix this, makeintent need to add explicit ComponentName.

A few requests

Great must-have utility for android! Thanks so much for your great effort!

Here'are a few request:

  • English version for play store description and menus in app (if you need help, just ask)
  • Better to add options to choose adb port other than 5555 (like what Qixingchen's "App Ops" app does. Because fixed 5555 port may be a security hole)
  • Better to apply permission template to new installing app ONLY. For existing app, better to just keep the current permission setting after being upgraded.
  • Please push your latest 1.1.2 version. Thanks!

华为PLE-703L adb模式无法使用

adb执行:
adb shell sh /sdcard/Android/data/com.zzzmode.appopsx/opsx.sh

手机端点击任意应用后,adb输出:

get token f928b020671c90d1949fbe93837d2942
get classpath /storage/emulated/0/Android/data/com.zzzmode.appopsx/files/opsx/appopsx.jar
device arch arm64-v8a
get adbPort 52053
AppOpsX args: type:adb,path:52053,bgrun:1,token:f928b020671c90d1949fbe93837d2942
/sdcard/Android/data/com.zzzmode.appopsx/opsx.sh[43]: printf: not found
0


Use Ctrl+C to exit.


params --> {token=f928b020671c90d1949fbe93837d2942, bgrun=1, type=adb, path=52053}
AppOpsX server start successful, enjoy it! 馃槑
java.lang.SecurityException: uid 2000 does not have android.permission.GET_APP_OPS_STATS.
        at android.os.Parcel.readException(Parcel.java:1549)
        at android.os.Parcel.readException(Parcel.java:1502)
        at com.android.internal.app.IAppOpsService$Stub$Proxy.getOpsForPackage(IAppOpsService.java:468)
        at com.zzzmode.appopsx.server.AppOpsMain.runGet(AppOpsMain.java:210)
        at com.zzzmode.appopsx.server.AppOpsMain.handleCommand(AppOpsMain.java:189)
        at com.zzzmode.appopsx.server.AppOpsMain.onMessage(AppOpsMain.java:364)
        at com.zzzmode.appopsx.common.OpsDataTransfer.onRecvMsg(OpsDataTransfer.java:139)
        at com.zzzmode.appopsx.common.OpsDataTransfer.handleRecv(OpsDataTransfer.java:132)
        at com.zzzmode.appopsx.server.OpsXServer.run(OpsXServer.java:54)
        at com.zzzmode.appopsx.server.AppOpsMain.<init>(AppOpsMain.java:134)
        at com.zzzmode.appopsx.server.AppOpsMain.main(AppOpsMain.java:58)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:249)
java.lang.SecurityException: uid 2000 does not have android.permission.GET_APP_OPS_STATS.
        at android.os.Parcel.readException(Parcel.java:1549)
        at android.os.Parcel.readException(Parcel.java:1502)
        at com.android.internal.app.IAppOpsService$Stub$Proxy.getOpsForPackage(IAppOpsService.java:468)
        at com.zzzmode.appopsx.server.AppOpsMain.runGet(AppOpsMain.java:210)
        at com.zzzmode.appopsx.server.AppOpsMain.handleCommand(AppOpsMain.java:189)
        at com.zzzmode.appopsx.server.AppOpsMain.onMessage(AppOpsMain.java:364)
        at com.zzzmode.appopsx.common.OpsDataTransfer.onRecvMsg(OpsDataTransfer.java:139)
        at com.zzzmode.appopsx.common.OpsDataTransfer.handleRecv(OpsDataTransfer.java:132)
        at com.zzzmode.appopsx.server.OpsXServer.run(OpsXServer.java:54)
        at com.zzzmode.appopsx.server.AppOpsMain.<init>(AppOpsMain.java:134)
        at com.zzzmode.appopsx.server.AppOpsMain.main(AppOpsMain.java:58)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:249)

自动关闭模板失效

系统miui10,android 8.1
在adb模式下设置的自动关闭权限
但是在测试安装一个app后还是没有自动关闭“获取手机状态”等本已经设置为自动关闭的权限

App permission timeout


java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.socketRead(SocketInputStream.java:119)
	at java.net.SocketInputStream.read(SocketInputStream.java:176)
	at java.net.SocketInputStream.read(SocketInputStream.java:144)
	at java.io.DataInputStream.readFully(DataInputStream.java:198)
	at java.io.DataInputStream.readInt(DataInputStream.java:389)
	at com.zzzmode.appopsx.common.OpsDataTransfer.readMsg(OpsDataTransfer.java:63)
	at com.zzzmode.appopsx.common.OpsDataTransfer.sendMsgAndRecv(OpsDataTransfer.java:73)
	at com.zzzmode.appopsx.LocalServerManager.execPre(LocalServerManager.java:136)
	at com.zzzmode.appopsx.LocalServerManager.execNew(LocalServerManager.java:150)
	at com.zzzmode.appopsx.OpsxManager.wrapOps(OpsxManager.java:95)
	at com.zzzmode.appopsx.OpsxManager.getPackagesForOps(OpsxManager.java:107)
	at com.zzzmode.appopsx.ui.core.Helper$20.subscribe(Helper.java:681)
	at a.a.e.e.a.e.b(ObservableCreate.java:40)
	at a.a.c.a(Observable.java:11040)
	at a.a.e.e.a.o$a.a(ObservableRetryPredicate.java:111)
	at a.a.e.e.a.o.b(ObservableRetryPredicate.java:41)
	at a.a.c.a(Observable.java:11040)
	at a.a.e.e.a.m.b(ObservableMap.java:33)
	at a.a.c.a(Observable.java:11040)
	at a.a.e.e.a.i.b(ObservableFlatMap.java:55)
	at a.a.c.a(Observable.java:11040)
	at a.a.e.e.a.i.b(ObservableFlatMap.java:55)
	at a.a.c.a(Observable.java:11040)
	at a.a.e.e.a.c.b(ObservableCollectSingle.java:49)
	at a.a.i.a(Single.java:2846)
	at a.a.e.e.b.d.b(SingleMap.java:34)
	at a.a.i.a(Single.java:2846)
	at a.a.e.e.b.d.b(SingleMap.java:34)
	at a.a.i.a(Single.java:2846)
	at a.a.e.e.b.f$a.run(SingleSubscribeOn.java:89)
	at a.a.h$a.run(Scheduler.java:463)
	at a.a.e.g.i.run(ScheduledRunnable.java:66)
	at a.a.e.g.i.call(ScheduledRunnable.java:57)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:764)

Device : Poco F1 (6gb/64gb)
ROM: Lineage 16

成功获得root权限但使用失败

appopsx已经获得root,root方式是magisk,可以获得root提醒并授权,但打开具体软件调权限,获取失败,提示:
Attempt to invoke virtual method 'android.os.Parcelable android.os.Bundle.getParcelable(java.lang.String)' on a null object reference
系统是android8.0,LG V30
之前使用appops则正常,求解答,谢谢~

[已解决] adb 模式失败

弄了半天无法成功,是不是漏做了什么步骤。。。

  1. 手机:坚果Pro (无法root)Android 7.1 , 红米Note3 lineageOS 14.1 Android7.1 root模式OK,ADB模式同样结果

1.设置端口
_screenshot_2017-10-01-11-08-36-441_appopsx

  1. 执行adb命令
    $ adb tcpip 6666

3.结果失败
screenshot_2017-10-01-11-21-22-851_appopsx

  1. $ adb shell sh /sdcard/Android/data/com.zzzmode.appopsx/opsx.sh &
    依然无效

adb.log

希望增加权限操作选项

对每个权限的操作目前就允许和忽略两种模式,建议添加拒绝模式,在一些情境中会用到。

不支持MagiskSU

显示连接失败,开启root兼容模式无效。

设备是红米Note3(代号kenzo)
Android 8.0.0
Magisk是14.0版本

建议:增加“询问”选项

现在只有允许和忽略,这样只有事先配置好,不太方便。增加“询问”选项,在使用权限时询问是否允许,这个功能个人觉得很实用,比如摄像头权限全体设置为询问。貌似系统appops是支持这个的。

"Attempt to invoke virtual method 'android.os.Parcelable android.os.Bundle.getParcelable(java.lang.String)' on a null object reference"

Occurs on:

Device: Samsung Galaxy Note 4 (SM-N910F)
OS: Lineage OS 16 unofficial by kevintm78, Build: lineage_trlte-userdebug 9 PQ2a.190305.002eng.kevint.20190312.063803 test-keys
Configuration: OS encrypted and rooted via su arm
AppOpsX version: 1.2.5

Description

Upon attempting to see the permissions of any app, AppOpsX will show the following error message:

Attempt to invoke virtual method 'android.os.Parcelable android.os.Bundle.getParcelable(java.lang.String)' on a null object reference

Steps to reproduce

  1. Open AppOpsX
  2. Tap on any app

Expected result

Seeing app permissions and being able to toggle them on/off.

What I've attempted to solve the problem

  • Reboot
  • Reinstall AppOpsX
  • Turn on Root compatibility mode in AppOpsX > Settings
  • Turn on ADB mode in AppOpsX > Settings

The problem puzzles me because I have used AppOpsX before and without problems, but at that time I hadn't encrypted the device. My prime suspect is the device encryption.

Android oreo卡死

用的supersu,android 8, google pixel
开启app之后adb logcat显示如下信息:

09-26 16:43:15.688 1368 4771 I ActivityManager: START u0 {cmp=com.zzzmode.appopsx/.ui.permission.AppPermissionActivity (has extras)} from uid 10138
09-26 16:43:15.721 22774 22794 W System.err: java.io.IOException: Connection refused
09-26 16:43:15.721 22774 22794 W System.err: at android.net.LocalSocketImpl.connectLocal(Native Method)
09-26 16:43:15.721 22774 22794 W System.err: at android.net.LocalSocketImpl.connect(LocalSocketImpl.java:292)
09-26 16:43:15.721 22774 22794 W System.err: at android.net.LocalSocket.connect(LocalSocket.java:145)
09-26 16:43:15.721 22774 22794 W System.err: at com.zzzmode.appopsx.LocalServerManager$SyncClient.connect(LocalServerManager.java:517)
09-26 16:43:15.721 22774 22794 W System.err: at com.zzzmode.appopsx.LocalServerManager$SyncClient.start(LocalServerManager.java:553)
09-26 16:43:15.721 22774 22794 W System.err: at com.zzzmode.appopsx.LocalServerManager.start(LocalServerManager.java:76)
09-26 16:43:15.721 22774 22794 W System.err: at com.zzzmode.appopsx.OpsxManager.checkConnect(OpsxManager.java:55)
09-26 16:43:15.721 22774 22794 W System.err: at com.zzzmode.appopsx.OpsxManager.getOpsForPackage(OpsxManager.java:59)
09-26 16:43:15.721 22774 22794 W System.err: at com.zzzmode.appopsx.ui.core.Helper$14.subscribe(Helper.java:567)
09-26 16:43:15.721 22774 22794 W System.err: at a.a.e.e.a.e.b(ObservableCreate.java:40)
09-26 16:43:15.721 22774 22794 W System.err: at a.a.c.a(Observable.java:10838)
09-26 16:43:15.721 22774 22794 W System.err: at a.a.e.e.a.o$a.a(ObservableRetryPredicate.java:111)
09-26 16:43:15.721 22774 22794 W System.err: at a.a.e.e.a.o.b(ObservableRetryPredicate.java:41)
09-26 16:43:15.721 22774 22794 W System.err: at a.a.c.a(Observable.java:10838)
09-26 16:43:15.721 22774 22794 W System.err: at a.a.e.e.a.q$b.run(ObservableSubscribeOn.java:96)
09-26 16:43:15.721 22774 22794 W System.err: at a.a.h$a.run(Scheduler.java:452)
09-26 16:43:15.721 22774 22794 W System.err: at a.a.e.g.i.run(ScheduledRunnable.java:61)
09-26 16:43:15.722 22774 22794 W System.err: at a.a.e.g.i.call(ScheduledRunnable.java:52)
09-26 16:43:15.722 22774 22794 W System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
09-26 16:43:15.722 22774 22794 W System.err: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
09-26 16:43:15.722 22774 22794 W System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
09-26 16:43:15.722 22774 22794 W System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
09-26 16:43:15.722 22774 22794 W System.err: at java.lang.Thread.run(Thread.java:764)
09-26 16:43:15.722 22774 22794 E LocalServerManager: useRootStartServer -->
09-26 16:43:15.775 1368 1416 I ActivityManager: Displayed com.zzzmode.appopsx/.ui.permission.AppPermissionActivity: +70ms
09-26 16:43:15.786 22774 22799 D OpenGLRenderer: endAllActiveAnimators on 0x7089278000 (RippleDrawable) with handle 0x7080b54760
09-26 16:43:16.918 22774 22794 E LocalServerManager: getCommonds --> type:root,path:appopsx_zzzmode_socket,token:6dc8892f1dea790dd0ff9746a224b6fa,bgrun:1 &
09-26 16:43:16.921 22774 22894 E LocalServerManager: log run --> start
09-26 16:43:16.935 22774 22894 E LocalServerManager: log run --> uid=0(root) gid=0(root) groups=0(root) context=u:r:supersu:s0
09-26 16:43:17.176 22896 22896 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
09-26 16:43:17.174 22896 22896 W app_process: type=1400 audit(0.0:445): avc: granted { open } for path="/dev/pmsg0" dev="tmpfs" ino=15505 scontext=u:r:supersu:s0 tcontext=u:object_r:pmsg_device:s0 tclass=chr_file
09-26 16:43:17.176 22896 22896 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
--------- beginning of crash
09-26 16:43:17.307 22898 22898 F libc : CANNOT LINK EXECUTABLE "/system/bin/dex2oat": "/system/lib64/libart.so" is 64-bit instead of 32-bit
09-26 16:43:17.307 22898 22898 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22898 (dex2oat)
09-26 16:43:17.331 22900 22900 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.331 22900 22900 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22900 (crash_dump32)
09-26 16:43:17.345 22902 22902 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.345 22902 22902 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22902 (crash_dump32)
09-26 16:43:17.360 22904 22904 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.360 22904 22904 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22904 (crash_dump32)
09-26 16:43:17.374 22906 22906 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.375 22906 22906 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22906 (crash_dump32)
09-26 16:43:17.385 22908 22908 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.385 22908 22908 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22908 (crash_dump32)
09-26 16:43:17.395 22910 22910 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.395 22910 22910 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22910 (crash_dump32)
09-26 16:43:17.403 22774 22779 I zygote64: Do partial code cache collection, code=30KB, data=23KB
09-26 16:43:17.404 22912 22912 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.404 22912 22912 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22912 (crash_dump32)
09-26 16:43:17.404 22774 22779 I zygote64: After code cache collection, code=30KB, data=23KB
09-26 16:43:17.404 22774 22779 I zygote64: Increasing code cache capacity to 128KB
09-26 16:43:17.413 22914 22914 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.413 22914 22914 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22914 (crash_dump32)
09-26 16:43:17.420 22916 22916 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.421 22916 22916 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22916 (crash_dump32)
09-26 16:43:17.428 22918 22918 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.429 22918 22918 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22918 (crash_dump32)
09-26 16:43:17.437 22920 22920 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.441 22920 22920 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22920 (crash_dump32)
09-26 16:43:17.448 22922 22922 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.449 22922 22922 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22922 (crash_dump32)
09-26 16:43:17.457 22924 22924 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.458 22924 22924 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22924 (crash_dump32)
09-26 16:43:17.463 22926 22926 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.464 22926 22926 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22926 (crash_dump32)
09-26 16:43:17.470 22928 22928 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.470 22928 22928 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22928 (crash_dump32)
09-26 16:43:17.482 22930 22930 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.482 22930 22930 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22930 (crash_dump32)
09-26 16:43:17.491 22932 22932 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.491 22932 22932 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22932 (crash_dump32)
09-26 16:43:17.496 22934 22934 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.497 22934 22934 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22934 (crash_dump32)
09-26 16:43:17.502 22936 22936 F libc : CANNOT LINK EXECUTABLE "crash_dump32": "/system/lib64/libbacktrace.so" is 64-bit instead of 32-bit
09-26 16:43:17.502 22936 22936 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 22936 (crash_dump32)

之后系统会出现大量的crash dump进程,直到系统卡死
7153 root 20 0 1.6M 360K 204K S 0.0 0.0 0:00.00 crash_dump32 7151 7152
7151 root 20 0 1.6M 364K 204K S 0.0 0.0 0:00.00 crash_dump32 7149 7150
7149 root 20 0 1.6M 364K 204K S 0.0 0.0 0:00.00 crash_dump32 7147 7148
7147 root 20 0 1.6M 360K 204K S 0.0 0.0 0:00.00 crash_dump32 7145 7146
7145 root 20 0 1.6M 364K 204K S 0.0 0.0 0:00.00 crash_dump32 7143 7144
7143 root 20 0 1.6M 364K 204K S 0.0 0.0 0:00.00 crash_dump32 7141 7142

Should consider building a new release.

I'm not a android developer, but I try to build a new release my self for compatibility with Android P. However, exception occurs during the building:

Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details                           
Could not write standard input to Gradle build daemon.                                                                  
java.io.IOException: Stream closed                                                                                      
        at java.lang.ProcessBuilder$NullOutputStream.write(java.base@9-internal/ProcessBuilder.java:443)                
        at java.io.OutputStream.write(java.base@9-internal/OutputStream.java:116)                                       
        at java.io.BufferedOutputStream.flushBuffer(java.base@9-internal/BufferedOutputStream.java:81)                  
        at java.io.BufferedOutputStream.flush(java.base@9-internal/BufferedOutputStream.java:142)                       
        at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:66)    
        at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:51)               
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)       
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)                        
        at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@9-internal/ThreadPoolExecutor.java:1158)         
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@9-internal/ThreadPoolExecutor.java:632)         
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)        
        at java.lang.Thread.run(java.base@9-internal/Thread.java:804)                                                   
                                                                                                                        
FAILURE: Build failed with an exception.                                                                                
                                                                                                                        
* What went wrong:                                                                                                      
Unable to start the daemon process.                                                                                     
This problem might be caused by incorrect configuration of the daemon.                                                  
For example, an unrecognized jvm option is used.                                                                        
Please refer to the user guide chapter on the daemon at https://docs.gradle.org/4.10.3/userguide/gradle_daemon.html     
Please read the following process output to find out more:                                                              
-----------------------                                                                                                 
Unrecognized option: --add-opens                                                                                        
Error: Could not create the Java Virtual Machine.                                                                       
Error: A fatal exception has occurred. Program will exit.                                                               
                                                                                                                        
                                                                                                                        
* Try:                                                                                                                  
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with
 --scan to get full insights.                                                                                           
                                                                                                                        
* Get more help at https://help.gradle.org

My java version is as follows on Ubuntu 18.04

openjdk version "9-internal"                                                                                            
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)                                           
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode) 

The list of my sdk packages is very long but they are installed via this link (currently last version of command line tools).

Auto revoking permissions are not working

I have set AppOpsX to automatically revoke all permissions on installation of an application. If i install a new application it has all the permissions and can access gps as an example, although it should not have this permission.

If i select options in the "Close permission template automatically" i expect that a new app only gets the permissions deselected in this fragment. Is this assumption right?

I am running LineageOS 15.1 (Builddate: 2019.01.26) on an Samsung Galaxy S9 with Magisk v18.1

Reinstallation does not solve this issue.

编译报错

opsxlib里面的build.gradle 第83行报错
paths.add(file.path.replaceFirst(ignorePrefix,""))
请问应该如何解决呢

备份恢复数量&进度异常

首先感谢开发者,权限洁癖患者得到救赎:bow:

使用AppOpsX至今大概半年,遇到的小烦恼如下:

恢复备份时进度条的应用数目一直不对;

此前一直是进度条很快地走满之后原地卡住一两个小时,之后提示恢复成功;

但今天早上尝试恢复备份,前两次进度条中途就静止了,第三次和之前一样停在100%,已经一上午了还是在这屏:bow:

进度条罢工Orz

请问现在应该怎么做,要继续等还是杀进程:bow:

另外近几天关闭权限模板似乎失效了:bow:

自动关闭权限弹窗能不能隐藏最近任务

APP安装后弹窗自动关闭关闭权限,但是每次关闭权限弹窗后都留在了最近任务,而且点击也不是进入AppOpsX主界面,有点强迫症。希望可以做到supersu类似的弹窗

adb电脑调试出现问题

AppOpsX 1.1.8
Oppo A37m
Android 5.1 (Color OS 3.0.0)
KingRoot
错误代码:
java.lang.SecurityException: uid 2000 does not have android.permission.GET_APP_OPS_STATS.
另外root模式不稳定,刚开始几次可以成功,后来根本打不开权限列表。卸载重装,root兼容模式都不能解决问题。重新root后解决了问题。不知道还能坚持多久。或许是kingroot的问题。

建议自动关闭权限模版采用"勾选=允许(enabled)" 模式,

1), 建议自动关闭权限模版采用"勾选=允许(enable), 不选=禁止" 模式, 这样就与权限"开/关"逻辑保持一致. 所见即所设.
目前的模版, "自动关闭模板中选中的权限". 与系统常识相反.

2), 对于没有申请的权限, 建议默认全关闭, 目前是默认全许可.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.