https://bugs.kde.org/show_bug.cgi?id=521883

            Bug ID: 521883
           Summary: Krita's built-in file selector has defect reports and
                    suggestions for improvement in Android 15 and possible
                    solutions and possible solutions for files stored in
                    the Android environment
    Classification: Applications
           Product: krita
      Version First 5.3.2.1
       Reported In:
          Platform: Android
                OS: Android 15.x
            Status: REPORTED
          Severity: critical
          Priority: NOR
         Component: * Unknown
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Created attachment 193451
  --> https://bugs.kde.org/attachment.cgi?id=193451&action=edit
所有示例图片和日志、说明副本以及示例apk提取的xml文件和他的反编译部分txt文档

敬爱的开发团队
    您们好
    我是近些年刚开始使用krita进行游戏前期概念设计的非常看好krita和喜欢他的安卓及Windows用户
   
我的缺陷问题上报目前阶段集中于安卓端,这方面有太多我要讲,我还算比较了解安卓的,我的设备为coloros15的Android15,一加ace竞速版,中国用户,krita版本5.3.2.1
git(0619060)(官网首页常规流程下载的最新版稳定版)
    日志和说明图片到位话不多说进入正题----
       1. 关于krita的内置文件选择窗口(文件选择器)(图片:zip文件内IMG_20260620_220957.webp)
          由于krita未在apk内AndroidManifest.xml声明完整的静态的文件权限声明:
termux示例片段:(
    <!-- 读取您共享存储空间中的内容 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <!-- 修改或删除您共享存储空间中的内容 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
    <!-- 所有文件访问权限 -->
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
/>
    )
         
没有完整的上面这些会导致在高版本安卓上公共存储空间里krita的内置文件选择窗口无法看到也无法打开编辑任何文件,只能看到文件夹及子文件夹本身(高版本安卓公共存储文件遍历、枚举存在拦截(大概是这样,我懂得也不多如果出现错误请包涵)(未授权文件权限如图片音频视频文件以甚至所有文件访问权限情况下为保证安全和隐私,安卓新版本采用了拦截机制))(我认为所有文件访问权限无疑是重要的关键的:zip内图片Screenshot_2026-06-20-22-25-26-87_fc704e6b13c4fb26bf5e411f75da84f2.webp)
权限示例选取片段2:
    <!-- 读取您共享存储空间中的内容 -->
    <uses-permission
        android:name="android.permission.READ_EXTERNAL_STORAGE"
        android:maxSdkVersion="32" />
    <!-- 读取共享存储空间中的图片文件 -->
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
    <!-- 修改或删除您共享存储空间中的内容 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
如果您觉得必要还可以加:
    <!-- 请求忽略电池优化 -->
    <uses-permission
android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
    <!-- 防止手机休眠 -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
也许这样绘画体验更好?


权限示例片段选取3:
    <!-- 所有文件访问权限 -->
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
/>
    <!-- 读取共享存储空间中的图片文件 -->
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
    <!-- 从共享存储空间读取视频文件 -->
    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
    <!-- 防止手机休眠 -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <!-- 显示通知 -->
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <!-- 防止手机休眠 -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.USB_PERMISSION" />
    <!-- 修改或删除您共享存储空间中的内容 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
    <!-- 读取您共享存储空间中的内容 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <读取音频文件>
    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
    <!-- 读取文件和文档>
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
/>
    <仿休眠加锁屏运行>
    <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <相机使用权>
    <uses-permission android:name="android.permission.CAMERA" />
    <!-- 访问加速度、陀螺仪、设备旋转方向 -->
<uses-permission android:name="android.permission.ACCESS_MOTION_SENSOR" />
<uses-permission android:name="android.permission.ACCESS_ORIENTATION" />





已知krita仅仅只有
    <!-- 修改或删除您共享存储空间中的内容 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
/>
这么一条文件权限声明,不出意外会在现如今高版本安卓上出现所谓兼容性问题

以上是我能给出的所有权限示例支持,希望能帮您解决因为权限导致的兼容性缺陷问题
回到图片里我要说明的问题:
 1. 我为什么坚持用内置文件选择窗口并且不惜牺牲休息时间加班上报此问题和大概解决思路:
    
原因很简单你可能没注意到我这是未解除bootloader的官方原厂固件的设备,所以你知道的,我没有root权限,唯一能让我访问修改krita私有目录(也就是/data/user/0/org.krita或/data/data/org.krita和/storage/emulated/0/Android/data/org.krita以及一些其他私有路径如/data/user_de/0/org.krita等)的方法就是通过krita本身,恰巧krita目前提供了这个文件选择窗口可以直接以u0_a319(如附件图片所示)即krita身份访问和整理这些位置,这是唯一合法办法访问私有目录(不修改apk添加文件提供器),一个最大的痛点就是自动备份在私有目录下的配置文件备份和kra工程文件备份我无法将它们拷贝出来备份,他们通常会写上仅所有者可读写的权限限制促使我纵使有mtmanager能(无root下仅能访问这一个私有目录,这已经是最大限度(这是特殊情况,mtmanager的优点之一就是向高版本安卓自带文件选择器那样访问/storage/emulated/0/Android/data/org.krita这种目录))访问/storage/emulated/0/Android/data/org.krita目录也无法将它们拷贝出因为权限拒绝
 所以我认为这个功能是非常重要的功能------关闭原生选择器选项开关

还有就是原生选择器选择文件只能选择公共存储范围的文件不能选择备份在krita私有目录的文件以及它返回的不是授权访问文件的路径而是content,这直接导致备份在原文件旁边失效于是系统退而求其次自动备份在了/storage/emulated/0/Android/data/org.krita/files/Documents/krita-backup/下(又回到了权限问题加访问限制以及大多数krita画家没有这些专业工具的问题)(以上为我的猜想)(剩下的内容估计您看一眼附件几个图片就明白了)
 而且我希望这个krita内置文件选择窗口能具备更多操作如复制、粘贴、移动这些基本操作,当然如果您愿意也可以加上权限修改(全gui方便使用)
 相信许多平板安卓用户一定会遇到这种问题,但他们可能由于知识面积累未覆盖安卓底层基础区域可能无心提出这种缺陷改进建议,我希望这可以给他们带来更多便利和选择

这样他们就可以方便的备份所有krita资源了避免丢失造成工作成果白费(这对他们和我都很重要(当然也可以把工程文件放进私有目录进一步保证隐私(如果他们想保密的话(就像记日记那样))))


 2. 我为什么能在手机上进行krita绘画------便携的游戏概念设计----独立开发初期:

首先我设备足够强,(事先声明我不是在做宣传也没有受利益),中端机型一加ace竞速版12+4/8/12(/表示或,意思是扩展3选1,无论如何都大于等于16G)内存配置256G内部存储,特殊的安卓显示处理机制
 

加上1080x2412屏本身能用(能用,但是为了随时设计,这点功能牺牲能忍)有些点不到的超出屏幕的地方就旋转屏幕,只要能拖动窗口标题栏就能点击,正常使用,所以90%功能我都是可以正常使用的,不需要担心屏幕兼容问题(我有的是办法)


 If you can't read Chinese, the en.txt in the attachment zip is a copy of the
problem of AI translation

 欢迎您和我及时联系:邮箱:[email protected]
    [email protected]
    [email protected](其他看到的人,非开发者请不要随便联系,拒绝垃圾短信骚扰,谢谢您理解和支持)

    感谢您看完我的中文长篇,谢谢,向您致以最高敬意
敬礼!

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to