zoukankan      html  css  js  c++  java
  • 对android源码进行修改并push到刷好的机器上

    对android源码进行修改并push到刷好的机器上

    前言:不知道最近时间都干了什么,项目最近没什么进展。把源码修改和刷机部分总结一下。

    对源码进行修改后要push链接库到手机上,这样就不用重新刷机。优雅许多。

    首先是编译的时候,我们都是知道往往为了避免头文件重复引用我们会加上,这样子你怎么写不会重复定义声明。

    #ifndef
    #define _THIS_IS_HEAD_
    ...
    #endif
    

    但是当多个编译内核同时进行的时候,这样也是不行的。通常会定义一个.h和一个.cpp
    对于变量和函数的声明我们放在.h里面

    extern int a;
    void fun();
    

    对于变量的初始化和函数实现放在.cpp

    int a=0;
    void fun(){
        ...
    }
    

    这样就避免了重复声明。

    接下来就是编译和push的过程。首先回到android文件夹下面,执行

    . build/envsetup.sh
    lunch aosp_sailfish-userdebug
    mm
    

    中间又出现了编译错误

    Could not build FEC data! Error: terminating with uncaught exception of type std::bad_alloc: std::bad_alloc
    

    杀死java进程重新mm即可

    pkill -9 java
    mm
    

    这样就把我们修改的子模块编译了。
    接下来我们要确保我们的手机可以remount,这样adb才能进行push操作。

    adb devices
    adb root
    adb disable-verity
    adb reboot
    adb root 
    adb remount
    

    然后

    cd out/target/product/sailfish/system/
    adb push lib /system
    

    就把整个libpush到手机上面了.
    我们之前打的一些ALOG和标记好的LOG_TAG就可以查看我们需要的信息了,接下来的工作就是根据这些信息分析系统并进行代码插桩了。

  • 相关阅读:
    提高代码质量:如何编写函数
    如何写自我评价
    写简历注意事项
    Android开发注意细节
    Android:onNewIntent()触发机制及注意事项
    Atom与markdown
    Java程序性能优化总结
    Java中的继承与组合
    Fragment生命周期总结
    C# 生成随机姓名
  • 原文地址:https://www.cnblogs.com/zhangxianlong/p/10859103.html
Copyright © 2011-2022 走看看