从现在开始养成良好的习惯,把重要的东西记录下来方便查找。做android之前,需要认识的一些东西。
1. androidstudio,eclipse,source Insight: 查看源码工具。
2. Android JDK: 采用Java语言进行开发,Jdk是整个Java的核心,包括Java运行环境,Java工具和Java基础的类库。
3. Android SDK: Android的专属软件开发工具包,被软件工程师用于特定的软件包,软件框架,硬件平台,操作系统等应用软件开发工具的集合。
4. SecureCRT: Windows下登入Unix或Linux服务器主机的软件,链接远程服务器将服务器代码加载到自己的服务器上。
5. PowerCmd: 是一款增强版本的cmd工具,具有Windows操作风格,能帮您快速组织命令提示行窗口。利用PowerCmd或Windows
下cmd都可以访问手机内部文件如data,system文件,也可以adb push或adb pull 文件,当然还可以adb log进行代码调试了。
A: 要实现上面的效果,前提是满足以下三个条件:
首先:你的手机必须是Debug版本的软件,或者对手机进行root一下吧!
其次:需要手机连接电脑,手机端打开开发者调试选项。
最后:安装了安卓SDK包,platform-tools文件夹下adb工具,adb能与手机进行数据传输的桥梁了,通过adb命令push ,pull文件至手机 或者至电脑,同时adb logcat -s "代码中加的log tag"调试da. 代码
开发过程中常用的编译指令和git操作:
<编译相关>
6.1 拉代码:git clone ssh://caof**g@192.1**.0.2:29418/mocor_sc9820.git
6.2 进入自己的服务器android代码下:. zrevo/envsetup.sh 加载当前配置项目。初始化编译环境
6.3 选择要编译的project
6.4 kheader 意思是去加载内核头文件
6.5 make -j10 执行编译,make -j22 2>&1 | tee make.log 编译过程中获取报错log
6.6 ./zrevo/CopyImages.sh -p 编译完成后进行打包
<git对管理的代码进行增删改查>
6.7.1 git branch //查看当前所属分支
6.7.2 git checkout +" 分支名" //切换分支
6.7.3 git status //查看当前代码状态
6.7.4 git checkout //需要恢复的文件 //恢复代码与远程服务器最新的一样。
6.7.5 git stash //将修改的代码缓存起来(这样更新服务器上的代码不会影响你所修改的记录)
6.7.6 git pull --rebase //更新服务器代码
6.7.7 git stash pop //恢复缓存区的代码
6.7.8 git add -u //将文件的修改、文件的删除,添加到暂存区。
git add //将文件的修改,文件的新建,添加到暂存区。
git add -A //将文件的修改,文件的删除,文件的新建,添加到暂存区。
6.7.9 git commit -a -m //"需要添加的注释" //提交代码
6.7.10 git push revi** // push代码到远程服务器上。
6.7.11 git reset HEAD~1 //提交到远程的代码在abandon以后,进行回退。(这个可能理解错了)
6.7.12 rm -rf 要删除的文件全路径 //移除文件 6.7.13 git diff 文件全路径 //查看修改前和修改后的不同。 6.7.14 grep -r "字符串" 指定的搜索路径 //在指定路径下搜索字符串。 grep "字符串" 指定的搜索路径 -rn --include=*.xml //在指定路径下指定文件格式下查询当前字符串
6.7.15 find vendor/ build/ -name "sp9820w_6c10.mk" //在vendor 和build目录下查找sp9820w_6c10.mk文件。
6.7.16 vi packages/apps/Settings/res/xml/device_info_settings.xml //进入该指定路径的xml文件当中。 vim 文件路径 +:line number 打开指定路径下的文件后 定位到多少行上面。
6.7.17 git配置相关:
git注册
git config --global user.email "caof**g@***oview.com"
git config --global user.name "caof**g" git的config中也需要添加如下代码: 配置自己的push指令: [remote "revo"]
pushurl = review:mocor_sc9832eo1.git
push = HEAD:refs/for/master
receivepack = git receive-pack
在代码根目录下验证commit msg是否有效。
scp re***w:/hooks/commit-msg .git/hooks
----其中commit-msg是个脚本,每次push的时候都会根据commit id生成唯一的Change ID,作为re***w的ID。
6.7.18 当你提交代码的过程中,有可能会和其他人提交的产生冲突:按照学习过来的流程执行如下操作:
---先将要提交的代码 git add -A 、-u
---在git commit -m "注释"
---这个时候不要git push re... 代码,先进行git pull --rebase
---如果能更新代码成功那就push,如果rebase出错,那就需要git status.
---如果status中出现both modified 说明冲突了。
---这个时候使用git mergetool 后接冲突的文件全路径
修改冲突文件进行保存。
---在git status 查看状态,应该ok了,如果不止一个冲突,继续循环上面的mergetool步凑。
---git status 时可能会生成orig后缀名的文件 rm掉。
---这个时候合并完成,执行git rebase --continue ,如果没有问题,git push re...代码。
---push的时候可能刚刚有人就在你前头又提交了代码,你可能在准备找人帮你提交代码的时候出现合并冲突。 ---这个时候git pull --rebase 再git status 看看有没有冲突 有的话继续上面的步凑。
6.7.19 当成功git push rev...后,还需要重新再改你已经push过的文件。 ---先修改代码-->再git add -A -->git commit --amend -- >git push rev...-->OK