Android客制化adb shell进去后显示shell@xxx的标识
首先,找到源代码,在external/mksh/mkshrc,打开这个文件后会看到开头有如下脚本:
android4.2源码内容如下:
: ${TERM:=vt100} ${HOME:=/data} ${MKSH:=/system/bin/sh} ${HOSTNAME:=android} : ${SHELL:=$MKSH} ${USER:=$(typeset x=$(id); x=${x#*\(}; print -r -- ${x%%\)*})} if (( USER_ID )); then PS1='$'; else PS1='#'; fi
android5.0源码内容如下:
: ${TERM:=vt100} ${HOME:=/data} ${MKSH:=/system/bin/sh} ${HOSTNAME:=$(getprop ro.product.device)} : ${SHELL:=$MKSH} ${USER:=$(typeset x=$(id); x=${x#*\(}; print -r -- ${x%%\)*})} ${HOSTNAME:=android}
android6.0源码内容如下:
: ${HOME:=/data} : ${HOSTNAME:=$(getprop ro.product.device)} : ${HOSTNAME:=android} : ${MKSH:=/system/bin/sh} : ${SHELL:=$MKSH} : ${TERM:=xterm} : ${TMPDIR:=/data/local/tmp} : ${USER:=$(id -un)}
找到第一个HOSTNAME=$(getprop ro.product.device)
,将后面的$(getprop ro.product.device)
这个变量的值改成自己的名称就可以了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
Android执行shell命令详解
一.方法 复制代码 代码如下: /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) * @param workdirectory * 命令执行路径(例如:"system/bin/") * @return 执行结果组成的字符串 * @throws IOException */ public stati
-
Android系统在shell中的df命令实现
当我们在shell中敲击df这条命令的时候,会看到: root@android:/ # df Filesystem Size Used Free Blksize /dev 446.8M 36.0K 446.8M 4096 /mnt/secure 446.8M 0.0 K 446.8M 4096 /mnt/asec 446.8M 0.0 K 446.8M 4096 /mnt/cart0 446.8M 0.0 K 446.8M 4096 /mnt/obb 446.8M 0.0 K 446.8M 40
-
Android 使用Shell脚本截屏并自动传到电脑上
Android设备用久了,截屏是个麻烦事.更麻烦的是通过qq传到电脑上,倒腾半天.其实用adb命令就可以截屏,然后写个pull的语句就可以拉到电脑上了.文件名为capture.sh, 内容如下: #! /bin/bash adb shell screencap -p /sdcard/test.png #adb pull /sdcard/test.png ~/Desktop/test.png dir=~/Desktop/ curr=`date "+%Y-%m-%d %H:%M:%S"`
-
Android shell命令行中过滤adb logcat输出的几种方法
我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率.本文就具体介绍几种在shell命令行中过滤adb logcat输出的方法. 1.只显示需要的输出(白名单) 最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配.简单的匹配一行当中的某个字符串,例如 MyApp: adb logcat | grep MyApp adb logcat | grep -i
-
Android shell命令行中过滤adb logcat输出的方法
我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率.本文就具体介绍几种在shell命令行中过滤adb logcat输出的方法. 1.只显示需要的输出(白名单) 最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配.简单的匹配一行当中的某个字符串,例如 MyApp: adb logcat | grep MyApp adb logcat |
-
实现android自动化测试部署与运行Shell脚本分享
我的配置是linux 64, android4.2.2的sdk. 实现的细节都在代码注释里了,变量名以及echo的内容也是说明的一部分. 主流程为: 1.检测是否指定端口的模拟器已经运行,若有则关闭 2.创建模拟器 3.启动模拟器 4.用ant build包,通过检查bin目录下有没有apk来确定是否成功 5.检查指定端口的模拟器是否已正常运行 6.用adb安装apk 7.启动apk的activity,让程序自己跑 8.用shell ps循环检测程序是否已退出,若已退出,检查是否sdcard是是
-
Android中执行java命令的方法及java代码执行并解析shell命令
android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建
-
Android 开发中使用Linux Shell实例详解
Android 开发中使用Linux Shell实例详解 引言 Android系统是基于Linux内核运行的,而做为一名Linux粉,不在Android上面运行一下Linux Shell怎么行呢? 最近发现了一个很好的Android Shell工具代码,在这里分享一下. Shell核心代码 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.
-
Android客制化adb shell进去后显示shell@xxx的标识
首先,找到源代码,在external/mksh/mkshrc,打开这个文件后会看到开头有如下脚本: android4.2源码内容如下: : ${TERM:=vt100} ${HOME:=/data} ${MKSH:=/system/bin/sh} ${HOSTNAME:=android} : ${SHELL:=$MKSH} ${USER:=$(typeset x=$(id); x=${x#*\(}; print -r -- ${x%%\)*})} if (( USER_ID )); then P
-
Android 实现永久性开启adb 的root权限
adb 的root 权限是在system/core/adb/adb.c 中控制.主要根据ro.secure 以及 ro.debuggable 等system property 来控制. 默认即档ro.secure 为0 时,即开启root 权限,为1时再根据ro.debuggable 等选项来确认是否可以用开启root 权限.为此如果要永久性开启adb 的root 权限,有两种修改的方式: 1. 修改system property ro.secure, 让ro.secure=0. 2. 修改ad
-
Android PC端用ADB抓取指定应用日志实现步骤
主要功能: 用于在PC端通过ADB工具抓取指定android真机上运行的指定包名应用的调试日志,并生成本地txt文件. 实现步骤: 1.准备ADB调试软件: 2.根据包名找到进程pid; 新建一个txt文件,重命名为"getpid.bat",把下面代码复制到该文档中,保存: 包名"com.wtoe.demo"可替换为自己所需要抓取日志的包名. @echo off adb shell "ps | grep com.wtoe.demo" 3.根据包名
-
Android开发组件化架构设计原理到实战
目录 为什么需要组件化 组件化和模块化 模块化架构 组件化架构 组件化带来的优势 组件化需解决的问题 资源冲突解决 AndroidManifest 独立调试 单工程方案 多工程方案 页面跳转 Arouter 实现组件间方法调用 组件化的消息通信方式选择 广播 事件总线 Application生命周期分发 为什么需要组件化 小项目是不需要组件化的.当一个项目有数十个人开发,编译项目要花费10分钟,修改一个bug就可能会影响到其他业务,小小的改动就需要进行回归测试,如果是这种项目,那么我们需要进行组
-
Android开发之使用ExifInterface获取拍照后的图片属性
本文实例讲述了Android开发之使用ExifInterface获取拍照后的图片属性.分享给大家供大家参考,具体如下: ExifInterface exif = new ExifInterface(file.getPath()); String widthStr = exif.getAttribute(ExifInterface.TAG_IMAGE_WIDTH); String heightStr = exif.getAttribute(ExifInterface.TAG_IMAGE_LENGT
-
Android开发之获取短信验证码后按钮背景变化并且出现倒计时
目前越来越多的app在注册或是进行对应操作时,要求获取短信验证码,在点击了获取短信验证码的按钮后,就是出现倒计时,比如倒计时120S,在倒计时期间内,按钮背景变化并且出现倒计时,当倒计时结束后,如果你没有获取到验证码,可以再次点击. 代码如下所示: VerCodeTimer mVerCodeTimer=(Button) findViewById(R.id.login_get_ver_code); private class VerCodeTimer extends CountDownTimer
-
Android实现从本地图库/相机拍照后裁剪图片并设置头像
玩qq或者是微信的盆友都知道,这些聊天工具里都要设置头像,一般情况下大家的解决办法是从本地图库选择图片或是从相机拍照,然后根据自己的喜爱截取图片.上述过程已经实现好了,最后一步我加上了把截取好的图片在保存到本地的操作,来保存头像.为了大家需要,下面我们小编把完整的代码贴出来供大家参考. 先给大家展示效果图: 代码部分: 布局代码(其实就是两个按钮和一个ImageView来显示头像) <LinearLayout xmlns:android="http://schemas.android.co
-
Android软件启动动画及动画结束后跳转的实现方法
本文实例讲述了Android软件启动动画及动画结束后跳转的实现方法.分享给大家供大家参考,具体如下: 自己写了个小程序,软件启动时,先显示几张图片,每3秒显示一张,图片显示完跳转到首页 1. 图片轮播使用Gallery,用法很简单 GalleryAdapter adapter = new GalleryAdapter(this, mIds); mGallery.setAdapter(adapter); GalleryAdapter是自定义适配器 public class GalleryAdapt
-
Android Studio使用Kotlin时,修改代码后运行不生效的解决方法
问题现象 前段时间升级 Android Studio 3.1.3+ 版本后,决定尝试使用 Kotlin 做 APP 开发看看.结果却发现,修改 String 资源后,"运行",修改的内容没有生效.一开始以为只是 String 资源是这样,于是试了下 kt 文件,结果发现"运行"也不能生效. 但是先 clean 了,再"运行",却可以正常编译出来.查了好久发现是 New Module 后,Run/Debug Configurations不完整所致.
-
Android Gradle Plug 4.1.0 升级后gradle获取manifest位置失败问题解决
问题背景 项目编译过程中,使用了类似Android Gradle Plugin的gradle插件进行编译,在最终打包apk时,会动态修改manifest文件. 近期发现线上用户有反应升级到以下开发环境后,打包apk后manifest文件中没有应有的任何配置. Android Gradle Plugin:4.1.0 Gradle:6.5 Android Studio:4.1 确认调查方向 首先要确认清楚到底是上述3个哪个的升级导致的问题. 在本地进行环境升级过程验证了以下结论: Android G
随机推荐
- 详解docker强制批量删除none的image镜像
- MySQL命令行中给表添加一个字段(字段名、是否为空、默认值)
- js中创建对象的几种方式示例介绍
- 浅谈vue-lazyload实现的详细过程
- java使用Hex编码解码实现Aes加密解密功能示例
- jquery单行文字向上滚动效果的实现代码
- ASP编程入门进阶(一):安装配置服务器
- 客户端脚本中常常出现的一些问题和调试技巧
- Docker下搭建一个JAVA Tomcat运行环境的方法
- WIN2003中使用IIS配置手机下载类WAP网站的MIME类型介绍
- 经典过河gif动画
- jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
- 使用ajaxfileupload.js实现上传文件功能
- 从Java的jar文件中读取数据的方法
- Linux操作系统中BSD套接口开发的基础介绍
- 服务器有效设置防止web入侵图文方法
- PHP开发框架总结收藏
- 详解Android Studio如何导入第三方类库、jar包和so库
- 23种设计模式(20)java中介者模式
- JavaMailSender实现邮箱验证功能