https://lactone.club/IT/Android.Iperf.CrossCompile.php
上記のURL通りのiperfのバイナリファイルを作成し、
context.getFilesDir().getAbsolutePath()の場所に保存し、
chmodで777に権限を変更しても、
androidアプリから実行すると
「java.io.IOException: error=13, Permission denied」が発生し、
実行ができません。
原因が分からず困っています。
置き場所が悪いのでしょうか?
(※悪い場合は、いい場所を教えていただけるとありがたいです。
sdcardの方だと実行はできないみたいですので。。。)
java
1try { 2 getApplication().getAssets().openFd("iperf"); 3 4 String[] commands = new String[] { 5 "iperf", 6 "-h" 7 }; 8 File dir = new File(sketchPath("bin")); 9 ProcessBuilder processBuilder = new ProcessBuilder(Arrays.asList(commands)); 10 processBuilder.directory(dir); 11 Process process = processBuilder.start(); //→ここでExceptionが発生する 12 BufferedReader bufferedReader = new BufferedReader( 13 new InputStreamReader(process.getInputStream())); 14 String _temp = ""; 15 while ((_temp = bufferedReader.readLine()) != null) { 16 Log.d(TAG, "temp line: " + _temp); 17 } 18 } catch (IOException e) { 19 Log.d(TAG, "command error;" + e.toString()); 20 e.printStackTrace(); 21 } 22 23private String sketchPath(String path){ 24 return context.getFilesDir().getAbsolutePath()+"/"+path; 25}
↓androidmanifest.xmlには一応以下は入っています。
xml
1<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 2 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/12 08:36
2019/11/12 08:42
2019/11/12 08:48
2019/12/20 00:42