android中执行linux命令 的疑问,该怎么处理
android中执行linux命令 的疑问想测试一个在android代码中修改ip的例子,于是执行这样一行:Process localPr
android中执行linux命令 的疑问
想测试一个在android代码中修改ip的例子,于是执行这样一行:Process localProcess = Runtime.getRuntime().exec("ifconfig eth0 192.168.1.112 netmask 255.255.255.0");
但是adb connect 192.168.1.112死活都连不上,在adb shell中执行修改命令可以,也就是代码中的这一行没起作用,请教各位有遇到过这情况吗?
[解决办法]
也许是权限问题?
[解决办法]
是否有报异常?
[解决办法]
加上网权限试试
[解决办法]应该是权限的问题,当然可以在Mainfest里把相关网络操作的权限加上试试,如果不行用JNI做,再不行就说明ifconfig需要root权限了
[解决办法]你试试分开设置IP,子网掩码
还有你可在前面加条命令,先把eth0 启动 up
[解决办法]adb connect 必须root后才可以,
[解决办法]亲。app的所在的用户组权限太低,已经被屏蔽了大部分的shell执行权限。如果你纯粹在app java要搞定,没办法的。
[解决办法]LZ可以将当前的apk以 System用户权限预置到系统中 【也就是在manifest.xml中声明一个 ShareUserId属性】 会执行的~~
[解决办法]无论你的APK你用的是什么权限。APP的shell权限已经被限制死你,你在init.rc里面写个service,然后在apk里面调用启动这个service。这样是100%可以的。root权限的
[解决办法]有几种方法:
1,同楼上的 直接用c写个服务,init.rc里面启动,init是root权限
2,做成系统应用,将apk签名。java -jar signapk.jar -w testkey.x509.pem testkey.pk8 you.apk sign.apk 然后安装
在AndroidManifest.xml里面加 android:sharedUserId="android.uid.system" > 设为系统用户