另外,获取system挂载点我是先执行mount,然后自己在返回结果里找的
# mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mmcblk0p25 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p26 /data ext4 rw,nosuid,nodev,noatime,nodiratime,barrier=1,da
ta=writeback,noauto_da_alloc 0 0
/dev/block/mmcblk0p27 /cache ext4 rw,nosuid,nodev,noatime,nodiratime,barrier=1,d
ata=writeback,noauto_da_alloc 0 0
/dev/block/mmcblk0p28 /devlog ext4 rw,nosuid,nodev,noatime,nodiratime,barrier=1,
data=writeback,noauto_da_alloc 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /app-cache tmpfs rw,relatime,size=8192k,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
tmpfs /data/secure/data tmpfs rw,relatime,mode=771,uid=1000,gid=1000 0 0
/data/d /data/d debugfs rw,relatime 0 0
htcfs /data/htcfs fuse.htcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow
_other 0 0
DxDrmServerIpc /data/DxDrm/fuse fuse.DxDrmServerIpc rw,nosuid,nodev,relatime,use
r_id=0,group_id=0,allow_other 0 0
/dev/block/vold/179:65 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,
uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharse
t=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:65 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,rela
time,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,ioc
harset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
/dev/block/dm-0 /mnt/asec/com.ting.mp3.android-1 vfat ro,dirsync,nosuid,nodev,re
latime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortna
me=mixed,utf8,errors=remount-ro 0 0
/dev/block/dm-1 /mnt/asec/com.mybo.tetris-1 vfat ro,dirsync,nosuid,nodev,relatim
e,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mi
xed,utf8,errors=remount-ro 0 0
/dev/block/dm-2 /mnt/asec/com.wiyun.engine-1 vfat ro,dirsync,nosuid,nodev,relati
me,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=m
ixed,utf8,errors=remount-ro 0 0
# mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mmcblk0p25 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p26 /data ext4 rw,nosuid,nodev,noatime,nodiratime,barrier=1,da
ta=writeback,noauto_da_alloc 0 0
/dev/block/mmcblk0p27 /cache ext4 rw,nosuid,nodev,noatime,nodiratime,barrier=1,d
ata=writeback,noauto_da_alloc 0 0
/dev/block/mmcblk0p28 /devlog ext4 rw,nosuid,nodev,noatime,nodiratime,barrier=1,
data=writeback,noauto_da_alloc 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /app-cache tmpfs rw,relatime,size=8192k,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
tmpfs /data/secure/data tmpfs rw,relatime,mode=771,uid=1000,gid=1000 0 0
/data/d /data/d debugfs rw,relatime 0 0
htcfs /data/htcfs fuse.htcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow
_other 0 0
DxDrmServerIpc /data/DxDrm/fuse fuse.DxDrmServerIpc rw,nosuid,nodev,relatime,use
r_id=0,group_id=0,allow_other 0 0
/dev/block/vold/179:65 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,
uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharse
t=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:65 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,rela
time,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,ioc
harset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
/dev/block/dm-0 /mnt/asec/com.ting.mp3.android-1 vfat ro,dirsync,nosuid,nodev,re
latime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortna
me=mixed,utf8,errors=remount-ro 0 0
/dev/block/dm-1 /mnt/asec/com.mybo.tetris-1 vfat ro,dirsync,nosuid,nodev,relatim
e,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mi
xed,utf8,errors=remount-ro 0 0
/dev/block/dm-2 /mnt/asec/com.wiyun.engine-1 vfat ro,dirsync,nosuid,nodev,relati
me,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=m
ixed,utf8,errors=remount-ro 0 0
呵呵,windows下不太懂,不过应该也有提供程序调用命令的api吧,类似exec之类的。
private String execCMD(String cmd) {
System.out.println("******cmd execute start:" + cmd + "******");
Runtime runTime = Runtime.getRuntime();
Process process = null;
try {
process = runTime.exec(cmd);
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader reader = new BufferedReader(new InputStreamReader(
process.getInputStream())); StringBuffer sb = new StringBuffer(); try {
for (String s = reader.readLine(); s != null; s = reader.readLine()) {
sb.append(s);
sb.append("\n");
}
} catch (IOException e) {
e.printStackTrace();
} System.out.println(sb.toString()); reader = new BufferedReader(new InputStreamReader(
process.getErrorStream()));
StringBuffer esb = new StringBuffer(); try {
for (String s = reader.readLine(); s != null; s = reader.readLine()) {
esb.append(s);
esb.append("\n");
}
} catch (IOException e) {
e.printStackTrace();
} System.out.println("******error str is:" + esb.toString());
System.out.println("******cmd execute end******");
return sb.toString();
}
但问题是,执行像"ping,adb devices,adb install"这些直接返回结果的命令时可以用,但执行"adb shell"以后,不知道怎么再在shell下执行像"su mount"这些命令了……求指教linux下怎么写。