android命令实战手册

本文详细介绍了Android开发过程中常用的工具,包括android.bat、emulator.exe、ddms.bat、adb等,涵盖了从模拟器管理、设备调试到系统信息获取等多个方面。

 

1            android.bat· 2

1.1      查看帮助信息: 2

1.2      创建avd· 2

1.3      Lists existing targets or virtual devices 2

1.4      Lists existing Android Virtual Devices 3

1.5      Lists existing targets 4

2            emulator.exe·· 5

2.1      启动模拟器··· 5

2.2      使用模拟器控制台··· 7

3            ddms.bat· 10

3.1      直接启动ddms 10

4            adb·· 11

4.1      Adb help: 11

4.2      scripting: 13

4.3      device commands: 14

5            关于编译···· 17

5.1      am: 18

5.2      重新编译源码··· 18

6            系统信息···· 18

6.1      Process: list process after phone started· 19

6.2      Memory info: list memory information after phone started· 19

6.3      Init log: list phone init log· 19

6.4      Bugreport: from adb bugreport· 19


 

1     android.bat

 

1.1   查看帮助信息:

    android.bat –h android.bat –help

 

1.2   创建avd

(1)  android.bat create avd -t 1 -c 256M -p

E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/images -n avd16 -f -s HVGA

(2)  android.bat create avd -t 2 -c 256M -p

E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/images -n avd2 -f -s HVGA

        以上,用不同的设置创建avd.

   (3)  直接用”android.bat”命令可以启动Android SDK图开界面(如下图),用它也可以创建avd;

      

(4)  eclipse中,点击工具栏中的“open the avd and SDK manager”图标来打开上图。

 

1.3   Lists existing targets or virtual devices

 

    E:/android_sdk/android-sdk-windows-1.6_r1/tools>android.bat list

    Available Android targets:

    id: 1

         Name: Android 1.5

         Type: Platform

         API level: 3

         Revision: 1

         Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P

    id: 2

         Name: Android 1.6

         Type: Platform

         API level: 4

         Revision: 1

         Skins: HVGA (default), QVGA, WVGA800, WVGA854

    id: 3

         Name: Google APIs

         Type: Add-On

         Vendor: Google Inc.

         Revision: 3

         Description: Android + Google APIs

         Based on Android 1.5 (API level 3)

         Libraries:

          * com.google.android.maps (maps.jar)

              API for Google Maps

         Skins: QVGA-P, HVGA-L, HVGA (default), QVGA-L, HVGA-P

    id: 4

         Name: Google APIs

         Type: Add-On

         Vendor: Google Inc.

         Revision: 1

         Description: Android + Google APIs

         Based on Android 1.6 (API level 4)

         Libraries:

          * com.google.android.maps (maps.jar)

              API for Google Maps

         Skins: WVGA854, HVGA (default), WVGA800, QVGA

    Available Android Virtual Devices:

        Name: avd16

        Path: C:/Documents and Settings/lizhongyi/.android/avd/avd16.avd

      Target: Android 1.6 (API level 4)

        Skin: HVGA

    ---------

        Name: avd2

        Path: C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd

      Target: Android 1.6 (API level 4)

        Skin: QVGA

 

1.4   Lists existing Android Virtual Devices

 

E:/android_sdk/android-sdk-windows-1.6_r1/tools>android list avd

      Available Android Virtual Devices:

          Name: avd16

          Path: C:/Documents and Settings/lizhongyi/.android/avd/avd16.avd

        Target: Android 1.6 (API level 4)

          Skin: HVGA

      ---------

          Name: avd2

          Path: C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd

        Target: Android 1.6 (API level 4)

          Skin: QVGA

 

1.5   Lists existing targets

    E:/android_sdk/android-sdk-windows-1.6_r1/tools>android list target

    Available Android targets:

    id: 1

         Name: Android 1.5

         Type: Platform

         API level: 3

         Revision: 1

         Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P

    id: 2

         Name: Android 1.6

         Type: Platform

         API level: 4

         Revision: 1

         Skins: HVGA (default), QVGA, WVGA800, WVGA854

    id: 3

         Name: Google APIs

         Type: Add-On

         Vendor: Google Inc.

         Revision: 3

         Description: Android + Google APIs

         Based on Android 1.5 (API level 3)

         Libraries:

          * com.google.android.maps (maps.jar)

              API for Google Maps

         Skins: QVGA-P, HVGA-L, HVGA (default), QVGA-L, HVGA-P

    id: 4

         Name: Google APIs

         Type: Add-On

         Vendor: Google Inc.

         Revision: 1

         Description: Android + Google APIs

         Based on Android 1.6 (API level 4)

         Libraries:

          * com.google.android.maps (maps.jar)

              API for Google Maps

         Skins: WVGA854, HVGA (default), WVGA800, QVGA

   

   

12    emulator.exe

2.1   启动模拟器

  (1) 最简单的方法(avd):

emulator -avd avd2

(2) 按尺寸启动模拟器

   emulator.exe -avd avd2 -scale 0.7

 

(3) 启动userdata.img

  emulator -data userdata.img

 

(4) 启动system.img

  emulator -data system.img

 

(5) 使用-verbose选项

 

E:/android_sdk/android-sdk-windows-1.6_r1/tools>emulator  -verbose -avd avd2

emulator: found SDK root at E:/android_sdk/android-sdk-windows-1.6_r1

emulator: root virtual device file at C:/Documents and Settings/lizhongyi/.android/avd/avd2.ini

emulator: virtual device content at C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd

emulator: virtual device config file: C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/config.ini

emulator:     locking user data image at C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/userdata-qemu.img

emulator:     locking cache image at C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/cache.img

emulator: ignoring non-existing SD Card at C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/sdcard.img: No such file or directory

emulator: found skin 'QVGA' in directory: E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/skins

emulator: autoconfig: -skin QVGA

emulator: autoconfig: -skindir E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/skins

emulator: keyset loaded from: C:/Documents and Settings/lizhongyi/.android/default.keyset

emulator: trying to load skin file 'E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/skins/QVGA/layout'

emulator: skin network speed: 'full'

emulator: skin network delay: 'none'

emulator: registered 'boot-properties' qemud service

emulator: registered 'boot-properties' qemud service

emulator: Adding boot property: 'qemu.sf.lcd_density' = '120'

emulator: argv[00] = "emulator"

emulator: argv[01] = "-kernel"

emulator: argv[02] = "E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/images//kernel-qemu"

emulator: argv[03] = "-initrd"

emulator: argv[04] = "E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/images//ramdisk.img"

emulator: argv[05] = "-nand"

emulator: argv[06] = "system,size=0x4200000,initfile=E:/android_sdk/android-sdk-windows-1.6_r1/platforms/android-1.6/images//system.img"

emulator: argv[07] = "-nand"

emulator: argv[08] = "userdata,size=0x4200000,file=C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/userdata-qemu.img"

emulator: argv[09] = "-nand"

emulator: argv[10] = "cache,size=0x4200000,file=C:/Documents and Settings/lizhongyi/.android/avd/avd2.avd/cache.img"

emulator: argv[11] = "-serial"

emulator: argv[12] = "android-kmsg"

emulator: argv[13] = "-serial"

emulator: argv[14] = "android-qemud"

emulator: argv[15] = "-append"

emulator: argv[16] = "qemu=1 console=ttyS0 android.checkjni=1 android.qemud=ttyS1 android.ndns=1"

emulator: argv[17] = "-m"

emulator: argv[18] = "96"

emulator: mapping 'system' NAND image to C:/DOCUME~1/LIZHON~1/LOCALS~1/Temp//AndroidEmulator/TMP834.tmp

emulator: using 'winaudio' audio input backend

emulator: using 'winaudio' audio output backend

emulator: control console listening on port 5556, ADB on port 5557

emulator: sent '0012host:emulator:5557' to ADB server

emulator: ping program: E:/android_sdk/android-sdk-windows-1.6_r1/tools/ddms.bat

emulator: ping command: C:/WINDOWS/system32/cmd.exe /C "E:/android_sdk/android-sdk-windows-1.6_r1/tools/ddms.bat" ping emulator 1.11

 

(6) 使用- logcat 选项

  emulator  -logcat  main -avd avd2

 

(7) 使用-trace选项

E:/android_sdk/android-sdk-windows-1.6_r1/tools>emulator  -trace main(events,radio) -avd avd2

-- When done tracing, exit the emulator. --

emulator: emulator window was out of view and was recentred

或者:

E:/android_sdk/android-sdk-windows-1.6_r1/tools>emulator  -trace radio -trace main -trace radio -avd avd2

 

(7) 使用- kernel-ramdisk选项

  E:/android_sdk/android-sdk-windows-1.6_r1/tools>emulator -kernel ../platforms/android-1.6/images/kernel-qemu -ramdisk ../platforms/android-1

.6/images/ramdisk.img -debug-kernel -verbose -avd avd2

 

(7) 使用- netfast选项

E:/android_sdk/android-sdk-windows-1.6_r1/tools>emulator  -netfast -avd avd2

 

 

2.2   使用模拟器控制台

 每一个运行中的模拟器实例都包括一个控制台,你可以利用控制台动态的查询和控制模拟设备的环境 。例如,你可以利用控制台动态的管理端口映射和网络特性,还可以模拟电话时间。要想进入控制台输入 命令,你需要使用telnet连接到控制台的端口号。

 

可以使用下面的命令随时随地连接到任何一个运行中的模拟器实例:

 

telnet localhost 端口号

 

假设第一个模拟器实例的控制台使用5554端口,下一个实例使用的端口号会加2,比如55565558…… 等。你可以在启动模拟器是使用-verbose选项来检测该模拟器实例使用的端口号,在调试 输出的找到以”emulator console running on port number”这一行。 另外, 你可 以在命令行中使用adb devices来查看模拟器实例和他们的端口列表。最多可以有16个模拟 器实例同时运行控制台。

 

(1)    进入控制台

先在一个cmd窗口中启动一个模拟器, 再打开一个cmd窗口,运行telnet命令,如下:

E:/android_sdk/android-sdk-windows-1.6_r1/tools> telnet localhost 5556

( 因为在我的PC,启动了两个模拟器, 一个用的是5554端口,另一个用的是5556端口.这里,控制的是使用5556端口的模拟器)

进入后,如下图:

 

 

(2)    gsm测试

 

输入

gsm voice on

ok

则可以在模拟器上看到3G图标,并且网络图标处于有信号状态。

 

而执行

gsm voice off

ok

后,3G图标消失,并且网络图标处于关闭(X)状态。

 

gsm call 13522543026

ok

,模拟器有如下反应:

 

 

 

(3)    sms测试

sms send 13522543026 hello

ok

, 在模拟器的messaging,就会看到有一条短信了.

如图:

 

 

 

 

13    ddms.bat

    

3.1   直接启动ddms

E:/android_sdk/android-sdk-windows-1.6_r1/tools>ddms

02:30 I/ddms: Created: [Debugger 8600-->568 inactive]

02:30 I/ddms: Created: [Debugger 8601-->617 inactive]

02:30 I/ddms: Created: [Debugger 8602-->619 inactive]

02:30 I/ddms: Created: [Debugger 8603-->657 inactive]

02:30 I/ddms: Created: [Debugger 8604-->670 inactive]

02:30 I/ddms: Created: [Debugger 8605-->681 inactive]

 

  

 

这和eclipse中的ddms是一样的.

 

 

 

4     adb

 

1.14.1        Adb help:

 

直接运行adb会显示出adbhelp信息.如下:

 

E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb -help

Android Debug Bridge version 1.0.22

 

 -d                            - directs command to the only connected USB device

                                 returns an error if more than one USB device is present.

 -e                            - directs command to the only running emulator.

                                 returns an error if more than one emulator is running.

 -s <serial number>            - directs command to the USB device or emulator with

                                 the given serial number

 -p <product name or path>     - simple product name like 'sooner', or

                                 a relative/absolute path to a product

                                 out directory like 'out/target/product/sooner'.

                                 If -p is not specified, the ANDROID_PRODUCT_OUT

                                 environment variable is used, which must

                                 be an absolute path.

 devices                       - list all connected devices

 

device commands:

  adb push <local> <remote>    - copy file/dir to device

  adb pull <remote> <local>    - copy file/dir from device

  adb sync [ <directory> ]     - copy host->device only if changed

                                 (see 'adb help all')

  adb shell                    - run remote shell interactively

  adb shell <command>          - run remote shell command

  adb emu <command>            - run emulator console command

  adb logcat [ <filter-spec> ] - View device log

  adb forward <local> <remote> - forward socket connections

                                 forward specs are one of:

                                   tcp:<port>

                                   localabstract:<unix domain socket name>

                                   localreserved:<unix domain socket name>

                                   localfilesystem:<unix domain socket name>

                                   dev:<character device name>

                                   jdwp:<process pid> (remote only)

  adb jdwp                     - list PIDs of processes hosting a JDWP transport

  adb install [-l] [-r] <file> - push this package file to the device and install it

                                 ('-l' means forward-lock the app)

                                 ('-r' means reinstall the app, keeping its data)

  adb uninstall [-k] <package> - remove this app package from the device

                                 ('-k' means keep the data and cache directories)

  adb bugreport                - return all information from the device

                                 that should be included in a bug report.

 

  adb help                     - show this help message

  adb version                  - show version num

 

DATAOPTS:

 (no option)                   - don't touch the data partition

  -w                           - wipe the data partition

  -d                           - flash the data partition

 

scripting:

  adb wait-for-device          - block until device is online

  adb start-server             - ensure that there is a server running

  adb kill-server              - kill the server if it is running

  adb get-state                - prints: offline | bootloader | device

  adb get-serialno             - prints: <serial-number>

  adb status-window            - continuously print device status for a specified device

  adb remount                  - remounts the /system partition on the device read-write

  adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program

  adb root                     - restarts adb with root permissions

 

networking:

  adb ppp <tty> [parameters]   - Run PPP over USB.

 Note: you should not automatically start a PPP connection.

 <tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1

 [parameters] - Eg. defaultroute debug dump local notty usepeerdns

 

adb sync notes: adb sync [ <directory> ]

  <localdir> can be interpreted in several ways:

 

  - If <directory> is not specified, both /system and /data partitions will be updated.

 

-          If it is "system" or "data", only the corresponding partition

    is updated.

 

 

 

14.2        scripting:

(1) start adb server

方法1: E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb kill-server

 

E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb start-server

* daemon not running. starting it now *

* daemon started successfully *

E:/android_sdk/android-sdk-windows-1.6_r1/tools>

 

方法2: E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb kill-server

 

E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb fork-server server

OK

 

注意: 方法1是直接用adbscripting “adb start-server” 来启动的, 启动成功后,直接返回到cmd命令窗口;

方法2 是用直接启动adb server进程的方式” adb fork-server server”来启动的,启动成功后, 显示”OK”, 并且不返回到cmd命令窗口.

分析: 这是因为adb.exe是一个命令(可执行程序), 它启动后,会调用到” adb fork-server server”(这个server正是adb server), 然后, adb.exe就退出了,这时,只剩下adb server 这个进程了,这个进程的名字也是adb.exe.而方法2是直接启动adb server,所以,不能退出,如果退出,就相当于adb server退出了.

adb server启动后,会在任务管理器中进程中可以看到adb.exe.

如果用户将adb.exe 强行结束了,那么, 对于方法2,就会回到cmd窗口.

另外,如果eclipse中启动了模拟器,那么, 强行结束adb server, 会再启动一个.

 

(2) adb get-state and get-serialno

E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb get-state

device

 

E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb get-serialno

emulator-5554

 

如果同时启动了两个模拟器,则这两个脚本的执行结果均是:

unknown

 

(3) adb root

     E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb root

adbd is already running as root

 

adb reboot recovery

(4) adb reboot [android-sdk-windows-1.6_r1支持]

adb reboot bootloader( recovery)

说明:reboots the device, optionally into the bootloader or recovery program,可见,只针对真机,

所以,当运行此脚本时,模拟器就不能运行了。

另外,此脚本是从android-sdk-windows-1.6_r1开始支持的。

 

1.12.3        device commands:

(1) list all connected devices

E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb devices

List of devices attached

emulator-5554   device

emulator-5556   device

 

(2) adb shell

  开机:

      E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb shell

      # ls

      ls

      sqlite_stmt_journals

      cache

      sdcard

      etc

      system

      sys

      sbin

      proc

      init.rc

      init.goldfish.rc

      init

      default.prop

      data

      root

      dev

      # cd data

      cd data

      # ls

      ls

      misc

      local

      data

      app-private

      app

      property

      anr

      dalvik-cache

      system

      lost+found

     

      # cd data

      cd data

      # pwd

      pwd

      /data/data

      # ls -l

      Ls -l

      # ls -l

      ls -l

      drwxr-xr-x app_0    app_0             2009-11-25 02:42 com.android.packageinstaller

      drwxr-xr-x app_1    app_1             2009-11-25 02:42 com.android.providers.contacts

      drwxr-xr-x app_2    app_2             2009-11-25 02:42 com.android.fallback

      drwxr-xr-x app_1    app_1             2009-11-25 02:42 com.android.inputmethod.latin

      drwxr-xr-x app_3    app_3             2009-11-25 02:42 com.android.gesture.builder

      drwxr-xr-x app_4    app_4             2009-11-25 02:42 com.google.android.marvin.talkback

      drwxr-xr-x app_5    app_5             2009-11-25 02:42 com.android.providers.downloads

      drwxr-xr-x app_1    app_1             2009-11-25 02:42 com.android.inputmethod.pinyin

      drwxr-xr-x system   system            2009-11-25 02:42 com.android.providers.settings

      drwxr-xr-x app_6    app_6             2009-11-25 02:42 com.android.development

      drwxr-xr-x app_7    app_7             2009-11-25 02:42 com.android.email

      drwxr-xr-x app_8    app_8             2009-11-25 02:42 com.android.music

      drwxr-xr-x app_1    app_1             2009-11-25 02:42 com.android.globalsearch

      drwxr-xr-x app_9    app_9             2009-11-25 02:42 jp.co.omronsoft.openwnn

      drwxr-xr-x app_10   app_10            2009-11-25 02:42 com.android.mms

      drwxr-xr-x app_5    app_5             2009-11-25 02:42 com.android.camera

      drwxr-xr-x app_11   app_11            2009-11-25 02:42 com.android.term

      drwxr-xr-x system   system            2009-11-25 02:42 com.android.settings

      drwxr-xr-x app_12   app_12            2009-11-25 02:42 com.android.browser

      drwxr-xr-x app_13   app_13            2009-11-25 02:42 android.tts

      drwxr-xr-x app_14   app_14            2009-11-25 02:42 com.android.customlocale

      drwxr-xr-x app_1    app_1             2009-11-25 02:42 com.android.providers.userdictionary

      drwxr-xr-x app_15   app_15            2009-11-25 02:42 com.android.soundrecorder

      drwxr-xr-x app_16   app_16            2009-11-25 02:42 com.android.netspeed

      drwxr-xr-x radio    radio             2009-11-25 02:43 com.android.phone

      drwxr-xr-x app_1    app_1             2009-11-25 02:43 com.android.contacts

      drwxr-xr-x app_17   app_17            2009-11-25 02:43 com.android.htmlviewer

      drwxr-xr-x system   system            2009-11-25 02:43 com.android.server.vpn

      drwxr-xr-x app_1    app_1             2009-11-25 02:43 com.google.android.providers.enhancedgooglesearch

      drwxr-xr-x app_18   app_18            2009-11-25 02:43 com.android.sdksetup

      drwxr-xr-x app_4    app_4             2009-11-25 02:43 com.google.android.marvin.soundback

      drwxr-xr-x app_5    app_5             2009-11-25 02:43 com.android.providers.drm

      drwxr-xr-x app_1    app_1             2009-11-25 02:43 com.android.launcher

      drwxr-xr-x app_1    app_1             2009-11-25 02:43 com.android.providers.applications

      drwxr-xr-x app_19   app_19            2009-11-25 02:43 com.svox.pico

      drwxr-xr-x app_5    app_5             2009-11-25 02:43 com.android.providers.media

      drwxr-xr-x app_20   app_20            2009-11-25 02:43 com.android.calculator2

      drwxr-xr-x app_4    app_4             2009-11-25 02:43 com.google.android.marvin.kickback

      drwxr-xr-x radio    radio             2009-11-25 02:43 com.android.providers.telephony

      drwxr-xr-x app_21   app_21            2009-11-25 02:43 com.android.alarmclock

      drwxr-xr-x app_22   app_22            2009-11-25 02:43 com.android.spare_parts     

  先后启动kx011a两个应用程序(都是activity,则,

     /data/data下,就会看到如下两个应用了,

     # ls

     a.a

     com.kx011

  而且,在/data/app下,也有这两个应用的apk文件。

     # cd /data/app

      cd /data/app

      # ls

      ls

      com.kx011.apk

      a.a.apk

     

      说明:在/data/data目录下,存放了所有系统已经启动的的应用程序;

            /data/app下,以apk的形式存放了用户建立的应用。

 

3adb pull      // 说明:copy file/dir from device

      E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb pull /init.rc F:/ABD/x.txt

668 KB/s (10700 bytes in 0.015s)

 

          adb push <local> <remote>    - copy file/dir to device

    adb pull <remote> <local>    - copy file/dir from device

 

4)adb push  // 说明:copy file/dir to device

     E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb push ddms.bat /data/

     124 KB/s (1992 bytes in 0.015s)

  

 

(5) adb install

E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb install D:/allProject/android16/kx011/bin/kx011.apk

259 KB/s (8297 bytes in 0.031s)

        pkg: /data/local/tmp/kx011.apk

Success

#

说明: install 完成之后,直接进入adb shell

 

 

(6) adb jdwp

    E:/android_sdk/android-sdk-windows-1.6_r1/tools>adb jdwp

    567

    614

    616

    641

    661

    678

    707

    714

 

(7) adb bugreport

   列出了bug信息,see to bugreport.txt    [ 点击查看 ]

 

 

13    关于编译

 

1.13.1        am:

 

adb install c:/NetScramble_1.1.apk

adb shell rm data/app/NetScramble_1.1.apk

am start -n net.xiashou.android/net.xiashou.android.HelloAndroid

# am start -a android.intent.action.VIEW -d http://www.xiashou.net

# am start -a android.intent.action.CALL -d tel:10086

# am start -a android.intent.action.VIEW geo:0,0?q=tianjin

# am start –n com.android.music/.MediaPlaybackActivity

 

1.13.2        重新编译源码

   当然,这是在linux下面进行的。

(1) 编译源码

解压原码到本地,进入原码目录,执行: make 即可。

 

(2) 编译SDK

make完成后,直接make sdk,会在out/host/linux-x86/sdk下面生成mdk文件及文件夹,形如:android-sdk_eng.xxx_linux-x86

 

(3) 编译单个模块

     1.先将system文件夹移出,

     2.android目录下执行

              $ . build/envsetup.sh

     3. 然后你就会多出几个可用的命令。在改了Contacts联系人项目后,可以简单的执行一下命令来单独编译这个部分:

              $mmm packages/apps/Contacts/

         或者在src目录下直接运行make module name

         cd ~/android/src

         make Contacts

     4.将新生成的system文件夹覆盖原system文件夹

     5.然后编译system.img

      ./out/host/linux-x86/bin/mkyaffs2image -f out/target/product/generic/system out/target/product/generic/system.img

      第二次mmm需将/out/target/product/generic/obj/全部拷回!!!

     mmm命令非常的多管闲事,它每次编译都把obj删了!!!)

      输出cmd命令到文件

           dir > a.log

 

4     系统信息

由于篇幅的原因,这里,只给出链接,分别列出了process, memory info, init log, bugreport信息。值得注意的是bugreport 中包含了前三项。另外,processmemory info是从真机中导出来的,init log bugreport是从模拟器拿到的,而且,取得的日期时间都不一致。

 

process, memory info, init log, bugreport

 

评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值