• 对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就可以查看我们需要的信息了,接下来的工作就是根据这些信息分析系统并进行代码插桩了。

  • 相关阅读:
    Docker部署LAMP项目
    Linux学习4-部署LAMP项目
    Docker环境安装
    Python数据库读写
    Python读取和写入Excel文件数据
    Python读取和写入txt,csv文件数据
    Linux学习1-软件测试从业者的高频Linux命令
    Docker的基础命令
    TurtleBot3 MODEL的相应说明
    ROS2 SLAM(同时定位和地图绘制)
  • 原文地址:https://www.cnblogs.com/zhangxianlong/p/10859103.html
Copyright © 2020-2023  润新知