精华内容
下载资源
问答
  • android系统调试

    2011-12-09 22:26:29
    android系统调试,搜集的相关的文档,有一些参考价值
  • Android系统调试-程序崩溃调试

    千次阅读 2017-09-01 14:50:51
    Android系统调试-Native 调试Android系统对于Native(C/C++)应用程序的调试手段比单纯的linux系统更为丰富.一般我们调试linux系统的应用程序崩溃问题,都是通过coredump文件与gdb结合调试的手段.但是Android系统的...

    Android系统对于Native(C/C++)应用程序的调试手段比单纯的linux系统coredump文件与gdb结合调试的手段.但是Android系统的天然不支持这种调试方式,其在内核中就没有启用coredump生成机制,那么Android系统下我们使用什么方式调试Native程序的崩溃问题呢?其实,Android系统将系统应用程序产生的崩溃日志都存储到了/data/tombstones目录下,其详细记录了Native应用程序崩溃时进程上下文,通过该文件我们可以知道进程崩溃的原因,崩溃的地点,崩溃线程的函数调用栈,通过这些信息就可轻松的定位到崩溃的具体位置.下面详细的介绍如何通过/data/tombstones目录下的崩溃日志定位到崩溃的位置和原因。

    调试步骤

    编写用于调试的程序

    int main  (void) 
    {
        int *null = 0;
        *null = 0;  
        return 0;
    }

    编译并将其下载到Android系统

    arm-linux-androideabi-gcc coredump.c -o coredump -pie -fPIE -g
    adb push coredump /data/coredump
    ./coredump

    运行查看崩溃日志

    ls /data/tombstones
    root@firefly:/data/tombstones # ls 
    tombstone_00

    上面的代码会触发崩溃,其会在/data/tombstones生成对应的崩溃日志,日志基本信息如下:

    *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
            **Build fingerprint: 'Android/rk3288_box/rk3288_box:5.1.1/LMY48W/firefly03111810:userdebug/test-keys'
            Revision: '0' 
            ABI: 'arm'
            pid: 2992, tid: 2992, name: coredump  >>> ./coredump <<< 
            signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 
                r0 00000001  r1 bebcc894  r2 00000000  r3 00000000
                r4 bebcc894  r5 bebcc89c  r6 00000001  r7 b6f5730c
                r8 00000000  r9 00000000  sl 00000000  fp bebcc85c
                ip b6f3264c  sp bebcc850  lr b6eed39f  pc b6f57328  cpsr 60070010
                d0  0000000000000000  d1  0000000000000000
                d2  0000000000000fff  d3  0000b30a0000b30a
                d4  000000000000b30a  d5  0000000000000000
                d6  0000000000000000  d7  0000000000000000
                d8  0000000000000000  d9  0000000000000000
                d10 0000000000000000  d11 0000000000000000
                d12 0000000000000000  d13 0000000000000000
                d14 0000000000000000  d15 0000000000000000
                d16 0000000000000000  d17 0000000000000fff
                d18 0000000000000000  d19 0000000000000000
                d20 0000000000000000  d21 0000000000000000
                d22 0000000000000000  d23 0000000000000000
                d24 0000000000000000  d25 0000000000000000
                d26 0000000000000000  d27 0000000000000000
                d28 0000000000000000  d29 0000000000000000
                d30 0000000000000000  d31 0000000000000000
                scr 00000000
    
            backtrace:
                #00 pc 00000328  /data/coredump/coredump (main+28)
                #01 pc 0001239d  /system/lib/libc.so (__libc_init+44)**

    根据崩溃日志定位崩溃位置

    崩溃日志中提供了程序崩溃时的函数调用栈,其详细记录了程序运行时PC(Programer Counter)地址,我么可以根据这些地址,定位程序的崩溃时程序的运行过程.调试崩溃位置,我们需要使用到addr2line函数,该函数将地址信息对应到程序的符号信息,根据符号信息就可以定位到程序代码的具体位置。

    lhl@lhl-ubuntu:~/test$ arm-linux-androideabi-addr2line -a 00000328 -e coredump
        0x00000328
        /home/lhl/test/coredump.c:4

    调试信息显示崩溃位置在coredump.c的第4行,对应一下代码,第4行为*null = 0; //访问非法地址0,触发段错误

    总结

    上面展示了一个完成的Native程序崩溃日志的调试步骤,其中有几点需要注意的地方
    1. 编译应用程序时需要制定-g选项,该选项会在应用程序中添加符号信息,而在使用addr2line时需要这些符号信息定位崩溃位置

    展开全文
  • Android 系统调试(2)---android debug 方法.pdf
  • Android 系统调试(1)---禁止Selinux 的方法.pdf
  • Android系统调试wifi总结

    千次阅读 2014-01-06 09:35:07
    android系统应用程序wifi调试

    Android系统调试wifi总结

    一、环境

    平台:CES-C110平台

    处理器:CortexTM-A8内核CPU S5PC110

    系统:android2.2

    二、出现问题

    #wpa_cli –iwlan0

    出现:Could not connect to wpa_supplicant - re-trying

    这个错误可能是因为你的wpa_supplicant进程没有启动起来造成的。

    请参见如下的命令:

    1)修改wpa_supplicant.conf文件

    将所有的内容都注释掉,只留下这一行语句:

      # /etc/wpa_supplicant.conf

      ctrl_interface=/var/run/wpa_supplicant

      #

    2)启动wpa_supplicant进程:

     

    wpa_supplicant -Dwext -iwlan0 -c/etc/wifi/wpa_supplicant.conf &

    或wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf 

    wpa_supplicant -dd -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf &

    3)然后ps -aux查看一下,是不是已经启动完成。

    4)如果存在此进程,则你可以用wpa_cli命令进行进一步的配置。

    wpa_cli -iwlan0

    此时就不会再出现“Could not connect to wpa_supplicant - re-trying" 的错误信息了。

    而且会得到一个新的提示符" > "

    三、调试

    wpa_supplicant  -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -dd -B

    wpa_cli -i wlan0 -p /data/system/wpa_supplicant

    然后scan

     

    >scan

    OK

    >scan_results

    bssid / frequency / signal level / flags / ssid                                 

     

    add_network

    set_network 0 ssid "TP-LINK_RAINJET"

    set_network 0 key_mgmt WPA-PSK

    set_network 0 psk '"1234abcd"'

    set_network 0 pairwise CCMP

    set_network 0 group CCMP

    set_network 0 proto WPA

    enable_network 0

    quit

     

    然后配置下ip地址

    ping下,就可以了

    展开全文
  • android 系统调试模式打开

    千次阅读 2018-07-27 16:25:52
    2、拷贝mprop android系统到/data/目录下; 3、修改为可执行的命令 chmod 751 mprop (管理员权限下执行) 4、./mprop ro.debuggable 1; 5、getprop ro.debuggable;(查看此时ro.debuggable在内存中的值) 6、stop;...
    1、手机root
    2、拷贝mprop android系统到/data/目录下;
    3、修改为可执行的命令  chmod 751 mprop (管理员权限下执行)
    4、./mprop ro.debuggable 1;
    5、getprop ro.debuggable;(查看此时ro.debuggable在内存中的值)
    6、stop;start(重启adbd进程);

    备注:每次手机系统重启之后都要重新设置

    展开全文
  • 查看 Android 系统版本 $ adb shell getprop ro.build.version.release 查看屏幕分辨率 $ adb shell wm size 查看屏幕密度 $ adb shell wm density Mac 地址 $ adb shell cat /sys/class/...

    查看adb的版本

    $ adb version
    

    查看当前PC端连接有多少设备

    $ adb devices
    

    获取设备的状态

    $ adb get-state
    

    设备的状态有 3 钟,device , offline , unknown
    device:设备正常连接
    offline:连接出现异常,设备无响应
    unknown:没有连接设备

    获取root

    $ adb root
    $ adb remount
    

    进入设备

    需要先配置对应的文件。请查看adb配置文档。

    $ adb shell
    

    文件上传

    $ adb push local remote
    

    文件下载

    $ adb pull remote local
    

    注:local为本地路径,remote为设备路径。

    打印系统日志log

    $ adb logcat
    

    打印系统日志log

    $ adb logcat
    

    重启

    $ adb reboot
    

    获取序列号

    $ adb get-serialno
    

    按级别过滤日志

    $ adb logcat *:W
    

    将 Warning、Error、Fatal 和 Silent 日志输出。

    其他过滤:

    • V —— Verbose(最低,输出得最多)
    • D —— Debug
    • I —— Info
    • W —— Warning
    • E —— Error
    • F —— Fatal
    • S —— Silent(最高,啥也不输出)

    清空日志

    $ adb logcat -c
    

    屏幕录像

    设定保存目录为/sdcard/demo1.mp4

    $ adb shell screenrecord /sdcard/demo1.mp4
    

    内核日志

    $ adb shell dmesg
    

    查看设备信息

    查看 Android 系统版本

    $ adb shell getprop ro.build.version.release
    

    查看屏幕分辨率

    $ adb shell wm size
    

    查看屏幕密度

    $ adb shell wm density
    

    Mac 地址

    $ adb shell cat /sys/class/net/wlan0/address
    

    CPU 信息

    $ adb shell cat /proc/cpuinfo
    

    内存信息

    $ adb shell cat /proc/meminfo
    

    屏幕截图

    图片保存位置为:/sdcard/daemon.png

    $ adb shell screencap -p /sdcard/daemon.png
    

    开启 WiFi

    $ adb shell svc wifi enable
    

    关闭 WiFi

    $ adb shell svc wifi disable
    

    查看进程

    $ adb shell ps
    
    展开全文
  • android系统调试中使用tinyalsa命令

    千次阅读 2017-07-21 15:16:16
    我们在进行音频调试的时候,需要使用tinymix、tinyplay、tinycap等命令,来调试codec, 那么在android中,这些命令是不存在的,那么我们需要使用这些命令的话,就只有自己移植了。 该怎么样移植呢???  ...
  • Android 开发过程中经常需要关闭Selinux 功能,通常关闭Selinux的方法如下:1.方式一 static bool selinux_is_disabled(void) { if (ALLOW_DISABLE_SELINUX) { if (access("/sys/fs/selinux", F_OK)...
  • 打开android设备系统调试

    千次阅读 2015-04-23 17:12:00
    打开android设备系统调试
  • 安卓系统下如何调试程序,讲述安卓系统调试代码的基本知识
  • 1. aPAC: 用于安卓系统调试 (GooglePlay商店售5美元) 2. iPAC: 用于苹果系统调试 (App Store 售30人民币) 3. Groov View: 用于Groov远程监控 (免费) 考虑到Google商店在国内无法访问,本次试用的软件为aPAC...
  • usb调试android系统

    2018-12-20 09:52:49
    usb调试android系统指令使用usb调试android设备,必须先安装android sdk,然后电脑cmd后,通过adb工具操作android。
  • Anroid 系统源码调试方法心得分享我从事Android系统开发差不多也两年了,在这两年的时间里,我在调试系统framework的时候主要都是通过看log来确认程序是否按照自己的设计的逻辑执行的,这种调试方式的效率比较低,...
  • Android 系统(91)---Android 平台调试.pdf
  • Android系统所有串口自定义设置,波特率自定义设置,进行串口操作,并带自动发送,文本或16进制接收数据功能
  • Android FrameWork 学习之Android 系统源码调试
  • 安卓串口调试助手 V2016-05-05 目前实现的功能:串口开关、读写串口 待实现功能:发送设置、接收设置 测试 已在 Android 4.3 系统的开发板上进行过测试。 效果图 说明 项目基于google code上的android-...
  • 资源名称:Android系统级深入开发——移植与调试内容简介:《Android系统级深入开发——移植与调试》是一本全面介绍Android系统级开发的作品,全书以移植和调试为重点。Android具有一个庞大的软件系统,任何开发者都...
  • 关于安卓USB调试大家都知道,但是由于因为安卓系统版本的原因,USB调试的选项有一些变化,导致有的朋友不知道如何打开USB调试,现在小编就给大家提供最新的USB调试模式打开方法。1、“USB调试”是什么?在计算机和...
  • 安卓开发工具整理,适用安卓系统开发者 1:adb常用命令 2:CPU分析 3:内存分析
  • 安卓开发系列 -- 系统开发】基于 android studio 的 android 源码调试环境搭建 【0】开发环境简介 1. 主机,Win10;虚拟机,Ubuntu 16.04 2. 开发板,AIO-3399C 六核 AI 开发板 3. android 源码,android 7.1 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 127,545
精华内容 51,018
关键字:

安卓系统调试