Android源码编译问题

  • unsupported reloc 43
    https://blog.csdn.net/lincyang/article/details/73302225
  • Android build error "No rule to make target"
    一般是以下几种原因:
    1. 一种是以前编译过,但最近有修改,需重新编译,
    2. 一种是由于以前lunch时选用的其他product,没有这种product的,也需要lunch正确的product后,再编译
    lunch
    
  • 在修改完系统Api或部分公共Api后(常见于修改Intent.java、KeyEvent.java等等),执行源码编译时会有如下提示:
  see build/core/apicheck_msg_current.txt
******************************
You have tried to change the API from what has been previously approved.

To make these errors go away, you have two choices:
   1) You can add "@hide" javadoc comments to the methods, etc. listed in the
      errors above.

   2) You can update current.txt by executing the following command:
         make update-api

      To submit the revised current.txt to the main Android repository,
      you will need approval.

解决方案:
(1)执行 make update-api命令
(2)则新的 Api或者常量名会保存更新到 /framework/base/api/current.txt中
(3)利用 git status 命令就可以发现,current.txt文件被修改了
(4)记得要将新的 current.txt文件上传到git,其他人员才能同步你的修改;
待续

  • 出现以下问题:
frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java:5763: cannot find symbol
symbol  : variable KEYCODE_STB_RESET
location: class android.view.KeyEvent
                case KeyEvent.KEYCODE_STB_RESET:
                             ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error

解决方案:
(1)执行 make update-api 命令;
(2)然后在 项目目录下执行 mm 命令;

你可能感兴趣的:(Android源码编译问题)