是用来管理模拟器和真机的通用调试工具,该工具功能强大,直接打开cmd即可使用adb命令,adb的全称为Android Debug Bridge,是起到调试桥的作用,通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具,adb的工作方式比较特殊,采用Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行,借助adb工具我们可以管理设备或手机模拟器的状态,还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等,其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作
1:查看当前模拟器或者Android设备实例的状态
一般在使用前都会使用adb devices这个命令查看一下模拟器的状态,通过这个命令得到ADB的回应信息,可以看到ADB作为回应为每个实例制定了相关的信息
11:emulator-5554为实例名称
12:device为实例连接状态,device表示此实例正与adb相连接,offline表示此实例没有与adb连接或者无法响应
2:安装和卸载APK应用程序
你可以从电脑上复制一个APK应用到模拟器或者Android设备上,通过adb install <path_to_apk安装软件,adb uninstall <packageName卸载软件,如果你不知道这个包名,在AndroidManifestxml里的找package=""就可以了
21: 先把apk文件拷贝到sdk目录下的tools
22: 进入dos下切换到SDK的安装路径下的tools目录
23 :执行安装命令
adb install <path_to_apk
发生的错误,因为我连接了真机,而且也打开了模拟器,所以adb给我的回应信息是“比一个多的驱动设备和模拟器”,我最后关闭掉了模拟器在运行安装命令,就提示安装成功了
卸载APK
3:从本机上复制文件到模拟器或者Android设备
adb push <本地路径<远程路径,<本地路径指的是自己的机器上或者模拟器上的目标文件,<远程路径指的是远程设备实例上的目标文件
4:从模拟器复制文件到模拟器或者Android设备
adb pull <远程路径<本地路径,<本地路径指的是自己的机器上或者模拟器上的目标文件,<远程路径指的是远程设备实例上的目标文件
输入adb shell就可以进入shell命令行了,可以使用一些常用的shell命令,如:ls命令列出了文件
package cnycmoonutility;
import javaioDataOutputStream;
import androidappActivity;
import androidutilLog;
public class SystemManager extends Activity
{
/
应用程序运行命令获取 Root权限,设备必须已破解(获得ROOT权限)
@param command 命令:String apkRoot="chmod 777 "+getPackageCodePath(); RootCommand(apkRoot);
@return 应用程序是/否获取Root权限
/
public static boolean RootCommand(String command)
{
Process process = null;
DataOutputStream os = null;
try
{
process = RuntimegetRuntime()exec("su");
os = new DataOutputStream(processgetOutputStream());
oswriteBytes(command + "\n");
oswriteBytes("exit\n");
osflush();
processwaitFor();
} catch (Exception e)
{
Logd(" DEBUG ", "ROOT REE" + egetMessage());
return false;
} finally
{
try
{
if (os != null)
{
osclose();
}
processdestroy();
} catch (Exception e)
{
}
}
Logd(" DEBUG ", "Root SUC ");
return true;
}
}
public class MainActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
superonCreate(savedInstanceState);
setContentView(Rlayoutmain);
String apkRoot="chmod 777 "+getPackageCodePath();
SystemManagerRootCommand(apkRoot);
}
}
修改系统属性:rotelephonydefault_network 修改说明: 可连续给两个值(如4,1),卡1用的是4,卡2用的是1。数字代表的意义见下方的相关代码片段。 相关源码位置: frameworks/base/telephony/java/com/android/internal/telephony/RILConsta
首先要刷入第三方recovery,然后利用第三方recovery+ADB工具修改buildprop文件的权限
ADB工具置顶帖都有的下
刷入第三方recovery的方法可以参考墨墨出品的视频教程(http://bbsgfancom/forumphpmod=viewthread&tid=5730482)
刷完第三方recovery后,按住音量—和开机键进入bootloader,选择recovery mod,进入第三方recovery,再选“mounts”→“mount /system”
稍等提示挂载成功(或者mount/system变为remount/system) x9 |! ~4 Q" h8 Q()()()()()()()9999888aaaaa0000jujjjssssmmmmmmmmddd
1 Y9 E: a9 O% J1 o
然后在电脑进行如下操作:
1在adb工具所在文件夹按shift+鼠标右键,点“在此处打开命令窗口”
2在弹出的cmdexe窗口输入:adb devices
显示:[爱机的串号] recovery
3输入:adb remount
显示:remount succeed
4输入:adb shell chmod 644 /system/buildprop
(此步骤就是修改buildprop的权限为0644)
5输入:adb reboot
手机自动重启
通过修改/system/buildprop 增加 qemuhwmainkeys=1来取消虚拟按键,结果导致系统无法启动。后来通过adb推送解决。 usb连接nexus7 ,需要备份一个buildprop在电脑上了。 1打开cmd,输入:adb push buildprop /sdcard/buildprop 2输入:adb shell,这时屏幕显示的是$而不是#,输入su,屏幕应该是#了 3输入:mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system 4输入:cat /sdcard/buildprop > /system/buildprop 5输入:chmod 0644 /system/buildprop 6输入两次:exit 7输入:adb reboot 正常启动!
欢迎分享,转载请注明来源:品搜搜测评网