flutter_video_compress
flutter_video_compress copied to clipboard
android Q run error error=13, Permission denied [Bug]
Cannot run program "/xxx/ffmpeg": error=13, Permission denied i had do many test : at the android 9 is ok , but android 10 is error. i think google change the "Runtime" user permission . Can you fix this ?
I/flutter ( 6243): FlutterVideoCompress: You can try to subscribe to the
I/flutter ( 6243): compressProgress$ stream to know the compressing state.
D/FFmpeg ( 6243): Build.CPU_ABI : arm64-v8a
D/FFmpeg ( 6243): ffmpeg is ready!
E/FFmpeg ( 6243): Exception while trying to run: [/data/user/0/com.iws.backupapp/files/ffmpeg, -noautorotate, -i, /data/user/0/com.iws.backupapp/cache/temp.mp4, -vcodec, h264, -crf, 28, -movflags, +faststart, -vf, scale=192:-2, -preset:v, ultrafast, -b:v, 1000k, /storage/emulated/0/Android/data/com.iws.backupapp/files/flutter_video_compress/temp.mp4]
E/FFmpeg ( 6243): java.io.IOException: Cannot run program "/data/user/0/com.iws.backupapp/files/ffmpeg": error=13, Permission denied
E/FFmpeg ( 6243): at java.lang.ProcessBuilder.start(ProcessBuilder.java:1050)
E/FFmpeg ( 6243): at nl.bravobit.ffmpeg.ShellCommand.run(ShellCommand.java:15)
E/FFmpeg ( 6243): at nl.bravobit.ffmpeg.FFcommandExecuteAsyncTask.doInBackground(FFcommandExecuteAsyncTask.java:43)
E/FFmpeg ( 6243): at nl.bravobit.ffmpeg.FFcommandExecuteAsyncTask.doInBackground(FFcommandExecuteAsyncTask.java:12)
E/FFmpeg ( 6243): at android.os.AsyncTask$3.call(AsyncTask.java:378)
E/FFmpeg ( 6243): at java.util.concurrent.FutureTask.run(FutureTask.java:266)
E/FFmpeg ( 6243): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/FFmpeg ( 6243): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FFmpeg ( 6243): at java.lang.Thread.run(Thread.java:919)
E/FFmpeg ( 6243): Caused by: java.io.IOException: error=13, Permission denied
E/FFmpeg ( 6243): at java.lang.UNIXProcess.forkAndExec(Native Method)
E/FFmpeg ( 6243): at java.lang.UNIXProcess.
I found on Stack overflow question that from Android Q onwards, you cannot execute binaries in your app's private data directory. From the issue tracker: raised issue