Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

android 上报错执行ffmpeg没权限 #24

Open
lmr520 opened this issue Jul 28, 2020 · 8 comments
Open

android 上报错执行ffmpeg没权限 #24

lmr520 opened this issue Jul 28, 2020 · 8 comments

Comments

@lmr520
Copy link

lmr520 commented Jul 28, 2020

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
Caused by: java.lang.IllegalStateException: convert amr to mp3 error:
at it.sauronsoftware.jave.AudioUtils.convert(AudioUtils.java:60)
at it.sauronsoftware.jave.AudioUtils.amrToMp3(AudioUtils.java:34)
at com.example.salemen.Recording.PhoneCallReceiver.amrToMp3(PhoneCallReceiver.java:317)
at com.example.salemen.Recording.PhoneCallReceiver.onOutgoingCallEnded(PhoneCallReceiver.java:208)
at com.example.salemen.Recording.PhoneCallReceiver.onReceive(PhoneCallReceiver.java:100)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3793)
at android.app.ActivityThread.-wrap18(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2100)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7555)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
Caused by: it.sauronsoftware.jave.EncoderException: java.io.IOException: Cannot run program "/data/user/0/com.example.salemen/cache/jave-1/ffmpeg": error=13, Permission denied
at it.sauronsoftware.jave.Encoder.encode(Encoder.java:830)
at it.sauronsoftware.jave.Encoder.encode(Encoder.java:712)
at it.sauronsoftware.jave.AudioUtils.convert(AudioUtils.java:58)
at it.sauronsoftware.jave.AudioUtils.amrToMp3(AudioUtils.java:34)
at com.example.salemen.Recording.PhoneCallReceiver.amrToMp3(PhoneCallReceiver.java:317)
at com.example.salemen.Recording.PhoneCallReceiver.onOutgoingCallEnded(PhoneCallReceiver.java:208)
at com.example.salemen.Recording.PhoneCallReceiver.onReceive(PhoneCallReceiver.java:100)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3793)
at android.app.ActivityThread.-wrap18(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2100)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7555)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
Caused by: java.io.IOException: Cannot run program "/data/user/0/com.example.salemen/cache/jave-1/ffmpeg": error=13, Permission denied
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:692)
at java.lang.Runtime.exec(Runtime.java:560)
at it.sauronsoftware.jave.FFMPEGExecutor.execute(FFMPEGExecutor.java:105)
at it.sauronsoftware.jave.Encoder.encode(Encoder.java:828)
at it.sauronsoftware.jave.Encoder.encode(Encoder.java:712)
at it.sauronsoftware.jave.AudioUtils.convert(AudioUtils.java:58)
at it.sauronsoftware.jave.AudioUtils.amrToMp3(AudioUtils.java:34)
at com.example.salemen.Recording.PhoneCallReceiver.amrToMp3(PhoneCallReceiver.java:317)
at com.example.salemen.Recording.PhoneCallReceiver.onOutgoingCallEnded(PhoneCallReceiver.java:208)
at com.example.salemen.Recording.PhoneCallReceiver.onReceive(PhoneCallReceiver.java:100)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3793)
at android.app.ActivityThread.-wrap18(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2100)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7555)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
Caused by: java.io.IOException: error=13, Permission denied
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.(UNIXProcess.java:133)
at java.lang.ProcessImpl.start(ProcessImpl.java:128)

@hlz2516
Copy link

hlz2516 commented Aug 12, 2021

老哥问题解决了嘛,我看网上都是直接改文件权限的,这样治本不治根啊,把APP打包成APK让其他用户使用的时候还是会遇到权限问题的吧?

@iHe1u0
Copy link

iHe1u0 commented Sep 14, 2021

Android Q 以上的话,谷歌不允许应用程序执行 /data/user 目录下的二进制文件,具体可以看这个: Enforce execve() restrictions for API > 28

@704480904
Copy link

老哥 解决了没? 我也遇到这个坑爹的问题了,在Andorid 10 android 8.1的手机上都不行

@iHe1u0
Copy link

iHe1u0 commented Nov 12, 2021

没,换了别的了。

@704480904
Copy link

换的啥,求指教,我一直没弄出来 卡在这儿了,任务比较紧急!

@hlz2516
Copy link

hlz2516 commented Nov 17, 2021

换的啥,求指教,我一直没弄出来 卡在这儿了,任务比较紧急!
我换ffmpeg了,具体看https://github.com/tanersener/mobile-ffmpeg,这个不会报错,就是用起来有点复杂,我只用到了很基础的

@iHe1u0
Copy link

iHe1u0 commented Nov 17, 2021

换的啥,求指教,我一直没弄出来 卡在这儿了,任务比较紧急!

和楼上一样,也换mobile-ffmpeg了。

@lmr520
Copy link
Author

lmr520 commented Nov 18, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants