我将我的 bash 脚本/res/raw/放在我的 Android Studio 项目的文件夹中。如何获取文件的路径以使用 exec 执行它?
我尝试这样做:
InputStream scriptFile = activity.getResources().openRawResource(R.raw.file); // script path
Run Code Online (Sandbox Code Playgroud)
但我无法获取文件路径
你可以像这样执行你的 bash:
BufferedReader r = new BufferedReader(new InputStreamReader(scriptFile));
String command = "";
List<String> commands = new ArrayList<>();
try {
command = r.readLine();
commands.add(command);
while(command != null){
command = r.readLine();
commands.add(command);
}
Process p = new ProcessBuilder().command(commands).start();
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
您可以获取原始资源的 Uri 以创建新的 File 对象:
Uri uri = Uri.parse("android.resource://com.your.package/raw/filename");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17169 次 |
| 最近记录: |