我想做一个Android
应用程序,第一个将下载安卓tcpdump
二进制文件,第二个将执行它。文件已成功下载,但无法设置可执行文件:
try
{
File file = new File( "/sdcard/tcpdump" );
if ( file.exists() )
{
Runtime.getRuntime().exec( new String[]{ "su", "-c", "chmod 777 /sdcard/tcpdump" } );
}
}
catch ( Exception e )
{
e.printStackTrace();
}
发布于 2016-01-09 03:29:02
默认情况下,位于SD
卡上的文件是不可执行的。将文件移动到内部存储,即data/local/tmp
。"get“目录下的文件具有全局可执行权限。
发布于 2016-09-08 03:31:52
您应该能够使用以下命令在文件上设置这些权限(rwx rwx rwx):
file.setReadable(true, false); //Sets everyone's permissions to readable
file.setWritable(true, false); //Sets everyone's permissions to writable
file.setExecutable(true, false); //Sets everyone's permissions to executable
第一个参数将权限设置为true
,第二个参数将ownerOnly
参数设置为false
,这意味着权限将应用于所有用户。
您不应该需要执行Runtime命令来设置文件的权限。您可以只使用File类上的帮助器方法。下面是指向各个方法文档的链接:setReadable()、setWritable()和setExecutable()
https://stackoverflow.com/questions/34684382
复制相似问题