LuckSiege / LuckSiege/PictureSelector

手机安卓14,targetSdkVersion 33,使用图片选择功能,选择部分文件访问模式,选择完图片之后,下一步,跳转到App应用信息页,查看权限已经给与了,返回提示我 读取内存卡权限被拒绝,再次调用,又让我进行授权,授权完之后还是提示 读取内存卡权限被拒绝,麻烦大佬帮忙看下啥问题

Open
#2,937 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
13.6k
Forks
3.1k
PR merge metrics
No merged PRs in 30d

Description

## Current use version?
#### 当前使用的版本是多少?

``` 3.11.2

``` 3.11.2

## Will this problem occur in demo?
#### Demo能否复现这问题?

``` 没有出现

``` 我这边把问题项目的清单文件配置全部检查了一下,都有了,但是在写的一个简单demo里面,配置完,使用正常

## Describe the problem or provide an error log?
#### 描述问题或提供错误log?

``` 我这边只做了简单的调用
PictureSelector.create(this)
.openGallery(SelectMimeType.ofImage())
.setSelectorUIStyle(PictureSelectorStyle())
.setImageEngine(GlideEngine.createGlideEngine())
.forResult(object : OnResultCallbackListener {
override fun onResult(result: java.util.ArrayList) {

}

override fun onCancel() {
}
})

``` 抓取到的日志:

2024-09-27 09:59:22.551 2466-9927 AppOps system_server E Bad call made by uid 10158. Package "cn.xxx.xx" does not belong to uid 10437.
2024-09-27 09:59:22.551 2466-9927 AppOps system_server E Cannot check Operation
java.lang.SecurityException: Specified package "cn.xxx.xx" under uid 10437 but it is not
at com.android.server.appop.AppOpsService.verifyAndGetBypass(AppOpsService.java:3945)
at com.android.server.appop.AppOpsService.verifyAndGetBypass(AppOpsService.java:3802)
at com.android.server.appop.AppOpsService.verifyAndGetBypass(AppOpsService.java:3794)
at com.android.server.appop.AppOpsService.checkOperationUnchecked(AppOpsService.java:2453)
at com.android.server.appop.AppOpsService.checkOperationImpl(AppOpsService.java:2436)
at com.android.server.appop.AppOpsService.-$$Nest$mcheckOperationImpl(AppOpsService.java:0)
at com.android.server.appop.AppOpsService$CheckOpsDelegateDispatcher.$r8$lambda$fx57Sum-uA3sXo7NCFwrI3iq4WM(AppOpsService.java:0)
at com.android.server.appop.AppOpsService$CheckOpsDelegateDispatcher$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
at com.android.server.policy.AppOpsPolicy.checkOperation(AppOpsPolicy.java:221)
at com.android.server.appop.AppOpsService$CheckOpsDelegateDispatcher.checkOperation(AppOpsService.java:6527)
at com.android.server.appop.AppOpsService.checkOperation(AppOpsService.java:2421)
at com.android.internal.app.IAppOpsService$Stub.onTransact(IAppOpsService.java:457)
at android.os.Binder.execTransactInternal(Binder.java:1366)
at android.os.Binder.execTransact(Binder.java:1310)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the PictureSelector.create(...).openGallery(SelectMimeType.ofImage()) entry point and reproduce on Android 14 with targetSdkVersion 33 using the reported partial-file access flow. Compare the failing project with the demo, then trace the permission check associated with the AppOps package/UID SecurityException. Done means the reported flow completes without a false permission-denied result or repeated authorization prompt.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.