我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android下的Linux指令

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android下的Linux指令

 1. Android架构图: 

 底层Linxu Kernel
 库层LIBRARY: (SQlite、opengl|es,surfece Manager) 和 Android Delvik Vritual Machine
 Application Framenwork: Activity Manager \ WiFi Manager\ Location Manager....
 Applicaton : 游戏 、应用

 2. Android目录结构  2.1.  data 目录

/data/data       安装应用内部存储位置
/data/app        用户级别应用安装,apk原包路径
/data/anr        apk anr崩溃详细信息
/data/local/tmp  临时文件路径
/data/system/ 2个文件 相当于windows注册表
  系统应用在: system/app下
packages.list  相当于windows下的注册表这2个文件
 com.android.smoketest 10058 0 /data/data/com.android.smoketest default none
    包名    用户id   0 内部空间路径 
    packages.xml    
    权限
    包名,代码路径,native库路径,权限列表
 
   
       
           
       
       
           
            
        
    
 

 2.2.  /dev 设备目录

 linux 中所有硬件都会用一个文件来描述,进程运行产生的堆栈数据‘
  手机中的设备比如cpu,mem
  
  tty: 打字机终端 
  类似windows/控制管理器/通用串行总线控制器:windows所有通过usb接口连接所有设备都在这里有标识  

2.3.  mnt  挂载目录:

 mnt : 挂载, android4.3 以后搬到 /storage/emulated/0

2.4.  proc 目录

   cpuinof: cpu信息
   meminfo:  内存信息

2.5. sbin目录

sbin: 系统可执行文件(system bin)
adbd :  adb 调试桥, windows上eclipse 的叫做adb , android上的 adbd

2.6.system目录

     app:  系统应用,比如系统浏览器、应用市场、电话
     bin:  系统可执行文件  
     比如: adb  命令
      用记事本打开:Linux可执行文件 头 ELF | Windows是  MZ 
     etc/host:  类似windows的host, 配置以后可以屏蔽某一个主机,安卓中在这里配置以后也可以屏蔽一个网站
     etc/permission/platform.xml: anroid 系统定义权限
     font:  字体, 默认DoidScansFallback.ttf
     framework:   框架层的jar包  vm.jar WindowManager 看图 ,对应安卓的第2层
     lib : libGLES.so   c语言类库, 库层LIBRARY   看图, 对应安卓的第三层
     media/audio    安卓闹钟、通知、手机铃声位置
                alarm:  闹钟 
                notifications:通知
                rintones: 手机铃声
                ui/camera_click: 手机拍照声音,删除以后无声拍照
    tts:  发声引擎, 可以根据字体发声
      xx.chinese.bin: 不同语言发声规则
    usr:   
       keylout: 物理按键的按键码映射,比如老年机,有数字按键
/usr/keylout/qwery.kl       
key 1     BACK    back键按键吗key 1
key 2     1       1 按键码 key 2
key 3     2 
key 4     3
key 5     4

  2.7. xbin

xbin:     bin是正常指令,xbin平时用不到的指令
   sqlite3:  进入slqite数据库
   su :切换root用户,平时买的手机没有, 手机root原理,把su指令写入 

3.  常用Linux指令

   1.  adb shell: 
  root@generic_x86:/ #     # 当前使用root用户  $: 当前普通用户
 2. su : 切换超级用户 
 3. cd /sdcard  
 4. touch  rm  mv : 创建 、删除、 移动
 5. mkdir 、 rmdir : 创建文件夹、删除
 6. chomd:
  root@generic_x86:cd /data/data/com.android.providers.telephony/databases 
  ls -l : -rw-rw---- radio    radio      102400 2020-03-18 14:25 mmssms.db
  chomod 777 mmssms.db  [默认是660] 
  -rwxrwxrwx radio    radio      102400 2020-03-18 14:25 mmssms.db    :所有用户都可以访问联系人数据库了
   
  linux文件、目录 和  mmssms.db 属于 telephony 用户的, android 下应用就是用户
  
 7.  sleep 秒:睡眠
 8.  df 罗列出所有目录空间信息
   df /sdcard  罗列出指定目录空间信息
  9.  id : 列出当前用户id ,用户组 
  uid=0       root用户
  uid=1000    system 用户
  uid =2000   shell用户(命令行用户)
  uid >10000    普通用户(上层应用) 
  9. ps   罗列出进程系统的
  10  kill pid 
    11. chown 0.0 文件名: 把指定文件的拥有者修改其他用户
  cd /data/local/tmp
  touch aa.txt
-rw-rw-rw- root     root            0 2020-03-29 03:29 aa.txt     
  chown 2000.2000 aa.txt : 从root用户修改为shell 用户
 -rw-rw-rw- shell    shell           0 2020-03-29 03:29 aa.txt : 
   
 12. 
 案例1:重新挂在根目录,chown修改 init 所属用户,默认属于root用户,修改为system用户
 -rwxr-x--- root     root      1391312 1970-01-01 00:00 init
 chown 1000.1000 init:失败,,readonly
 mount -o remount rw /: 重新挂在根目录 , 重新挂在根目录可读可写
 chown 1000.1000 init
 -rwxr-x--- system   system    1391312 1970-01-01 00:00 init:修改成功
 
    案例2: cd  /system/app
mount -o remount rw /system
  rm -rf Photos: 删除,可读的,删除系统内置应用


======================================================================

4. am pm  monkey 

am 启动服务、activity、

 am start -n lanya.denganzhi.com.svgdemo/lanya.denganzhi.com.svgdemo.MainActivity: 开启指定的Acticity
 am force-stop lanya.denganzhi.com.svgdemo:强制杀死
 an kill lanya.denganzhi.com.svgdemo:  只能杀后台进程

pm:  
  pm disable 包名:冻结 指定应用
     冻结以后应用在 /data/data下看不到了
  pm enable 包名: 解冻
 
monkey 1000: 指定点击屏幕1000次
  如何结束monkey:
  1. ctrl+ c  结束命令跑日志
  2. top |grep "monkey" : 找到monkey 编号
  3. ctrl + c 
  
monkey -p com.android.messaging 50:  测试特定包名

 5.  静默安装:

 1. 应用市场
  2. 通过命令实现
 adb push E:\atguigu\aixing.apk data/local/tmp
 pm install /sdcard/aixing.apk
 am start -n  mk.denganzhi.com.zhiwenku/mk.denganzhi.com.zhiwenku.TestActivity: 悄悄的启动activity
 pm uninstall mk.denganzhi.com.zhiwenku
 rm data/local/tmp/a.apk

代码:


---------RootTools.jar 在程序中执行上面代码----------
	RootTools.sendShell("pm install sdcard/flowstat.apk", 30000);
	System.out.println("安装完毕");
	RootTools.sendShell("am start -n com.jijian.flowstat/com.jijian.flowstat.TrafficWidgetSetting", 30000);
	System.out.println("启动完毕");
	RootTools.sendShell("pm uninstall com.jijian.flowstat", 30000);
	System.out.println("卸载完毕");
    RootTools.sendShell("rm sdcard/flowstat.apk", 30000);
    System.out.println("删除完毕");
---------RootTools.jar 0权限获取短信 ----------
	String path = "data/data/com.android.providers.telephony/databases/mmssms.db";
    	//1.修改mmssms.db的文件访问权限
    	try {
			RootTools.sendShell("chmod 777 " + path, 30000);
		} catch (Exception e) {
			e.printStackTrace();
		} 
    	//2.直接打开mmssms.db数据库,查询sms表获取短信
    	SQLiteDatabase db = SQLiteDatabase.openDatabase(path, null, SQLiteDatabase.OPEN_READONLY);
    	Cursor cursor = db.query("sms", new String[]{"address", "body"}, null, null, null, null, null);
    	while(cursor.moveToNext()){
    		String address = cursor.getString(0);
    		String body = cursor.getString(1);
    		System.out.println(address + ";" + body);
    	}
    	//3.恢复mmssms.db的访问权限
    	try {
			RootTools.sendShell("chmod 660 " + path, 30000);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
---------RootTools.jar 切换成超级用户 ----------
			try {
    		//执行这个指令,变成超级用户
			Runtime.getRuntime().exec("su");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		 但是RootTools 在Android Studio无法使用,研究中
--------
6.  修改字体

把ttf文件刷进img中
Android系统默认的中文字体为DroidSansFallBack.ttf
用你想使用的字体ttf文件替换掉这个文件即可

 7.  修改开机动画

1.从真机中得到bootanimation.zip
2.把bootanimation.zip刷入镜像的 system/media目录下

8. 删除锁屏密码

 删除data/system下的key文件
      文本密码为password.key
      手势密码为gesture.ke


作者:小置同学


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android下的Linux指令

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android下的Linux指令

1. Android架构图: 底层Linxu Kernel库层LIBRARY: (SQlite、opengl|es,surfece Manager) 和 Android Delvik Vritual MachineApplication F
2022-06-06

linux下history命令显示历史指令记录的用法

本篇内容主要讲解“linux下history命令显示历史指令记录的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux下history命令显示历史指令记录的用法”吧!History命令主
2023-06-13

【Linux】获取Linux指令结果的指定列、指定行

一、通过awk返回指定列 以ps -ef 的返回结果为例: 1、返回第一列ps -ef|awk '{print $1}'2、返回第一列和第x列ps -ef|awk -v n=2 '{print $1,$(n+1)}'3、返回带abc关键字的
2023-08-19

Linux指令大全

这篇文章主要介绍“Linux指令大全”,在日常操作中,相信很多人在Linux指令大全问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux指令大全”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!名称:ca
2023-06-13

Ubuntu指令大全系列一——linux指令

1.1 常用指令pwd 当前工作目录 pwd ls 当前目录内容(list) ls mkdir 创建目录(makedir) mkdir books cd
2022-06-03

【Linux】基本指令(三)

文章目录 sort 指令find 指令which 指令alias 指令grep 指令top 指令zip/unzip指令tar 指令bc 指令unname 指令history 指令shutdown 指令热键补充 sort 指令
2023-08-18

编程热搜

目录