1
  • 最佳答案

    看Log.


    FAILED: out/soong/.intermediates/system/libartpalette/libartpalette-system/android_arm_armv7-a-neon_shared/unstripped/libartpalette-system.so



    ld.lld: error: version script assignment of 'LIBARTPALETTE_1' to symbol 'PaletteTraceEnabled' failed: symbol not defined

    ld.lld: error: version script assignment of 'LIBARTPALETTE_1' to symbol 'PaletteShouldReportDex2oatCompilation' failed: symbol not defined

    ld.lld: error: version script assignment of 'LIBARTPALETTE_1' to symbol 'PaletteNotifyStartDex2oatCompilation' failed: symbol not defined

    ld.lld: error: version script assignment of 'LIBARTPALETTE_1' to symbol 'PaletteNotifyEndDex2oatCompilation' failed: symbol not defined

    ld.lld: error: version script assignment of 'LIBARTPALETTE_1' to symbol 'PaletteNotifyDexFileLoaded' failed: symbol not defined

    ld.lld: error: version script assignment of 'LIBARTPALETTE_1' to symbol 'PaletteNotifyOatFileLoaded' failed: symbol not defined

    ld.lld: error: version script assignment of 'LIBARTPALETTE_1' to symbol 'PaletteShouldReportJniInvocations' failed: symbol not defined

    ld.lld: error: version script assignment of 'LIBARTPALETTE_1' to symbol 'PaletteNotifyBeginJniInvocation' failed: symbol not defined

    ld.lld: error: version script assignment of 'LIBARTPALETTE_1' to symbol 'PaletteNotifyEndJniInvocation' failed: symbol not defined




    error: linker command failed with exit code 1 (use -v to see invocation)



    遇到错误前面找failed,error,exception这些关键字。



    前面说链接失败,提示你看看是不是你的CLang版本对不对得上。这只是编译器的提示,但是不是由这个原因引起的呢?不一定。就像你mysql语法错误了,也是提示你版本对不对。也就是说,在不同的版本语法可能不一样。



    那是不是有可能是前面那个error导致后面的链接失败呢?


    前面报错是啥?


    symbol not defined



    没定义,没定义咋整?查找一下,看看是否存在的?不存在,是不是代码没有同步全呢?存在的话代码有没有导入呢?一是导入了,毕竟是官方的源码。


    顺着线索去解决吧。

    1153952789488054272  评论     打赏       拉大锯
    • 这其实已经告诉你为什么不行了,三个原因:

      1、内存最小要求接近16G,你目前可支配的内存只有12.4G

      2、某些配置项有问题

      3、-j 后面追加的数值减少


      我并不懂编译源码,我只是看到了里面的日志呈现的问题,你可以根据这三个思路看看怎么去优化

      1255088796991492096  评论     打赏       相思病
      • 拉大锯  回复 @相思病
        他编译的版本比较高,配置要求比较大。soong构建是android7.0开始的。
        拉大锯 2021-06-11 01:44:19   回复 1153952789488054272
      • ChainSmoker  回复 @拉大锯
        嗷,原来如此,我还没接触过编译源码,后面有时间我也试试看
        ChainSmoker 2021-06-15 01:02:36   回复 1255088796991492096
      1. 使用多少个线程编译的啊
      2. 编译的时候的命令是啥
      1139423796017500160  评论     打赏       断点-含光君
      • ashkhl  回复 @断点-含光君
        编译时候的命令是 m -j16
        ashkhl 2021-06-11 01:15:38   回复 1403005181217517570
      • 断点-含光君  回复 @ashkhl
        https://stackoverflow.com/questions/64027042/aosp-building-failed-ckati-failed-with-exit-status-1
        断点-含光君 2021-06-11 01:26:12   回复 1139423796017500160
      • 断点-含光君  回复 @ashkhl
        这里有同样的问题,是不是你分配的内存不够啊。尝试分配大一点内存给虚拟机
        断点-含光君 2021-06-11 01:26:42   回复 1139423796017500160
      • ashkhl  回复 @断点-含光君
        应该不是内存的问题,我刚才内存拉满试了一下,还是直接报错,一直观察内存占用也并没有吃满
        ashkhl 2021-06-11 01:56:41   回复 1403005181217517570
      • 拉大锯  回复 @ashkhl
        解决了?解决了你得说说你的解决方法[捂脸]
        拉大锯 2021-06-11 04:11:05   回复 1153952789488054272
      • ashkhl  回复 @拉大锯
        应该是源码远程库的问题,昨天同步完但是应该有文件缺失,今天早上重新同步后多了一些文件,然后就可以了
        ashkhl 2021-06-11 04:42:29   回复 1403005181217517570
      • 拉大锯  回复 @ashkhl
        嗯,Okay。如果同步源码不方便,可以直接下载我网盘上的。
        拉大锯 2021-06-11 06:30:14   回复 1153952789488054272
    相关问题
    幻影~ · 提问
    2024-04-13 20:13 8 2
    幻影~ · 找工作
    2024-04-07 10:44 15 2
    幻影~ · 问题
    2024-03-31 17:20 7 2
    TONYGFX · AOSP
    2024-03-28 17:11 4 2