Android 7.1 使用mmm编译模块失败

简介: Android 7.1 使用mmm编译模块失败

平台:


RK3288 + android 7.1


问题:


rk3288_n712$ mmm frameworks/base/cmds/app_process/

....
Starting build with ninja
ninja: Entering directory `.'
ninja: error: 'out/target/product/rk3288/system/bin/linker_asan', needed by 'out/target/product/rk3288/system/bin/asan/app_process32', missing and no known rule to make it
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
#### make failed to build some targets (19 seconds) ####

提示这个模块/文件没找到:out/target/product/rk3288/system/bin/linker_asan

rk3288_n712$ ll out/target/product/rk3288/system/bin/linker_asan

ls: cannot access 'out/target/product/rk3288/system/bin/linker_asan': No such file or directory

确实没有.


分析:


   单独编译不能通过? 但是全部编译却可以成功, 这种问题之前也遇到过, 只是一直忽略它.

   按旧版本的SDK编译解决方案, 找出linker_asan这个模块, 并编译它, 可惜, 搜索全部模块, 也找不到它.


无意间, 在查看najia脚本中发现了点端倪.


|-- out/build-rk3288.ninja: 
command = /bin/bash -c "(rm -rf out/target/product/rk3288/system/bin/linker_asan ) && (ln -sf linker out/target/product/rk3288/system/bin/linker_asan )"

什么意思?

linker_asan 只是linker的软链


解决:


ln -sf linker out/target/product/rk3288/system/bin/linker_asan

执行后再编译, 问题解决:


rk3288_n712$ mmm frameworks/base/cmds/app_process/
Running kati to generate build-rk3288-mmm-frameworks_base_cmds_app_process_Android.mk.ninja...
[100% 15/15] Install: out/target/product/rk3288/system/bin/asan/app_process32
#### make completed successfully (39 seconds) ####

PS: 在后续编译中, 更暴力地解决:


cp out/target/product/rk3288/system/bin/linker out/target/product/rk3288/system/bin/linker_asan


相关文章
|
27天前
|
开发框架 前端开发 Android开发
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
107 4
|
4月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
330 1
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
110 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
2月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
4月前
|
Android开发 Docker 容器
docker中编译android aosp源码,出现Build sandboxing disabled due to nsjail error
在使用Docker编译Android AOSP源码时,如果遇到"Build sandboxing disabled due to nsjail error"的错误,可以通过在docker run命令中添加`--privileged`参数来解决权限不足的问题。
911 1
|
4月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
184 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
4月前
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
332 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题
|
4月前
|
搜索推荐 Android开发
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
本文分享了不同价位电脑配置对于编译AOSP安卓系统源代码的影响,提供了从6000元到更高价位的电脑配置实例,并比较了它们的编译时间,以供学习AOSP源代码时电脑配置选择的参考。
285 0
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
|
4月前
|
Android开发
Android编译出现Warning: Mapping new ns to old ns的解决方案
Android编译出现Warning: Mapping new ns to old ns的解决方案
403 3