• android 源码编译


        今天终于下载android 源码成功,现在记录下编译方法,以备后续之需
        1.更新配置jdk
            

            sudo apt-get update:更新软件
            sudo apt-get install openjdk-7-jdk:更新jdk


        2.设置java版本
         

            $ sudo update-alternatives --config java
            $ sudo update-alternatives --config javac

            提示说只有一个版本,不需要进行设置

        3.执行命令

            sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip

    遇到如下错误提示
           

    下列软件包有未满足的依赖关系:
            g++-multilib : 依赖: cpp (>= 4:4.8.2-1ubuntu6) 但是它将不会被安装
            依赖: gcc-multilib (>= 4:4.8.2-1ubuntu6) 但是它将不会被安装
            依赖: g++ (>= 4:4.8.2-1ubuntu6) 但是它将不会被安装
            依赖: g++-4.8-multilib (>= 4.8.2-5~) 但是它将不会被安装
            E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

            进行如下的方法解决此问题
           

            sudo apt-get install g++-multilib(ok)
            sudo apt-get install  bison git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip(ok)



        4.更新gcc,ok

    sudo apt-get install gcc 


        5.在.bashrc中添加如下内容
          

     export USE_CCACHE=1


        6.运行如下命令
           

    prebuilts/misc/linux-x86/ccache/ccache -M 50G


            这个命令看起来像是设置缓存区域大小的.

        7.设置环境
           

    source build/envsetup.sh


        8.选择target
          

     lunch

            这个应该是选择编译的模式的,如root还是eng
            这个我选择的是一

        9.进行编译
          

     make -j4


        编译报错
       

    prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/bin/arm-linux-androideabi-strip:out/target/product/generic/symbols/system/lib/libwebviewchromium.so: File format not recognized


        网上查找对策
        似乎网上说的是跟一个swap有关,进行如下设置
       

        1)sudo dd if=/dev/zero of=/opt/swap1 bs=1024 count=1024000
        2) sudo mkswap /opt/swap1
        3) sudo swapon /opt/swap1
        4) sudo vim /etc/fstab


            增加如下内容
         

      /opt/swap1 swap swap defaults 0 0


        用同样的方法,增加swap2
        进行了上面的设置,方法编译结果还是错误的。继续查找方法

    原来,只需要把源码的out目录删除,然后重新编译就行了
        如果你想要结束swap分区,然后重新设置分区大小,可以使用如下命令
      

     sudo /sbin/swapoff /opt/swap2 



  • 相关阅读:
    linux下mysql的root密码忘记解决方法
    基于NIO2的遍历文件夹简单复制
    bootstrap插件bootstrapValidator常用验证规则总结
    《程序员修炼之道》-读书笔记六-工厂模式下的伪DI依赖注入
    cpu 突增问题排查
    一次线上OOM 的定位
    熔断、限流、降级的区别
    Mac 下 idea 在同一个窗口下打开多个项目
    No operations allowed after connection closed
    java 死锁演示
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zsl_2016_3_22_13_21.html
Copyright © 2020-2023  润新知