1. fastboot flash boot out/target/product/generic/boot.img不管用,提示< waiting for device >
       原因查找:
       用fastboot命令查看设备提示无权限,如下:
          $ fastboot -l devices
          no permissions         fastboot usb:2-1.3
       于是知道是因为权限问题,是fastboot没有权限, 解决步骤:
       1. 将fastboot的所有者属性改成root
          用which fastboot命令找到fastboot所在的目录,然后进入此目录;再用命令chown改其属性:
          sudo chown root:root fastboot
       2. 将其权限更改一下:
          sudo chmod +s fastboot
       再运行
       fastboot flash boot out/target/product/generic/boot.img就正常了 :
       sending 'boot' (6520 KB)...
       OKAY [  0.207s]
       writing 'boot'...
       OKAY [  0.311s]
       finished. total time: 0.518s

  2. ubuntu系统下,adb命令会依赖很多包,因此如果没有安装adt工具包,且在源码目录下adb命令不可用时,可以先确保android的源码可以进行编译,可以编译后,在编译出来的out目录中是有adb命令的。

  3. 在服务器上进行编译时,出现了找不到eabi-arm-gcc的错误,这部分打印信息是在build/envsetup.sh中写入的,然后退出服务器,再次登陆问题解决......

  4. recovery模式下,找不到adb设备,不能进行adb操作。同一个终端,在其他的ubuntu台式机上是可以的,确定了是ubuntu的配置问题。
        解决:修改 /etc/udev/rules.d/51-android.rules
        SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0600"
        改为:
        SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="user"

  5. recovery模式下,直接adb push的方式替换/sbin/recovery是不可行的,执行替换成功后,重启后,recovery仍然被替换为之前的,只能使用生成recovery.img,然后使用fastboot flash recovery recovery.img的方式进行升级。因为recovery下的文件系统是ramdisk类型的,掉电丢失。

  6. guofengwan@guofengwan:~/workspace/project/rdadroid-5.1.1_r13$ fastboot devices
        no permissions    fastboot
        guofengwan@guofengwan:~/workspace/project/rdadroid-5.1.1_r13$ which fastboot
        /home/guofengwan/workspace/project/rdadroid-5.1.1_r13/out/host/linux-x86/bin/fastboot
        guofengwan@guofengwan:~/workspace/project/rdadroid-5.1.1_r13$
     
        另外启动了一个窗口:
        guofengwan@guofengwan:~$ fastboot devices
        dragon2012    fastboot
        guofengwan@guofengwan:~$ which fastboot
        /home/guofengwan/environment/adt-bundle-linux-x86_64-20140702/sdk/platform-tools/fastboot

  7. recovery模式下,adb shell进入后,发现是非root用户,并且运行su命令失败,退出后,adb root问题解决。

  8. user版本的android代码,每次修改,如果单独mm一个jar包或者命令时,会导致新生成的jar包文件和之前的img文件中的签名不一致,因此一但进行了修改,需要整个源码make一遍。
    在android源码中,新添加一个命令,进入该命令的目录mm后,会生成到out目录下的相应的/system/bin/目录中,再编译源码,命令就会生成到system.img文件中,但是如果提交代码的话,
    在服务器上不会进入到该命令的目录进行mm操作的,因此需要修改所编译的target对应的device.mk文件,添加到device.mk中。

  9. android系统调试过程中,native代码出现错误,System标签;java代码出现错误,AndroidRuntime标签。

  10. adb shell dumpsys window displays可以获取android的屏幕分辨率等信息,

    通过cat  /proc/meminfo命令查看内存大小。。

  11. adb shell service list 可以列出系统的service。

  12. make snod将out目录里面的文件打包成img。

  13. recovery模式下,使用framebuffer来显示界面,获取屏幕显示的图像内容:
    adb root
    adb shell cat /dev/graphics/fb0 > 2.data
    使用gimp打卡2.data,根据实际情况设置RGB8888或者RGB565等像素格式,长度和宽度的分别率.

  14. 如果在源码中,由于一个模块编译失败,但是又不想因为它,导致整个android源码编译不通过,可以在build/core/envsetup.mk文件中,添加SCAN_EXCLUDE_DIRS := 这个模块的名字。可以使其不被编译。前提是这个模块的编译与否对其他模块没有影响。

转载于:https://blog.51cto.com/4080467/1743404

android 源码开发 关于编译等小知识点总结相关推荐

  1. VLC for Android源码下载和编译

    Project Hosting on 点击打开链接 最受欢迎的开源项目 点击打开链接 由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏.图像处理.时间显示.开始菜单快捷方式等. ...

  2. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:http://item.jd.com/12212640.html 试读地址:http:/ ...

  3. 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译...

    本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:item.jd.com/12212640.ht- 试读地址:www.epubit.com ...

  4. 从零开始搭建Ubuntu 环境下的Android 源码开发环境

    本文从一个干净的Ubuntu 10.04 操作系统出发,一步一步引导你搭建自己的基于eclipse IDE 的Android源码开发环境. 正文会包含一下这些内容: 获得源码 编译源码准备工作 编译工 ...

  5. android源码下载以及编译自己的ROM

    android源码下载以及编译自己的ROM 最近发现kernel.org被墙了,为什么这种网站也能被墙了? 要想下载源码的话,只能绕过去了.下面是我从网上搜索到的一些下载方法: =========== ...

  6. Android 源码开发调试方法

    最近忙修改Launcher,不知道大家都是怎么做开发和调试的,可能遇到最大的问题就是源码太大,打开很慢,修改的时候也很慢.调试更是需要打日志,重新编译,痛苦不堪.最近学到一个方法,不知道是不是自己ou ...

  7. 【Bash百宝箱】Android源码下载及编译

    文章目录 0.版本管理 1.环境准备 2.源码下载 3.源码编译 4.产品定制 5.系统image tip:下文基于Android 6.0 Marshmallow,后续版本可能稍有不同. 0.版本管理 ...

  8. Ubuntu 14.04.1 配置 Android 源码开发环境(jdk版本切换)(转载)

    转自:http://www.cnblogs.com/ren-gh/p/4248407.html # Ubuntu 14.04.1 1.更新源: sudo apt-get update 安装vim工具: ...

  9. as工程放到源码编译_关于AS高版本SDK编译生成的apk放入低版本android源码中集成编译...

    做dfu功能的时候,遇到的这样一个问题.添加了dfu的依赖之后,会要求编译的sdk为28,我的AS版本默认生成的是27.然而target版本是25. // The DFU Library is imp ...

最新文章

  1. 无人值守安装win2003+sp2的补丁
  2. Redis集群:哨兵(Sentinel)
  3. DL之GRU:GRU算法相关论文、建立过程(基于TF)、相关思路配图集合、TF代码实现
  4. Nacos(五)之Spring集成
  5. 机器学习1.3--机器学习所需要的基础数学知识
  6. arm架构linux进程调试,gdb-multiarch + gdbserver调试linux arm应用程序
  7. Java基础学习总结(182)——Java 日志记录实践总结
  8. Problem G: 小勇学分数
  9. 六、Linux常用命令之压缩打包篇(gzip、gunzip、tar、zip、bzip2)
  10. auto.js启动app
  11. 机器学习 | 样本不平衡问题处理方法
  12. 为什么高水平程序员不喜欢接外包项目
  13. 大学生面试最喜欢问的十个问题
  14. ”好奇号“一切准备就绪即将开始探测火星之旅
  15. javax.persistence.OneToMany.orphanRemoval()Z
  16. 11_MySQL笔记-主从复制-延迟备份-读写分离
  17. Cobo宣布支持MDU Staking服务
  18. Android是什么?
  19. ubuntu/linux 安装用户软件添加到命令行或者app 各个目录作用
  20. C# 如何实现千位分隔符(三位分隔)

热门文章

  1. 【网络编程】网络协议简析
  2. 我再也不-或许永远不-用zend studio-受够了!
  3. [AngularJS]--基本用法
  4. Poj 1006 / OpenJudge 2977 1006 Biorhythms/生理周期
  5. ListView问题:Your content must have a ListView wh...
  6. POJ-1050(DP)
  7. 研究Ajax(二)WebService实现加 减 乘 除
  8. 英特尔® 硬件加速执行管理器安装指南 — Mac OS X*
  9. 表达式必须是常量表达式
  10. 三款JSON类库Jackson,Gson与JSON-lib的性能对比