jave icon indicating copy to clipboard operation
jave copied to clipboard

android 上报错执行ffmpeg没权限

Open lmr520 opened this issue 4 years ago • 8 comments

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)

lmr520 avatar Jul 28 '20 08:07 lmr520

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

hlz2516 avatar Aug 12 '21 13:08 hlz2516

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

iHe1u0 avatar Sep 14 '21 06:09 iHe1u0

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

704480904 avatar Nov 12 '21 10:11 704480904

没,换了别的了。

iHe1u0 avatar Nov 12 '21 12:11 iHe1u0

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

704480904 avatar Nov 16 '21 16:11 704480904

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

hlz2516 avatar Nov 17 '21 04:11 hlz2516

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

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

iHe1u0 avatar Nov 17 '21 13:11 iHe1u0

        我看一下---- 回复的原邮件 ***@***.***>发送日期2021年11月17日 12:34 ***@***.***> ***@***.******@***.***>主题Re: [dadiyang/jave] android 上报错执行ffmpeg没权限  (#24)

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

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

我换ffmpeg了,具体看https://github.com/tanersener/mobile-ffmpeg,这个不会报错,就是用起来有点复杂,我只用到了很基础的

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.

[

{

@.***": "http://schema.org",

@.***": "EmailMessage",

"potentialAction": {

@.***": "ViewAction",

"target": "https://github.com/dadiyang/jave/issues/24#issuecomment-971173661",

"url": "https://github.com/dadiyang/jave/issues/24#issuecomment-971173661",

"name": "View Issue"

},

"description": "View this Issue on GitHub",

"publisher": {

@.***": "Organization",

"name": "GitHub",

"url": "https://github.com"

}

}

]

lmr520 avatar Nov 18 '21 02:11 lmr520