adb环境配置
1、配置环境变量
进入终端,输入
sudo gedit ~/.bashrc
在文件的最后追加:
#set path for android sdk tools
export PATH=$PATH:/home/ubuntu/sdk/tools/
export PATH=$PATH:/home/ubuntu/sdk/platform-tools/
这里路径是绝对路径
2、保存后,同步更新
source ~/.bashrc
过滤log: adb logcat -s "log名称"
生成log: adb logcat >log.txt
获取系统属性: adb shell getprop
手机system目录下的处理:
1,adb remount
2,adb shell
3,切换到相应目录的apk,rm -rf HwThemeManager.apk (sudo rm -rf public/ root的权限删除)
4,exit
5,预制app到system/app下 adb remount;adb push BaiduMaps_Android_8-5-0_1012676b.apk /system/app/
复制手机中的文件到电脑:(手机是eng版本)
adb remount;adb pull /mnt/sdcard/AL812_test_sensor_0.ini /media/code
push文件到手机:(手机是eng版本)
adb remount;adb push BaiduMaps_Android_8-5-0_1012676b.apk /system/app/
终端发送广播
adb shell am broadcast -a android.intent.action.BATTERY_WARNING
ACtivity的启动时间:
adb shell am start -W com.media.painter/com.media.painter.PainterMainActivity
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.media.painter/.PainterMainActivity }
Status: ok
Activity: com.media.painter/.PainterMainActivity
ThisTime: 355
TotalTime: 355
WaitTime: 365
Complete
startTime记录的刚准备调用startActivityAndWait()的时间点
endTime记录的是startActivityAndWait()函数调用返回的时间点
WaitTime = startActivityAndWait()调用耗时。
安装app:
adb install BaiduMaps_Android_8-5-0_1012676b.apk or adb install -r Gallery2.apk
重启手机:
adb reboot
nautilus . 打开文件目录
zip -r xxx.zip 目录/ 打包压缩
git生成公钥的方式如下
命令:ssh-keygen -t rsa -f ~/.ssh/xxx
——xxx是指:自己的域用户拼音,该命令随便在一个目录下执行都行
然后一路回车到最后结束,中间不需要输入任何东西。
配置git Author信息
git config --global user.name "Your Name"
git config --global user.email you@example.com
要求必须用公司域名及公司邮箱.
查看配置信息
git config --list
设置Ubuntu命令行颜色
git config --global color.status auto
git config --global color.diff auto
git config --global color.branch auto
git config --global color.interactive auto
git 提交代码:
1, 同步代码 git pull --rebase;
2, 首先将通过Beyond Compare工具将工作空间的代码同步到源代码
3, 通过git status 获得修改的代码路径path(git diff可以查看修改内容)
4, 根据path使用git add path(路径), 将工作文件修改提交到本地暂存区
5, 先提交到本地仓库,使用git commit -m"[HQ01235441]{proj:a6601l,comp:Settings} 【LTE_D】【海外试用】[UT-RU][Traslation]The traslation is incor [ARCHER-1498]"
6, 再次同步代码,以免冲突 git pull –rebase
7, 提交到远程仓库,先查询代码分支 git branch ,将代码提交到相应的分支,git push origin 分支名;
8, 使用qgit查询一下提交的状态;
9, 然后切换到工作代码,git checkout 源代码 ,同步一下git pull --rebase
git切换分支:
git checkout -b CTC_LTE_OP09 remotes/origin/CTC_LTE_OP09
git回退到某点:
git reset 哈希字段 --hard
还原本地未提交的修改:git checkou . 或者git checkou path
git取消一笔代码提交:
git revert 哈希字段
git察看提交记录:git log
git察看某一文件的历史记录:git log frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
git察看某一文件的修改细节:git show 3af38518b898ddffd185ec41a03c8e656e6b3dd8
git察看本地修改状态:git status
git察看本地修改细节:git diff frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
git察看修改记录和修改细节:ubuntu@ubuntu:/media/code/al812/frameworks/base/policy/src/com/android/internal/policy/impl$ git log -p
git清理,在切换分支后,-df 删除 文件 和 目录:
git clean -df
git clean -d -fx
搜索代码中的字段HW_EMAILSIGNATURE
grep "HW_EMAILSIGNATURE" * -nsr
repo 代码管理:
生成公钥
http://192.168.130.xx:xx/#/settings/ssh-keys SSH Public Keys添加公钥
git clone ssh://xx@192.168.130.xx:xx/repo_tool 获取repo_tool的repo脚本
mkdir ~/bin 把repo_tool下的repo文件放到~/bin 并且对repo_tool下的的repo文件执行,chmod 755 repo,赋予可执行权限 加入环境变量:PATH=~/bin:$PATH
编辑repo文件,默认前面有两行,这两行是为了下载130.xx上的repo仓库,请务必注意:
REPO_URL='ssh://xxxx@192.168.130.xx:xx/repo'
REPO_REV='master'
3、本地config配置:
git config --global user.name 你的名字拼音
git config --global user.email 你的xx邮箱
git config --global review."gerrit.xx.com:8081".username xx你的工号
注意第三句的gerrit.xx.com:xx使用你正在使用的gerrit服务器
repo init --no-repo-verify -u ssh://xx@192.168.130.xx:xx/manifest -m huawei_hq6735_66t_b2c_l1.xml
repo sync
repo start branch_name --all 先建立分支。如果之前建立过,就略过
在相应仓下 git add
git commit -m""
最后repo upload . 提交代码
系统改编码
export LANG=en
gedit编辑器打开文件:
sudo gedit /usr/lib/python2.7/zipfile.py
vim打开文件:
vim frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
vim frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java ++150 光标定位到150行
i进入插入模式;
yy复制一行;
yw复制光标后的一个单词的部分
p粘贴复制的内容
u撤销上一次的操作
:w保存文件
:wq保存并退出
:n跳转到第n行
:set nu显示行号
:set nonu 隐藏行号
esc结束编辑模式;
编辑保存:esc+shift+:wq
vim跳转到指定行:指定行数字 gg或者指定行数字 G
移动文件:
ubuntu@ubuntu:~/下载$ mv wandoujia-wandoujia_organic_binded.apk /media/code/
Ctrl+T :打开新终端
Ctrl+Shift+T 终端中打开新窗口
高性能服务器:
设置第一步:
ubuntu@ubuntu:~$ sudo gedit ~/.profile
第二步:在.profile文件第未尾加上
export USE_CCACHE=1
export CCACHE_DIR=/media/disk1/.cache (注意这句中的路径是本机实际路径,预留100G左右空间)
export PATH="$PATH:/media/disk1/AL812_Git/MT6753_L1_65C_BD2_HW/prebuilts/misc/linux-x86/ccache" (注意这句中的路径是本机实际路径)
第三步:
ccache -M 100 G
第四步:
重启你的电脑
第五步:
花3小时以上全new一套源码
第六步:
再new时就可以享受高性能服务器了。
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
export USE_CCACHE=1
export CCACHE_DIR=/media/code/.cache
export PATH="$PATH:/media/code/al812_work/prebuilts/misc/linux-x86/ccache"
自定义git命令:
git 小助手
第一步:
在Ubuntu任意目录下创建一个文件 gitconfig.sh
第二步:
请把下面14行 拷贝粘贴到gitconfig.sh
git config --global user.email "xxx@qq.com"
git config --global user.name "xxx"
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.last 'log -1 HEAD'
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
git config --global alias.co checkout
git config --global merge.tool kdiff3
git config --global meregtool.kdiff3.path "/usr/bin/kdiff3"
git config --global alias.visual "!gitk"
第三步:
修改第一行,第二行:
git config --global user.email "你的实际名字@qq.com"
git config --global user.name "你的实际名字"
第四步:
保存gitconfig.sh
在终端执行
cd <gitconfig.sh所在的目录>
chmod 777 gitconfig.sh
./gitconfig.sh
第五步:
到代码目录去执行一下命令如:
git st
git br -a
发现已经有惊喜。
alias 别名=‘shell命令’
alias rm=‘rm -i’ 就设置rm等价于rm -i
linux下android studio导入android原码
1)
解压缩后运行 在bin目录下允许 ./studio.sh(如果权限不够就chmod +x studio.sh)
2)
在代码仓库执行
./mk mm development/tools/idegen/
./development/tools/idegen/idegen.sh
会在代码库生成android.ipr
3)android studio打开(Open...)android.ipr
echo $SHELL 获取当前系统默认的shell
echo $BASH_VERSION 获取shell软件包的版本
pwd 获取当前的路径
ll ex* 以ex开头的所有文件和ls -l ex*是等价的