adb shell命令

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.e.uu"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.e.uu.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.e.uu.MainActivity1" >
            <intent-filter>
                <action android:name="com.e.uu.main1" >
                </action>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <service android:name=".CoreService" >
        </service>
    </application>

</manifest>


adb shell am start [options] <INTENT>

作用:启动一个activity

举例:adb shell am start -a com.e.uu.main1

举例:adb shell am start -n com.e.uu/.MainActivity1

举例:启动MainActivity laucher

adb shell am start -n com.e.uu/.MainActivity

说明:[options]与<INTENT>参见 http://developer.android.com/tools/help/adb.html#am

注:在实际调试的时候发现,调用start -n 启动activity时,必须有intent-filter(manifest.xml中的红色与蓝色activity);而startservice则不需要。

带String参数的命令

 adb shell am start -n com.e.uu/.MainActivity1 -e abc hello

代码中通过String value= getIntent().getStringExtra("abc")

adb shell am startservice [options] <INTENT>

作用:启动一个service


举例:adb shell am startservice -n com.e.uu/.CoreService -e key value

 

adb shell am force-stop <PACKAGE>
作用:强制关闭一个应用程序

举例:adb shell am force-stop com.lt.test

 

adb shell am broadcast [options] <INTENT>

作用:发送一个广播
举例:adb shell am broadcast -a "action_finish" (发送一个广播去关闭一个activity)
举例:adb shell am broadcast -a android.intent.action.MASTER_CLEAR(恢复出厂设置的方法,会清除内存所有内容)

举例:adb shell am broadcast -n com.lt.test/.MyBroadcast

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。


通过执行adb connect命令可以将同一局域网内的设备连接到ddms。

假设设备的网络ip为192.168.1.100

执行:adb connect 192.168.1.100

如果提示不能连接后,可通过usb数据线将设备连接到电脑上

执行adb tcpip 5555

之后再调用连接。

-----------------------------------------------------------------------------------------------------------------------------

adb介绍

SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作:
  
1、快速更新设备或手机模拟器中的代码,如应用或Android 系统升级; 
2、在设备上运行shell命令; 
3、管理设备或手机模拟器上的预定端口; 
4、在设备或手机模拟器上复制或粘贴文件;

 

adb在集成开发环境中的工作  
   adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。  
     1.通过adb可以轻松的执行Linux Shell命令,如adb shell dir 就是列举目录,在Linux中根目录为/而不是Windows上的C盘、D盘。  
     2.安装apk程序到模拟器则执行adb install android123.apk,这样名为android123的安装包就会安装到Android模拟器中,前提是android123.apk文件需要放到SDK/Tools目录下。  
     3.向emulator传送文件, 使用adb push android123.txt /tmp/android123.txt命令可以把SDK/Tools下的android123.txt文件传输到模拟器的/tmp/文件夹中,需要注意的是/tmp/文件夹中内容会在Android模拟器重新启动时清空。  
     4.从Android仿真器中回传文件到电脑  
   通过adb pull /tmp/android123.txt android123.txt命令就会把仿真器的tmp文件夹下android123.txt文件回传到电脑SDK/Tools目录下。  
  
adb 常用命令大全

1. 显示系统中全部Android平台:

    android list targets

2. 显示系统中全部AVD(模拟器):

    android list avd

3. 创建AVD(模拟器):

    android create avd --name 名称 --target 平台编号

4. 启动模拟器:

    emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)

5. 删除AVD(模拟器):

    android delete avd --name 名称

6. 创建SDCard:

    mksdcard 1024M ~/名称.img

7. AVD(模拟器)所在位置:

    Linux(~/.android/avd)      Windows(C:\Documents and Settings\Administrator\.android\avd)

8. 启动DDMS:

    ddms

9. 显示当前运行的全部模拟器:

    adb devices

10. 对某一模拟器执行命令:

      abd -s 模拟器编号 命令

11. 安装应用程序:

      adb install -r 应用程序.apk

12. 获取模拟器中的文件:

      adb pull <remote> <local>

13. 向模拟器中写文件:

      adb push <local> <remote>

14. 进入模拟器的shell模式:

      adb shell

15. 启动SDK,文档,实例下载管理器:

      android

16. 缷载apk包:

      adb shell

      cd data/app

      rm apk包

      exit

      adb uninstall apk包的主包名

      adb install -r apk包

17. 查看adb命令帮助信息:

      adb help

18. 在命令行中查看LOG信息:

      adb logcat -s 标签名

19. adb shell后面跟的命令主要来自:

      源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。

20. 删除系统应用:

      adb remount (重新挂载系统分区,使系统分区重新可写)。

      adb shell

      cd system/app

      rm *.apk

21. 获取管理员权限:

      adb root

22. 启动Activity:

      adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。

23、发布端口:

    你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如: 
adb forward tcp:5555 tcp:8000

24、复制文件:

    你可向一个设备或从一个设备中复制文件, 
     复制一个文件或目录到设备或模拟器上: 
  adb push <source> <destination></destination></source> 
      如:adb push test.txt /tmp/test.txt 
     从设备或模拟器上复制一个文件或目录: 
     adb pull <source> <destination></destination></source> 
     如:adb pull /addroid/lib/libwebcore.so .

25、搜索模拟器/设备的实例:

     取得当前运行的模拟器/设备的实例的列表及每个实例的状态: 
    adb devices

26、查看bug报告: 
adb bugreport 
27、记录无线通讯日志:

    一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录: 
    adb shell 
    logcat -b radio

28、获取设备的ID和序列号:

     adb get-product 
     adb get-serialno

29、访问数据库SQLite3

     adb shell 
     sqlite3

#cd system/sd/data //进入系统内指定文件夹 
#ls //列表显示当前文件夹内容 
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 
#rm xxx //删除文件xxx 
#rmdir xxx //删除xxx的文件夹



PS

使用am broadcast发送带参数的广播时,可以多次使用-e、--ei、--ez

adb shell am broadcast -a com.exam.test --es name 中文名称 --ei index 20 --ei count 100 --ez isAuto true

其中name、index、count、isAuto为key值

对于int类型的要使用--ei否则无法用intent.getIntExtra直接得到

发现在传输中文时会显示乱码,可以用Base64转码


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: adb shell脚本是一种在Android设备上执行命令的脚本语言。它可以通过adb命令将脚本文件上传到设备上,并在设备上执行脚本中的命令。使用adb shell脚本可以自动化执行一系列操作,例如安装应用程序、启动应用程序、截屏、录制屏幕等。同时,adb shell脚本也可以用于调试和测试Android应用程序。 ### 回答2: adb shell脚本是一种可以在安卓设备上运行的脚本语言,它基于adb(Android Debug Bridge,Android调试桥)工具,通过adb命令在安卓设备上运行自动化脚本。 adb shell脚本的优势在于可以通过在电脑上编写脚本,可以快速准确地完成手动操作,例如自动化测试、数据分析、批处理等。此外,通过adb shell脚本还可以轻松地访问安卓设备的各种功能,例如文件操作、进程管理、网络配置等。 通过adb shell脚本,可以使用adb命令来实现自动化操作,例如: 1. 安装和卸载应用程序; 2. 启动和停止服务; 3. 清空应用程序数据; 4. 模拟按键和手势操作等。 在编写adb shell脚本时,需要使用shell语言的基础知识,例如变量、循环、条件语句等。另外,还需要了解adb命令的常用语法及其参数。 总的来说,adb shell脚本是一种强大的工具,可以在安卓设备上实现各种自动化操作。当需要快速执行一系列命令或实现一些复杂的任务时,adb shell脚本是一种效率高、准确度高的选择。 ### 回答3: adb shell是Android Debug Bridge(Android调试桥)的一部分。它是一个命令行工具,可让您通过adb连接到Android设备或模拟器的shell中。您可以使用adb shell脚本来与设备进行交互,执行命令或操作,以便进行测试、调试和开发。 使用adb shell脚本,您可以运行Android操作系统提供的大量命令。例如,您可以使用命令adb shell pm list packages列出设备上安装的所有包和应用名称。通过此命令,您可以快速找到您需要测试的应用程序或包名称,并进行测试。同样,您还可以使用adb shell input命令模拟用户输入,测试您应用程序是否正确响应。 另一个常见的应用场景涉及到开发人员需要在Android设备上执行自动化测试脚本。adb shell可以帮助您实现此目的。例如,如果您想要执行多个测试用例,可以编写adb shell脚本以执行测试用例,并将结果保存在txt文件中。这样,您就可以快速检查测试运行是否成功,是否有任何错误等。 最后,adb shell脚本还可以用于在设备上安装、卸载应用程序或启动Activity。这对于测试和调试应用程序非常有用,在这些过程中,您需要经常进行此类操作。只需编写一个简单的脚本,一次性完成所有安装、卸载或启动操作,就可以简化您的工作流程,并快速进行启动和测试。 总之,adb shell脚本是Android开发人员、测试人员和其他技术人员的重要工具。通过使用adb shell,您可以快速查找Android设备的状态和信息,并执行各种操作,以便进行测试、调试和开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值