刚刚进入源码开发的总结~

来源:互联网 发布:计算机美工 编辑:程序博客网 时间:2024/06/06 16:36

露珠绝对程序媛妹子,进入源码编译环境两个月了,因为开发的系统是ubunto,导致做的总结笔记都要看起来好麻烦~所以,还是开个博客吧~没事自己可以看,也可以帮助帮助和露珠一样刚刚进入源码编译环境的同行们~有不对的,各位大神指点~因为露珠是刚刚进入,原谅露珠犯低级错误好么~谢谢


==============华丽的分割线===============================

framework源码编译知识点
1. 首先向studio导入源码。导入成功后,会发现打开的文件都有报错的现象。【原因:正常我们开发是基于SDK的开发,在这个情况下面,studio的编译工具是gradle,里面的项目是project。而当我们基于framework开发时,它是AOSP“Android Open-Source Project :中文Android 开放源代码项目”,是由谷歌发起的。在这个里面,由于studio是基于gradle所以没有找到依赖所以报错,但是其实已经有依赖了。包括R文件报错等,我们可以忽视不用管的!】

2. AOSP:Android Open-Source Project :中文Android 开放源代码项目! 其中编译模式有22种可以供选择
比如比较特别的两个:【shamu-moto】->【nexus6】                                     

          【hammerhead】->【LG】




3. CyanogenMod:基于谷歌最原始的源代码基础上又出了一个CyanogenMod。是一个基于开源Android系统,供某些手机使用的二级市场固件。
  1. 它提供一些在官方Android系统或手机厂商没有提供的功能 ,例如:支持Free Lossless Audio Codec-FLAC(无损音频压缩编码)音频格式的音乐,多点触控,从SD外置存储器运行程序,压缩缓存,大量APN的名单,重新启动功能,Wi-Fi无线网络支持,蓝牙,USB网络分享等。CyanogenMod也是第一个使用BFS作任务管理器的操作系统CyanogenMod声称提供比官方固件版本更高性能和更可靠。其中编译模式权限又120种可以供选择。
  2. 像小米的MIUI和魅族Fyme

4.露珠第一次用git,来个简单的重点补充,其实也就是常常用的,肯定不全,姑且看着

  1. git提交项目

    1. git add filename [git add . ]  【添加--这里是一个缓存】

    2. git commit -m “描述项目有哪一些修改,描述”

    3. git push [账号,密码]

    4. 补充

    • git status 查看当前状态

    • git checkout +名字 【检出到这个分支】

    • git checkout -b +名字 切换到服务器分支

    • git log 查看这个项目记录

    • git reflog 查看项目详细提交记录

    • git checkout -b develop  创建名【develop】的分支

    • git branch 切换到分支上面去

    • git branch -a 【查看到所有的分支,包括服务器分支,红色的为服务器分支的映射,并不是真正的分支】

    • git log 查看提交信息


  1. git下载文件

    1. pwd 【查看当前目录】

    2. mkdir xx_project 【创建文件夹,文件夹的名字是xx_project

    3. cd xx_project 【打开xx_project文件夹】

    4. ls -al 【查看当前文件夹下面所以内容】

    5. git clone 路径[copy项目路径] 下载文件

    6. 补充

    • unzip 文件名 解压以【.zip】结尾的文件

    • tar -xvf 文件名   解压以【.tar】结尾的文件

    • tar -xvfz 文件名   解压以【.tar.gz】结尾的文件

    • tar -cvf 文件名   压缩以【.tar】结尾的文件

    • tar -cvfz 文件名   压缩以【.tar.gz】结尾的文件

    • eg:Down目录下压缩一个名为Demo的文件 

      • 1.cd进入Down

      • 2.tar zcvf demo.tar /Demo[这里demo为压缩名字]


  1. 查找文件的命令

    1. find .-name *.apk 【该权限下面所以以.apk结尾的文件】

    2. adbinstall -s 选择机型 【当多台手机连在电脑上面  可以选择安装在那个手机上面

    • 比如:adbinstall ~/Downloads/JazzyViewPager.apk

    1. grade iD [studio下面命令行敲 直接手机跑项目 看BUG]

    2. ls -al |grep “.txt”  【过滤出以为【.txt】结尾的文件】

    3. nautilus路径 【后面可以直接跟文件名字 打开图形化界面 类似 subl文件名字】

    4. history 【查询敲过的所有历史命令,老大敲完了,自己查询敲过什么命令,自学必备】

    5. whichjava【查找java安装的目录  后面随意跟要查询的东西 很重要】

  1. adb logcat-s AndroidRuntime 查看logcat日志

  1. adblongcate -s TAG[名字] 以TAG过滤

  1. rm -rf data/data/com... 强制删除数据库【后面是包名】


5.再来就是用手机测试跑项目啦,来重要命令

framework层开发

核心的liunx命令:

  1. .build/envsetup.sh

  2. lunch

  3. 22[aosp_shamu-userdebug] 真机下面编译【如上图所示,对应22】

  4. mmm 路径【mmm packages/apps/**包名**/

  5. adb sync【把项目推到手机上面】

  6. adb shellstop

  7. and shellstart

命令补充:

  1. git croot 回到源代码根目录

方法二:

  1. adb root

  2. adb remount

  3. adb push … .apk /system/app/

  4. adb reboot




0 0
原创粉丝点击