常用工具总结

常用工具总结,第1张

概述以下部分内容摘自http://www.voidcn.com/article/p-ujdlznmx-vu.html ===》linux 命令行快捷键 http://wenku.baidu.com/view/efc82b1cfc4ffe473368aba2.html vim 快捷键 对上述两种快捷键的学习,   没有捷径,孰能生巧! ==> 轻松复制百度文库的内容: 在百度搜索引擎中      输入

以下部分内容摘自http://www.jb51.cc/article/p-ujdlznmx-vu.html


===》linux 命令行快捷键
http://wenku.baIDu.com/vIEw/efc82b1cfc4ffe473368aba2.HTML
vim 快捷键

对上述两种快捷键的学习, 没有捷径,孰能生巧!


==>轻松复制百度文库的内容:

在百度搜索引擎中 输入 site:wenku.baIDu.com +或空格 搜索题目 site命令在指定的网站里搜索, 在搜索结果中点击 百度快照

==> man使用

man有9个section,每个section有不同的意义:1-普通命令,2-系统调用,open、write之类,3-库函数,printf、fread等,4-特殊文件 ....

man + 数字 + 命令/函数;不加数字,默认从数字较小的手册寻找。 man 2 mount

man -a 命令/函数;显示所有的section, 按q键进入下一个section,ctrl+z 直接跳出。


==> fromdos调整代码

@H_419_58@有时从别处复制过来的代码,在vim下看到每一行后面有'^M'; @H_419_58@使用fromdos file@H_419_58@来调整

==> ps 查看进程状态

ps工具标识进程的5种状态码:

D 不可中断 uninterruptiblesleep (usually IO)

R 运行 runnable(on run queue)

S 中断 sleePing
T 停止 traced orstopped
Z 僵死 adefunct (”zombIE”) process

==>adb -h

adb kill-server (有时候需要root权限,sudo adb ...)

adb控制多个设备

$ adb devices

$ adb -s 33304728528D00EC shell

有时要向对/system只读文件系统 *** 作,之前要必须remount。

另起终端:adb remount 或者在adb shell下面: mount -o remount,rw /system


==> 使用Monkey
$ adb shell
# monkey -p com.androID.camera -v 500

==> 数字证书签名apk
1. 使用keytool生成自签名证书
2. 使用jarsigner工具签名.apk文件
3. 使用zipalign对其应用程序
==> 安装BusyBox,bash
下载 http://www.busyBox.net/downloads/binarIEs/1.18.4/
# adb push busyBox /system/xbin
# cd /system/xbin
# chmod 755 busyBox
# busyBox --install
# mount -o remount,rw system system

==>apt代理:
公司提供的source只限公司资源;设置apt代理,可使用外网源。

在/etc/apt/apt.conf下加入Acquire::http::Proxy "http://******"; 网址为相应的代理

sudo apt-get update ;source.List 外网源也可以使用了。


==> 安装Samba
$ sudo apt-get install samba
$ sudo vim /etc/samba/smb.conf
[Work]
path=/home/...
guest_ok=yes
create_mask=0777
writeable=yes
$ /etc/init.d/samba restart
$ ifconfig 192,168.233.136
windows映射磁盘驱动 z: \\192.168.233.136\Work


==>图形界面和终端切换:
图形界面下,右键”终端打开“ ;终端下 nautilus path 进入相应目录的图形界面。
sudo apt-get install nautilus-open-terminal


==>添加环境变量
$ cp .../out/host/linux-x86/bin/ usr/bin/mydir
$ vim ~/bash.rc
$ sudo vim /etc/profile
export PATH=$PATH:/usr/bin/mydir/bin


理论篇

-> 公钥私钥
通过算法生成一对非对称的公钥和私钥,私钥编码,公钥解密。
公钥可以让每个人都知道,它是apk的数字签名。
可以使用PKI(Public Key Infrastructure)签名程序包。
-> 安装apk原理
src=>.jar=>.class=>class.dex=>.apk
/system/app/下存放系统应用程序,系统启动时会自行安装。
安装时.apk暂存于/data/app/,安装生成.dex于/data/dalvik-cache/,生成程序包于/data/data/下
-> init进程
1) 解析init.rc (一般都在这里修改设备权限)
2) 创建Zygote
3) 初始化property (系统提供/default.prop,/system/build.prop,/system/default.prop,/data/local,prop)
4) 进入循环,监听事件

-> Zygote
1) App_main.cpp
2) AndroIDRuntime.cpp (创建虚拟机,注册JNI函数,由JNI调用JAVA,进入JAVA世界)
3) ZygoteInit.java (建立IPC通信,预加载类和资源,启动system_server,循环等待)
-> SystemServer
1) init1 (system_init.cpp)
2) init2 (SystemServer.java)
-> Camera系统
Application=>Camera API=>JNI=>native clIEnt<==binder==>native camera service=>camera HAL=>kernel(V4L2=>camera sensor driver)
Camera.apk=>core.jar=>libandroID_runtime.so=>libcamera_clIEnt.so<==binder==>libcamera_service.so=>libcamera.so

-> root原理

http://www.cnblogs.com/yubo/archive/2011/10/09/2203877.html

-> AndroID框架

https://14b1424d-a-62cb3a1a-s-sites.googlegroups.com/site/io/anatomy--physiology-of-an-android/Android-Anatomy-GoogleIO.pdf?attachauth=ANoY7couSv927X1T7IoSG1L_KiqXMGsL2rlE0X5xRJzHakOd461YAg83_hAJNTlmA1Ld72QgFPwtbldkVXTDOEtSQY8U1emy0_wmjerESBehYMTkibeRjIlPCZDKn20FNqMXzqpqKWofciYyoOs_kYSyTBLusAmIqpjyFwqOpXVgMS1NoKfKkRy0nROwy5OlEx2DINPIsm7nTpDzQsQOFLqqAOZUifm9VNyi3f5poTr01ygg-Sxf7YQZm1NFqxnEmgSF3C8LtlNby64mHi1TOqcvohmwvZ6JzQ%3D%3D&attredirects=1


实践篇

-> 串口调试: minicom kermit

用minicom抓log:  ctrl + A + L  自定义抓取log到指定文件;

-> NDK开发

目的:相比JAVA

1)不容易被反编译

2)运行速度快,效率高

示例:

1) /src/com/androID/test/MainActivity.java:

public native String IDFromJNI();

2) /jni/native.c:

JstringJava_com_androID_test_MainActivity_IDFromJNI( jnienv* env,jobject thiz )

3) 运行脚本编译生成 /libs/armembi/libnative.so


-> USB转串口通信
App: fd = open("'/dev/ttyACM0',O_RDWR"); read(); write();
Kernel: fd=>VFS=>Char FS=>USB driver(USBD)=>USB core=>USB Host(HCD)
HarDWare: HCD=>harDWare serial device

总结

以上是内存溢出为你收集整理的常用工具总结全部内容,希望文章能够帮你解决常用工具总结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1175397.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存