Ubuntu14.04编译Android源码之Java环境切换shell脚本

Android 14 AOSP编译实战:Ubuntu环境搭建、源码下载与系统构建全流程 操作系统构建是现代软件开发中的核心环节,它涉及将源代码转化为可运行系统的完整流程。其原理基于构建系统(如AOSP的Soong/Ninja)对依赖关系的解析与并行编译,技术价值在于提供了从底层理解系统运作、深度定制和性能优化的能力。这一技术广泛应用于系统开发、ROM定制和嵌入式设备等领域。本文聚焦于Android 14系统构建,详细解析在Ubuntu环境下完成AOSP源码下载、环境配置、编译构建到运行调试的全链路实践,其中涉及**源码同步**的网络优化策略与**增量编译**的效率提升技巧,为开发者提供从零到一 阅读详情

脚本运行环境不限于Ubuntu14.04,可以切换Java6\7\8,具体切换方法为:

yang@yang:~/code$ . ~/sw_java.sh 
The version you want(6、7、8): 7
Changing to java  ---------> 7
******************check version**************************
java version "1.7.0_151"
OpenJDK Runtime Environment (IcedTea 2.6.11) (7u151-2.6.11-2ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.151-b01, mixed mode)
yang@yang:~/code$ 

对 ,执行脚本sw_java.sh就可以了,是不是很方便,下面进入正题:

1,到这里下载jvm,下载完成放在/usr/lib/目录下,如下:

yang@yang:/usr/lib/jvm$ ls
jdk6  jdk7  jdk8

2、下载profile配置文件,解压放在自己的家目录下:

yang@yang:/usr/lib/jvm$ cd ~
yang@yang:ls -a
-rwxrwxrwx  1 yang yang         888 Mar  5 11:35 .profile*
-rwxrwxrwx  1 yang yang         888 Feb 21 11:03 .profile.6*
-rwxrwxrwx  1 yang yang         902 Feb 21 11:03 .profile.6~*
-rwxrwxrwx  1 yang yang         888 Feb 21 11:03 .profile.7*
-rwxrwxrwx  1 yang yang         888 Feb 21 11:03 .profile.8*

3,修改权限:

yang@yang:~$ sudo chmod -R 777 /usr/lib/jvm
yang@yang:~$ sudo chmod a+x ~/.profile*

4,输入命令测试下吧

yang@yang:~$ . ~/sw_java.sh 
The version you want(6、7、8): 6
Changing to java  ---------> 6
******************check version**************************
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
yang@yang:~$ 

 

Ubuntu虚拟机编译Android源码环境配置与优化指南 在Linux环境下编译Android源码是移动开发与系统定制的关键技术环节。通过虚拟机环境可以隔离开发环境,其中Ubuntu 18.04与VMware的组合方案具有最佳兼容性。编译过程涉及Python环境配置、repo工具使用、依赖管理等核心环节,合理设置swap分区和ccache缓存能显著提升效率。针对常见的ninja失败、Java版本冲突等问题,需要掌握内存分配优化和模块化编译技巧。在模拟器调试阶段,GPU加速和3D图形设置对性能影响显著。本方案特别适用于需要进行Android系统级开发的工程师,通过清 阅读详情

相关推荐

Ubuntu 14.04 部署 Ganglia:轻量监控系统原理与教学实践

监控系统是运维与系统管理的核心能力,其本质在于指标采集、传输、存储与可视化四个基础环节。Ganglia 作为经典的轻量级分布式监控工具,采用 UDP 组播/XDR 协议实现低开销数据分发,依托 RRDtool 进行高效时序存储,配合 PHP Web 前端完成直观展示——这种‘协议透明、组件解耦、无状态聚合’的设计范式,是理解现代可观测性体系的重要基石。尤其在资源受限或教学验证场景中,Ganglia 在 Ubuntu 14.04 上展现出极强的稳定性与可调试性:原生 APT 支持、PHP 5.5 兼容、内核网

weixin_34211761的博客 487

rk3399 android8.1 添加开机启动脚本

项目场景: 使用 瑞星微RK3399 android8.1系统 linux4.4版本内核平台做可视化终端 包含双目摄像头(mipi接口),显示屏,fm1288声卡。 目录 项目场景: 文章目录 一、关于开机启动脚本的添加 1.找到脚本init.rc 2.添加相关启动权限 3.te文件权限内容格式 一、关于开机启动脚本的添加 因为好多引脚是通过手动拉高的,因此添加了一个开机启动脚本做初始化。 1.找到脚本init.rc 在当前的系统中,开机启动过程会调用 init...

m0_59561453的博客 1141

Ubuntu 14.04下Nginx部署Let’s Encrypt SSL实战指南

SSL/TLS 是现代 Web 服务的基础安全机制,其核心在于通过可信证书机构(CA)实现服务器身份验证与通信加密。Let’s Encrypt 作为广受采用的免费自动化 CA,依托 ACME 协议实现证书申请、验证与续期,显著降低 HTTPS 落地门槛。在老旧但仍在服役的 Linux 环境(如 Ubuntu 14.04)中,因 Python 版本陈旧、包管理器源归档、systemd 缺失等限制,标准 Certbot 工具无法直接运行,此时需回归协议本质——使用轻量级 ACME 客户端(如 acme-tiny

373

Android 8.1 添加开机启动脚本

本文转载自:https://zhuanlan.zhihu.com/p/32868074  本人对于SELinux for Android理解不深,下文中的各文件及安全规则虽都是我所编写,但也是一边查阅文档一边试验得出的。在此强行为文,若有理解错误之处,请各位工程师同仁热情指出。   感谢 @leedecode 指出文章不足。按照 Project Treble 的要求,这种需求的规范做法应该是通过 HIDL 进行调用并添加上相应的 SELinux 权限,所以下文中的做法只能算是一种 worka...

梦家之家 1622

安卓应用开发环境

本文会持续更新修改,主要记录在安卓应用开发中,遇到的一些问题和解决方案。

Watom_663的博客 1916

WebRTC C++ Native源码编译实战:从环境搭建到多平台构建

实时音视频通信是现代应用开发中的核心技术,其底层实现依赖于高效的网络传输、媒体编解码和信令处理机制。WebRTC作为开源项目,提供了跨平台的实时通信能力,但预编译的SDK往往无法满足深度定制需求。通过编译C++ Native源码,开发者可以获得对编解码器优化、网络策略调整和平台特定性能调优的完全控制权。本文以GN+Ninja构建系统为核心,详细解析了从环境准备、代码获取到针对Linux、Windows、Android和iOS等多平台的编译实战流程,并提供了常见编译错误的解决方案,帮助开发者掌握WebRTC底

weixin_34110749的博客 378

Android 8.1RK平台增加自定义脚本,修改文件权限

最近RK3326项目上遇到个问题,OTA升级完重启后需要去/cache/recovery目录下读取一个文件,last_flag,读取过程中报错,提示没有权限,很奇怪,我的明明是系统应用,也加了权限还是报错,所以写个脚本在读取文件之前先设置一下文件的权限,这样就能读取到文件里面的内容。 首先建立一个脚本 rp_update_file.sh ,内容很简单,就是修改下文件权限如下 #!/system/bin/sh su chmod 777 /cache/recovery...

weixin_35649059的博客 2646

Ubuntu 22.04 多语言版本管理:用 asdf 统一管理 Node.js、Python、Rust

编程语言运行时版本管理是现代开发环境的基础能力,其核心在于解决多版本共存、项目级隔离与跨语言协同三大挑战。传统工具如 nvm、pyenv 各自为政,导致 PATH 污染、配置碎片化和环境不可复现;而 asdf 以插件化架构和 shim 机制,实现声明式、统一化的多语言运行时协调——通过单个 .tool-versions 文件即可定义 Node.js、Python、Rust 等数十种语言的精确版本组合,并在 Ubuntu 22.04 等 LTS 系统上提供零冲突的按需加载与环境隔离。该方案显著提升 CI/CD

weixin_30680385的博客 373

android 8.1 build,android 学习笔记(八)android底层学习8.1 学习makefile 走读build/core/main.mk...

目的是能搞潇洒自如,熟门熟路的读写makefile文件。觉得从头到尾看一篇教程似乎有点慢,现在耐心越来越缺失。那就直接看一篇makefile文件。遇到问题记录下来。哈我要看的代码是android源码makefile,好大。、2. 接下来我们执行make命令。根目录下makefile文件的内容如下 http://blog.csdn.net/kobeyxyx/article/details/6614...

weixin_42133452的博客 788

Ubuntu零基础入门到精通【1.2讲】:Ubuntu 与 Linux 的关系 —— 你用的到底是什么?

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。

**My Coding Family** 3105

在Android系统中实现shell脚本调用的策略与实践

本文还有配套的精品资源,点击获取 简介:在Android系统中,非root用户执行shell脚本面临安全性和权限限制。本篇将探讨如何通过Java代码间接实现shell脚本调用,并涵盖沙箱机制、多种执行方法(Runtime、ProcessBuilder、AIDL等)、权限管理、安全性和性能优化等关键知识点。开发者需根据需求选用合适的方法,并注意权限管理与安全问题。 ...

weixin_35972981的博客 1235

AOSP linux环境配置及其编译方法

linux环境配置,android源码环境搭建

yimelancholy的博客 4495

用Verilog在FPGA上做个电子琴:从矩阵键盘到蜂鸣器的完整实现(附代码)

本文详细介绍了如何使用Verilog在FPGA上实现一个完整的电子琴系统,涵盖矩阵键盘扫描、音调生成和蜂鸣器驱动等核心模块。通过模块化设计和PWM调制技术,开发者可以构建一个可交互的音乐播放器,项目代码完整且易于扩展,适合FPGA初学者和数字逻辑设计爱好者实践。

weixin_29191669的博客 401

Android Studio导入AOSP源码:搭建系统级开发与调试环境

Android系统开发的核心在于深入理解其底层框架与运行机制。通过源码分析,开发者可以掌握从应用层到系统服务(如ActivityManagerService)的工作原理,从而进行深度定制、性能优化与疑难问题排查。在工程实践中,将庞大的AOSP源码导入Android Studio,能够实现高效的代码索引、跳转与调试,极大提升开发效率。这一过程涉及环境配置、源码编译与IDE集成等关键技术环节,尤其适用于ROM定制、系统应用开发及Framework层问题定位等场景。本文以Android 14为例,详细解析如何克服

weixin_33770878的博客 338

Reactor 响应式编程(第一篇:Reactor核心)

响应式:响应式编程: 全异步、消息、事件回调默认还是用当前线程,生成整个流、发布流、流操作.log();//只要不指定线程池,默认发布者用的线程就是订阅者的线程;

moments的博客 1572

Wireshark教程:解密HTTPS流量

Wireshark教程:如何解密HTTPS流量

nuan444979的博客 1万+

最新 android 源代码下载 android-4.4.4_r2.0.1和android-5.1.0_r3

我的操作系统环境:ubuntu 14.04 LTS 64位 如题,由于大家都知道的原因,android源码的下载成为android开发攻城狮们近一年多来痛.通过搜索发现这期间国内的镜像源多了起来,先分享两个 1.url访问tag:http://git.omapzoom.org/?p=platform/manifest.git;a=tags 2.是大清华的镜像源:http://mir...

aijian7468的博客 406

arcgis导出自身相交数据

今天接到一个客户需求,一份面文件,里面有好多元素是两两相交甚至是三个相交的,现在要把这些重叠部分提取出来,并且把相交部分的原始要素的名称也保留在字段中,也就是说名称这个会有好多个名称字段,如果两个要素相交那就是前两个名称字段有值,后面的为空,如果是三个要素相交,那么输出的这个要素就是前三个名称字段有值,后面的为空,嗯,这里也不太确定会出现多少个名称字段,这个需要依照数据来定。 这是原始数据,...

miaowumi92的博客 6787

Android 手机的高级终端 Termux 安装使用、busybox、安卓 手机 web

手机已经 root安装 tsu,这是一个 su 的 Termux 版本,是一个真正的 root 权限,用来在 Termux上替代su,操作不慎可能对手机有安全风险,因为官方封装了,所以安装也很简单:安装 tsu:pkg install tsu -y切换到 root:tsu退出 root:exittsu切换 root 用户时会弹出 root 授权提示,给予其 root 权限即可。在管理员身份下输入 exit 可回到普通用户身份。

freeking101的博客 10万+

树莓派通过TTL3.3转485 Modbus采集水表

所需道具 树莓派0,我用的是树莓派zero wh; 具有光电直读功能的有线水表,我用的是咸鱼淘的埃美柯LXSY-20E1; TTL3.3 转 485模块,带隔离的贵些; 5V转12V升压模块。 原理 树莓派有UART(GPIO14 Tx 和 GPIO15 Rx)串口通讯功能,电器特性是3.3V TTL,直读远传水表支持M-Bus/485通讯接口,我买的光电直读水表485要求12V供电(根据仪表厂家说明书)。TTL和485虽然都是串口通讯,但电器特性不一样,不能直接接!我已经烧掉一个树莓派...

xhydongda的博客 3441

CKA考试实战指南--从备考到通关的完整攻略

本文提供了一份全面的CKA考试实战指南,涵盖从备考规划、资源选择到高效练习环境搭建的全过程。重点解析了考试核心内容,特别是占分30%的故障排除难点,并分享了集群升级、etcd备份等高频考点的突破技巧与临场实战策略,帮助考生系统掌握Kubernetes实操技能,顺利通过认证。

weixin_28839549的博客 490

Android源码学习快捷手册

《Android源码学习快捷手册》摘要:本文提供了Android源码学习与调试的实用指南,包含6个核心操作模块:1) 源码编译与环境启动流程;2) 将源码导入AndroidStudio的方法;3) 通过logcat进行日志调试;4) Ubuntu下启动AndroidStudio;5) 查看设备进程及对应日志;6) Ubuntu磁盘空间扩展方案。重点介绍了make编译、idegen工具使用、adb调试命令等关键操作,并包含常见问题解决方法(如跳过jackserver错误、权限报错处理等)。全文采用命令行操作方

qq_52272419的博客 568

FoundationPose 4090部署 真实场景迁移

复现并应用foundationpose

m0_52835296的博客 613

Ubuntu 20.04 下用 easy-rsa 搭建可控私有 CA 实战指南

私有证书颁发机构(CA)是构建零信任网络与内网 HTTPS/mTLS 的基础设施核心,其本质是基于 X.509 标准的公钥基础设施(PKI)信任锚点。原理上依赖 OpenSSL 的密钥生成、CSR 签发与证书链验证机制,通过根证书分发实现客户端信任锚注册。技术价值在于摆脱对 Let’s Encrypt 或商业 CA 的公网依赖,满足离线环境、合规审计与深度定制需求。典型应用场景包括内网监控系统 HTTPS 化、微服务双向 TLS 认证、Android 抓包证书信任、IoT 设备固件签名等。本文聚焦 Ubun

368

Spark Catalog详解

旁边的实习生说:我想要用spark代码中对hive库中的内部表和外部表进行删除(包括数据),咋感觉网上搜了一圈都找不到解决方案啊,spark这么鸡肋吗?我:你应该静下心来好好把spark基础知识进行全面学习。实习生:难道spark有这功能,而我没有学习过?咋弄啊?我:学习一下Spark Catalog。实习生:啥是Catalog啊?Spark Catalog是Spark SQL中的一个元数据管理组件,它提供了一个集中化的存储和查询表、视图和函数的位置。

SunnyRivers 1814

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

i.MX 8DV平台Android 6.0系统构建与烧录全流程实战指南

在嵌入式系统开发中,交叉编译是连接通用软件与特定硬件平台的核心技术,它允许开发者在一种架构的计算机上生成另一种架构的可执行代码。其原理在于利用目标平台的工具链,将高级语言源码编译为适配目标处理器的二进制文件。这项技术的价值在于极大地提升了嵌入式软件开发的效率与灵活性,使得复杂的操作系统如Android能够被移植到各类定制化硬件上。其典型应用场景包括车载信息娱乐系统、工业控制面板等对图形交互和实时性有高要求的领域。本文以NXP i.MX 8DV高性能异构处理器为例,详细解析了从源码获取、环境配置、应用硬件适配

weixin_34050005的博客 462

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: android_源码目录结构
下一篇: 虚拟机上装不了ghost版的win7,提示nor find file win7.gho
杨鑫校
博客等级 码龄11年 24粉丝 113原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值