android - 在我的应用程序中设置 "android.uid.system"后它无法访问 sdcard?

标签 android android-emulator android-manifest

这是一个奇怪的问题。如果我不为它设置 android.uid.system,我的应用程序可以成功访问 sdcard。但是在设置android.uid.system 之后,我的应用程序无法访问sdcard。此时异常发生:07-13 09:11:24.999: INFO/System.out(9986): create file happen exception--->java.io.IOException: Permission denied .我检查我在正确的地方写了正确的权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />. 

因为在我的应用程序中使用了 forceStopPackage,所以我需要将 android.uid.system 添加到 list 中。我在 make 文件中写了 LOCAL_CERTIFICATE := platform。谁能解释一下这个奇怪的问题。设置android.uid.system后,我的应用程序属于系统进程,应该有更多的权限来访问sdcard。这是我的想法。以下是我的代码:

public void setPackage(String dir){

        System.out.println( "setPackage dir=="+dir  );
        File share=new File("/mnt/sdcard","test.txt");
        if(!share.exists()){
             try{
            share.createNewFile();

        }catch(Exception e){
            System.out.println( "creat file happen exception--->" +e.toString() );
        }
      }
         try{
           if(share!=null){
                System.out.println( "create file is not null"  );
                    FileOutputStream fops=new FileOutputStream(share);

                    fops.write(dir.getBytes());
                    fops.flush();
                    fops.close();
        }
        }catch(Exception e){
                System.out.println( "write Exception-->" +e.toString() );
        }

    }

我的应用程序在模拟器上运行,他的目标版本是 2.3。非常感谢。

最佳答案

请阅读:link1

还有这个link2

关于android - 在我的应用程序中设置 "android.uid.system"后它无法访问 sdcard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6679011/

相关文章:

linux - 在 Android 模拟器上删除两指触摸

android - 找到一个以上具有操作系统独立路径的文件

java - 在 TextView 中保留最近收到的短信

java - 为什么我的应用程序不从 fragment 中打开新的 Activity?

android - 使用 pushNamed() 从屏幕错误中 flutter 返回数据

java - Android模拟器错误 "Emulator: Process finished with exit code 1"

android - 找不到 com.android.tools.build :gradle:6. 4.1

android - 设置 <support-screens android :normalScreens ="false"/> still runs in Normal Screens

android - Android Studio Gradle无法同步

android - 找不到Gradle DSL方法android()