//查看手机当前的属性
$adb shell getprop
//查看手机的CPU信息
$adb shell cat /proc/cpuinfo
//查看手机的内存信息
$adb shell cat /proc/meminfo
//解决MK 编译文件太多的问题
Android.mk:LOCAL_SHORT_COMMANDS := true
Application.mk:APP_SHORT_COMMANDS := true
//查看当前程序列表
$adb shell ps
//查看程序CPU占用
$adb shell top -d 1 | grep com.baidu.BaiduMap
崩溃调试:
1.arm-linux-androideabi-addr2line
在进行Android 开发时常常遇到类似这种崩溃 signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000。
在logcat的输出中我们可以看见崩溃的堆栈,而对我们有用的就是这种内存地址:
#00 pc 0003deb4 /data/data/com.example.test/lib/aa.so
#01 pc 0003f875 /data/data/com.example.test/lib/aa.so
#02 pc 0003ef4d /data/data/com.example.test/lib/aa.so
其中 0003deb4 就是最后发生异常的地址,我们使用arm-linux-androideabi-addr2line工具就可以定位到是这个库中的那个文件的那一行有问题,
用法:
打开终端,cd 到 arm-linux-androideabi-addr2line 所在的目录,输入命令 arm-linux-androideabi-addr2line -C -f -e <库路径> <内存地址>,
比如上面的aa.so库的崩溃
arm-linux-androideabi-addr2line -C -f -e project/test/obj/local/armeabi/aa.so 0003deb4
这时候就可以在终端中看到是 aa.so中的哪个文件的那一行发生异常了,接下来可以使用日志追踪有问题的代码了。
2.
cd $ANDROID_NDK
adb logcat | ./ndk-stack -sym $PROJECT_PATH/obj/local/armeabi
插上手机,当发生崩溃的时候就会输出崩溃信息
从GooglePlay下载APK
在googleplay中找到要下载的APK,打开https://apps.evozi.com/apk-downloader/ 输入googleplay中APK的主页,点击生成下载连接,点击下载就可以了。
设备ROOT
下载android sdk tools [ fastboot adb]
adb reboot bootloader
fastboot oem unlock