编译 Android 源码问题总结

Android.mk宏变量和android.bp的对应转换关系 可以参考build\soong\androidmk\androidmk进行查找 "LOCAL_32_BIT_ONLY": local32BitOnly, "LOCAL_AIDL_INCLUDES": localAidlIncludes, "LOCAL_ASSET_DIR": localizePathList("asset_dirs"), "LOCAL_C_INCLUDES": localIncludeDirs, "L 阅读详情

单独编译 framework/policies/ 模块

这个文件需要修改下Phone目录下的Android.mk文件:

  • 1、 将 android.policy_phone中的_phone删掉
  • 2、注释掉LOCAL_UNINSTALLABLE_MODULE := true 这句

修改后的文件内容如下:

LOCAL_MODULE := android.policy
#LOCAL_UNINSTALLABLE_MODULE := true

这样就可以编译出 framework/android.policy.jar 模块了。不过要注意如果要全部编译的话,要把 Android.mk 改回去。

如何在 Android.mk 中添加自定义库

在编译 android 模块的时候,有时候想自己添加一些自己的东西,或者是说链接一些额外的库(例如说自己写的)。这个时候需要去修改 Android.mk 文件。这里以 android 中简单的 toolbox 模块为例说明。例如说要在 toolbox 中加一个自己的命令,除了编写相应的 .c 文件文件外(例如 myhello.c),Android.mk 中要这么改:
// myhello 是你自己加的命令
TOOLS := \
myhello \
ls \
mount \
cat \
ps \
kill \
ln \
insmod \
rmmod \
lsmod \
... ...

// 默认的是只有 libcutils 和 libc 的,后面的那个 libmyhello 假设就是你要链接的库(你自己写的那个)
// 动态库是加到 LOCAL_SHARED_LIBRARIES 这个变量,静态库是加到 LOCAL_STATIC_LIBRARIES 这个变量
// 动态库还需要把你的库复制到 obj/lib 下(弄个连接也可以,运行的时候要把你的库弄到 system/lib 下 )
// 动态库和静态库是不一样的,具体的可以通过出错信息来看(mm showcommands)
// 然后后面那个 LOCAL_LDFLAGS 可以用来设置一些额外链接信息
// 像这里我链接了 x11 的库,不过一般在 android 里是用不到这个库的
LOCAL_SHARED_LIBRARIES := libcutils libc libmyhello
OLD_LDFLAGS := $(LOCAL_LDFLAGS)
LOCAL_LDFLAGS = $(OLD_LDFLAGS) -L/usr/lib -lX11

... ...


Android源码编译排坑 最近想学习一下android的源码。虽然网上有很多教程,但是有的是由于环境不同,有的是因为时间比较早了,所以在下载和编译的过程中还是遇到了一些问题。先说下我的环境:Mac OS 10.13.3。Xcode版本一开始是9.2(后来换成了8.3.3原因后面说)。配置环境这一点官方文档写的非常详细,按照步骤操作就可以。这里分配磁盘空间我是分了100个G。我的mac一共才256G,非常心疼。但是后来发现1... 阅读详情

相关推荐

macOs中android源码下载及编译过程问题总结

产考资源 源码下载参考地址:https://source.android.com/source/downloading.html 源码版本产考地址:https://source.android.com/source/build-numbers.html#source-code-tags-and-builds 清华镜像源下载产考地址:https://mirrors.tuna.tsinghua.edu...

l790324166的博客 949

Android.mk 参数函数查询

build/core/base_rules.mk base_rules.mk里定义了生成某种目标的方式 目标类型:主机上的可执行程序,设备上的可执行程序,apk程序,Java运行库,动态链接库等等 Android编译系统里每一种目标的生成方式对应一个makefile, 示例:如果某个模块需要编译成手机上的二进制程序,它需要include $(BUILD_EXECUTABLE

kc58236582的博客 1万+

tkinter使用label视频播放

tkinter是python的界面开发包 使用tkinter显示视频流的一个办法是使用label来逐帧显示图片。 from Tkinter import * from PIL import ImageTk, Image import cv2 root = Tk() # Create a frame app = Frame(root, bg="white") app.grid() # Create a label in the frame lmian = Label(app) lmain.grid(

六十英里的专栏 5526

Android编译系统参考手册

build/core/base_rules.mk base_rules.mk里定义了生成某种目标的方式 目标类型:主机上的可执行程序,设备上的可执行程序,apk程序,Java运行库,动态链接库等等 Android编译系统里每一种目标的生成方式对应一个makefile, 示例:如果某个模块需要编译成手机上的二进制程序,它需要include $(BUILD_EXECUTABLE)  而BUI

sunjianguang90的博客 3300

使用podman 容器化安装DIFY

本文阐述了使用podman容器化安装DIFY的过程

wengad的博客 1901

【操作系统】Hello CTF-专为CTF比赛封装的虚拟机 Beta版

很多师傅在学习与研究CTF的道路上,总是碰到想提升自我水平,但缺少本地化的训练环境以及安装各类软件的烦恼现象;因此拥有一些趁手“武器”,干起活来将会事半功倍。CTFos是探姬(ProbiusOfficial)专为CTF比赛封装的虚拟机,基于工具集封装多个版本和系统。CTF入门选手各行业网络/信息从业人员安全相关工作人员但不想在工作机上安装CTF一些奇葩的软件…该系统是通过虚拟机封装的,需要使用打开!一个专为CTF比赛封装的虚拟机,开箱即用。

qq_47493625的博客 1万+

关于Android下,修改frameworks/policies/xxx...文件后的编译问题

<br />    习惯性的编译操作: mm frameworks/policies/base/<br />   编译之后没有出现出错,但是没有出现 install out/....... .apk或者 system.img什么的东西。<br /> <br /><br />mm frameworks/policies/base/phone/  执行该命令之后信息如下:<br />============================================<br />PLATFORM_VERSIO

念茜的博客 9173

从零构建eSIM RSP服务:云原生架构与GSMA合规实践

本文详细阐述了从零开始构建一个符合GSMA SAS-SM安全标准的云原生eSIM RSP服务的完整路径。内容涵盖云原生基础设施选型、容器化部署、GSMA标准接口集成,并重点分享了通过SAS-SM安全审计的实战经验与避坑指南,为物联网及智能设备企业自建可控的远程SIM配置服务提供了系统性的解决方案。

weixin_29322553的博客 458

编写Android.mk文件备录

前言:     由于目前供职于机器人公司,从事基于android系统的软件开发,因此常常需要进行源码编译(当然也可以基于机器人的sdk和android studio环境进行开发)。   进行源码编译,少不要编写Android.mk文件。通常的操作,就是基于前人的Android.mk文件修修改改,即可满足需求。特此将之前编写的一个Android.mk文件拿出来,做次备录。   当然了,前提建议大家先...

君羊 1132

手把手教你学Simulink--双足机器人的反步控制方法仿真

本文介绍了在Simulink中基于反步控制方法进行双足机器人仿真研究的步骤。主要内容包括:1)准备工作,包括MATLAB/Simulink安装和相关工具箱配置;2)构建简化双足机器人模型;3)设计反步控制器,阐述其递归设计原理及Lyapunov函数构造方法;4)通过MATLAB Function块实现控制逻辑并连接模型;5)仿真参数配置和结果分析。文章强调反步控制适用于非线性系统,通过逐步构造虚拟控制律保证系统稳定性,并指出需要多次调试和查阅文献来优化控制效果。该教程为研究双足机器人运动控制提供了实用的仿真

MHD0815的博客 151

Windows 11 安装 OpenClaw(龙虾):不用WSL、不用虚拟机、启动、使用、停止、卸载

本文详解 Windows 11 原生安装 OpenClaw(龙虾)全流程,无需 WSL 或虚拟机。涵盖环境配置、安全警示、模型接入(如通义千问)及技能初始化。提供启动、文件自动化操作、停止与卸载的完整指南,并附常见认证过期解决方案。助您快速部署本地 AI 智能体,实现电脑操作自动化,提升工作效率。

寒水馨 · 轻量级技术文档 · hanshuixin.org 897

mac编译android系统软件,Mac OS 下载和编译Android源码问题记录

今天下载安卓源码,照着网上的教程来做,总会遇到这那的问题,特此记录。1、下载源码1.1、首先就是创建磁盘映像这一步使用mac的磁盘工具完全可以搞定。其目的就是为了创建一个dmg格式的磁盘,用来放Android的源码。至于为什么这么放,我也不知道。这一步的Android映像放在哪里是无所谓的,回头我们进入这个目录操作就好。磁盘的空间本来是选的50G,下载了之后发现50G貌似不够,于是改成了100G。...

weixin_30811007的博客 346

使用阿里天池平台训练YOLO目标检测模型

YOLO算法是一种单阶段目标检测算法,由Joseph Redmon等人于2015年提出。与传统的两阶段检测算法相比,YOLO将目标检测问题转化为回归问题,直接预测边界框的位置和类别概率,大大提高了检测速度。YOLOv1: 首次提出YOLO的核心思想,将图像分割成网格,每个网格预测边界框和类别概率。YOLOv2: 引入了批量归一化、锚框等改进,提高了检测精度。YOLOv3: 采用多尺度预测,增强了对小目标的检测能力。

步子哥的博客 1089

android模块源码编译错误,MAC OS X 10.10编译android5.0源码 步骤 以及 遇到的问题

编译前准备:先安装port:macports下载地址命令行执行:sudo port install pnupg git libsdl bison make (注意:通常 不需要装make 和bison 因为后面会装xcode )装xcode:最好APPSTORE下载,最近有个什么后门事件。xcode装好后:装命令行工具: 命令行运行:xcode-select –install(注意:insta...

weixin_39964590的博客 271

爬虫:一文掌握网站加密和混淆以及浏览器调试的技巧

面对加密和混淆技术的网站,传统的爬虫方法可能难以奏效。通过结合浏览器调试工具(如Puppeteer、Playwright)、代理工具(如Burp Suite、Fiddler)以及动态和静态分析技巧,可以深入理解网站的运行机制,绕过加密和混淆,实现有效的数据抓取。同时,务必注意合法合规,尊重目标网站的规则和用户的隐私,确保爬虫行为的正当性和可持续性。

数据知道的博客 9887

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

linux的安卓源码编译提示版本不匹配,Ubuntu编译Android源码出错及问题解决

Android 源码后马上编译会发现有各种各样的错误,原因是有些依赖包没有装。为了避免出现以下我遇到的错误,请先安装 jdk1.5 ,必须是 jdk1.5,不然肯定编译不过的。然后,在检查以下有没有安装以下依赖包:sudo apt-get install bison libc6-dev-amd64 g++-multilib zlib1g-dev lib64z1-dev flex libncurse...

weixin_39608118的博客 453

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【Android源码编译】遇到的问题

Android源码编译遇到的问题

awy1988的专栏 4013

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

MAC OS X 10.10编译android5.0源码 步骤 以及 遇到的问题

编译前准备: 先安装port:macports下载地址 命令行执行:sudo port install pnupg git libsdl bison make (注意:通常 不需要装make 和bison 因为后面会装xcode ) 装xcode:最好APPSTORE下载,最近有个什么后门事件。 xcode装好后:装命令行工具: 命令行运行:xcode-select –instal

NNERO的人生 1625

android 源码编译遇到得一些问题

开发环境是fedora14 2.6.35.10-74.fc14.i686<br />android源码得获取和编译看官网链接<br />http://source.android.com/source/download.html<br /> <br />1.执行build/envsetup.sh脚本,配置环境变量<br /><br />2.网上搜索到的<br />在使用:<br />$ repo init -u git://Android.git.kernel.org/platform/manifest.g

EK的专栏 2971

android源码的编译问题总结

版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.youkuaiyun.com/hongbochen1223/article/details/47708233 由于目前的项目需要修改android的内核源码,所以我需要从andr...

weixin_33950035的博客 100

更新自己编译android源码遇到的问题

1  /bin/bash: bison: 未找到命令 安装bison sudo apt-get install bison 2 借鉴前辈经验先安装了一些工具包参考博客 前辈的博客(写的好整齐) 总结一下安装 sudo apt-get install gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squ

wm154192的博客 444

编译android源码及遇到的问题

编译android源码,首先当然是下载源码。在source.android.com中可以方便的找到下载流程。虽然有现成的方法(GIT&REPO)不过最好还是先熟悉一下这两个工具使用方法最好,否则也会走不少弯路。这里推荐Li Yanrui写的《git使用指南》。好了,一步一步$git init$repo init -u git://android.....$repo sync------ 第一次最好使用repo sync下载完所有的文件正式开始编译,料想不会太复杂吧$ source build/envsetu

Nemo_Mylobe的专栏 1038

Linux下编译Android源码问题汇总

前言 本人最近在研究Android源码编译,现将编译过程中遇到问题汇总于此。

ambitious 求索 3万+

android2.2源码编译问题7-4

今天下了Android2.2源码repo init

ccskyer的专栏 1632
上一篇: Android Gesture 使用简介
下一篇: 开启 Android SDK 所有的 API 的方法
mingming_killer
博客等级 码龄19年 18粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值