/system/bin/sh: /sdcard/xxx.sh: can't execute: Permission denied
时间: 2023-06-30 12:18:14 浏览: 83
这个错误提示通常是由于你没有足够的权限来运行该脚本文件。你可以尝试使用以下命令来给该文件添加执行权限:
```
chmod +x /sdcard/xxx.sh
```
然后再次运行该脚本文件。如果问题仍然存在,可能是由于你的设备已经设置了禁止在外部存储器上运行脚本文件的安全限制。你可以尝试将该脚本文件拷贝到设备的内部存储器上,然后再次运行该脚本文件。
相关问题
java.io.FileNotFoundException: /mnt/sdcard/man.mp3: open failed: EACCES (Permission denied)
这个错误可能是因为你没有获取到读写存储卡的权限。你可以在 AndroidManifest.xml 文件中添加以下代码:
```
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
如果你运行的是 Android 6.0 及以上版本,你还需要在运行时动态获取权限。你可以参考以下代码:
```
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_CODE_READ_EXTERNAL_STORAGE);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE_WRITE_EXTERNAL_STORAGE);
}
```
在用户授予权限后,你可以在回调方法 onRequestPermissionsResult 中进行相应的操作。
希望这些步骤对你有所帮助。如果问题仍然存在,请提供更多的信息,我会尽力帮你解决问题。
java.io.FileNotFoundException: sdcard/Movies/123.mp4: open failed: EACCES (Permission denied)
这个错误提示是因为你的应用在尝试访问外部存储(sdcard)上的一个文件(123.mp4),但是没有获得相关的读写权限。解决这个问题的方法如下:
1. 在 AndroidManifest.xml 文件中添加读写外部存储的权限声明:
```
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
2. 在代码中请求权限:
```
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_CODE);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
}
```
其中 REQUEST_CODE 是请求权限时传递的请求码,可以自定义一个整型常量。
3. 处理权限请求的回调:
```
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 权限已授予,可以进行相关操作
} else {
// 权限未授予,无法进行相关操作
}
}
}
```
这样就可以解决访问外部存储的权限问题了。