Android源码下载编译(高通)

article/2025/8/24 20:57:58

0 前言

    本文介绍如何下载高通平台的Android源码,然后进行编译。

    相关:《Android源码下载&编译(TI)》

1 安装工具

    下载Android源码需要git,repo等工具,启动repo是Google写的一个专门用于下载Android源码的工具,主要调用了git。

(1)安装git

sudo apt-get install git

(2)安装repo

    repo是Google写的一个Python脚本,用于管理多个git仓库,专用于Android源码下载。

    下载repo,改变可执行权限,然后移动到/usr/bin目录中即可:

chomd +x repo
sudo mv repo /usr/bin

2 下载Android

    由于Google被墙了,因此无法直接从Google官网下载Android源码,因此需要另觅途径,高通开源网是一个不错的选择。本文在其中下载支持高通msm8909平台的Android源码,Android版本为6.0.1,详细步骤如下:

mkdir android-msm8909
cd android-msn8909
repo init -u git://codeaurora.org/platform/manifest.git -b release -m LA.BR.1.2.6.c1-02100-8x09.0.xml
repo sync -j4

    a)源码大小有40GB,下载过程要几个小时;

    b)上述LA.BR.1.2.6.c1-02100-8x09.0.xml在高通开源网上查看:

3 编译Android

3.1 安装JDK

    通过《Android源码编译--jdk版本查询》的方法查看上述源码所需的JDK版本,得知需要安装OpenJDK-1.7:

sudo apt-get install openjdk-7-jdk

3.2 编译

1)进入android-msm8909目录:

cd android-msm8909
source build/envsetup.sh
lunch 27
make -j4
# or
make -j4 showcommands dist

  • -j4, 开启4个线程;
  • showcommands, 显示编译过程中执行的命令[38];
  • dist, 将编译后产生的发布文件拷贝到out/dist目录中[38];
  • lunch不加参数时,将会列出可选产品,本文选择27

3.3 编译结果

    编译完成后,生产的相关镜像在out/target/product的子目录中,例如:

    其中,linux内核编译结果保存在obj/KERNEL_OBJ目录中(Linux内核也一同被编译了,而无需另外独立编译!)。

4 编译sdk

    详见《Android源码编译SDK》。

5 编译内核

make bootimage

6 编译其它模块

    参考资料[37]总结了编译各个模块的方法:

make sdk - build the tools that are part of an SDK (adb, fastboot, etc.)
make snod - build the system image from the current software binaries
make services
make runtime
make droid - make droid is the normal build.
make all - make everything, whether it is included in the product definition or not
make clean - remove all built files (prepare for a new build). Same as rm -rf out/<configuration>/
make modules - shows a list of submodules that can be built (List of all LOCAL_MODULE definitions)
make <local_module> - make a specific module (note that this is not the same as directory name. It is the LOCAL_MODULE definition in the Android.mk file)
make clean-<local_module> - clean a specific module
make bootimage TARGET_PREBUILT_KERNEL=/path/to/bzImage - create a new boot image with custom bzImage

参考资料

[1]Ubuntu 下载 & 编译 Android5.1 源码

[2]国内镜像加速Android源码下载

[3]在Ubuntu系统中下载Android源码(5.1.1_r8)

[4]ubuntu repo准备和代码下载

[5]android系统源码下载

[6]下载android4.4.2源码全过程(附已下载的源码)

[7]android 4.4源码下载——百度云盘地址

[8]基于Ubuntu 14.04 LTS编译Android4.4.2源代码

[9]Qualcomm平台android开发总结

[10]高通android平台源码 (2011-03-28 10:56)

[11]在官网途径无法下载到android 源码时,,你可通过这种方式去下载

[12]高通平台android开发总结(7630)

[13]Android for MSM Project
[14]Qualcomm平台android开发总结

[15]高通平台android开发总结 MSM平台上的AMSS

[16] android源码下载(上)

[17]android源码下载(下)

[18]开源代码下载路径

[19]如何下载并编译Android4.0内核源码goldfish(图文)

[20]Android源码、内核编译

[21]如何下载Android kernel内核源代码,编译烧写验证

[22]编译Android系统源码和内核源码

[23]Android源码编译的全过程记录

[24]在Ubuntu 14.04系统中编译Android 5.1.1源码

[25]Android AOSP 5.1.0 & 5.0.1源代码百度云下载

[26]Android 6.0 源代码编译实践

[27]自己动手编译Android源码(超详细)

[28]Android学习系列(38)--Android源码下载和编译

[29]Android SDK 源代码编译

[30]编译时候 make和 make sdk有什么区别?

[31]android 如何制作自己的sdk

[32]Android 源码编译 make sdk ADT

[33]android编译SDK问题汇总

[34]如何在linux下编译windows版android sdk

[35]ubuntu12.04(64bit)编译android4.2.2源代码及SDK步骤

[36]Android_SDK编译,带自己api的android.jar编译

[37]Android Build System

[38]Android源代码编译命令m/mm/mmm/make分析


http://chatgpt.dhexx.cn/article/rhh3Pkfv.shtml

相关文章

Window下载Android源码

Android 10源码下载 想要研究Android 源码的同学可以用此方法进行下载。源码从清华大学开源软件镜像站&#xff08;https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/&#xff09;下载。 使用Linux的同学直接参照清华镜像站提供的使用帮助(https://mirrors.tuna.tsinghua.edu…

下载安卓源码

安卓内核源码下载教程 准备环境如何选择你想要下载的版本ubuntu环境配置 准备环境 Ubuntu 18.04 安装 最好是用这个版本或者高于这个版本的,低版本的有一些环境问题可能会让你很难受我使用的是VMware Workstation 16 ProPixel 3 XL、Pixel 3、Pixel 2 XL、Pixel 2、Pixel XL、…

Android13源码下载及全编译流程

一、源码下载 1.1、配置要求 官方推荐配置请参考&#xff1a;https://source.android.google.cn/docs/setup/start/requirements?hlzh-cn&#xff0c;重点有如下几项&#xff1a; 1.1.1、硬件配置要求 1、内存至少 16GB&#xff0c;实测建议至少 32G。 2、磁盘至少 250GB&am…

Java 工厂设计模式

简介 工厂设计模式在java中有大量的应用&#xff0c;如spring框架&#xff0c;这种类型的设计模式属于创建型模式。在工厂设计模式中&#xff0c;创建逻辑不会对客户端暴露&#xff0c;可以通过一个对外接口创建所需对象。 工厂模式使用场景 需要频繁创建对象且这些对象多处…

简单工厂设计模式

简单工厂设计模式 刚开始学设计模式,犹如刚睁开眼看世界的孩子,满眼都是惊奇,原来代码的世界可以如此的精彩纷呈.当然这些都是前辈智慧的结晶.简单工厂设计模式是接触的第一个设计模式,看完后更多的是不懂和迷糊.不过相信慢慢会懂得其精髓的. 简单工厂设计模式是创建型(就是把对…

Java工厂设计模式详解

前言 工厂设计模式在开发过程中有大量的运用&#xff0c;不管是spring框架&#xff0c;还是诸多的中间件&#xff0c;都有着工厂设计模式的体现 比如&#xff0c;手机生产工厂&#xff0c;当提供了相关生产手机的原材料&#xff0c;工厂就可以按要求生产出手机 工厂模式介绍 …

Android工厂设计模式(简单工厂,工厂方法,抽象工厂,BitmapFactory简单工厂分析,Retrofit抽象工厂分析)

文章目录 创建型设计模式(简单工厂&#xff0c;工厂方法&#xff0c;抽象工厂)一.简单工厂模式引出简单工厂模式 二.工厂方法模式三.抽象工厂模式 Android源码中用到的工厂模式举例一.BitmapFactory 源码工厂模式详解(简单工厂)二.Retrofit的工厂模式(抽象工厂) 创建型设计模式…

工厂设计模式有什么用?

工厂方法是非常古老且常用的设计模式。原因主要是一个系统要运转起来一定会涉及到对象的实例化过程&#xff0c;如果对象的实例化分散在各种逻辑代码之间&#xff0c;那么就会非常零乱、难以维护&#xff0c;bug自然也多。 工厂方法的出现解决的就是对象创建的问题&#xff0c…

Java中的工厂设计模式

引出工厂模式 package www.java.test;interface Computer{void printComputer(); } class MacbookPro implements Computer{Overridepublic void printComputer() {System.out.println("This is a MacbookPro");} } class SurfaceBook implements Computer{Override…

Java工厂设计模式

工厂设计模式 一、面向对象的设计原则1.1 OCP&#xff08;开闭原则&#xff0c;Open-Closed Principle&#xff09;1.2 DIP&#xff08;依赖倒转原则&#xff0c;Dependence Inversion Principle&#xff09;1.3 LOD&#xff08;迪米特法则&#xff0c;Law Of Demeter&#xff…

设计模式—工厂设计模式

工厂设计模式 1.概述2.简单工厂模式2.1 结构2.2 实现2.3 优缺点2.4 扩展 3.工厂方法模式3.1 概述3.2 结构3.3 实现3.4 优缺点 4.抽象工厂模式4.1 概述4.2 结构4.3 实现4.4 优缺点4.5 应用场景 5.扩展模式5.1 第一步&#xff1a;定义配置文件5.2 改写工厂类 6.JDK源码解析—Coll…

工厂设计模式 - 详解

介绍 工厂模式是Java中最常用的设计模式之一&#xff0c;这种类型的设计模式数据创建型模式。 主要就是负责创建对象的&#xff0c;当我们使用new创建对象的时候会导致对该对象的耦合性很严重&#xff0c;当我们需要修改的时候需要对所有new的对象进行修改&#xff0c;违反了软…

【iOS】—— 工厂设计模式

工厂设计模式 文章目录 工厂设计模式设计模式概念设计模式七大准则开闭原则单⼀职责原则里氏替换原则依赖倒转原则接口隔离原则迪米特法则合成复用原则 类族模式简单工厂模式优点缺点主要作用示例文件分类实现效果&#xff1a; 工厂方法模式优点缺点主要作用&#xff1a;示例&a…

【设计模式】工厂模式(Factory Pattern)

1. 概述 工厂模式&#xff08;Factory Pattern&#xff09;是最常用的设计模式之一&#xff0c;它属于创建类型的设计模式。它提供了一种创建对象的最佳方式&#xff0c;在工厂模式中&#xff0c;我们在创建对象时不会对客户端暴露创建逻辑&#xff0c;并且是通过一个共同的接…

设计模式之工厂模式,史上最强,不服来辩!

设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结&#xff0c;如果设计模式没学会&#xff0c;抽象能力肯定就不会太强。常见的设计模式有 23 种&#xff0c;今天我们只聊最简单的工厂模式。 工厂模式是属于创建型模式的&#xff0c;通过工厂获取一个一个的新对象。…

工厂设计模式

1、概念 工厂模式分三种&#xff1a;简单工厂模式、工厂方法模式、抽象工厂模式 简单工厂模式(Simple Factory Pattern)&#xff1a;属于类的创新型模式&#xff0c;又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例&#xf…

设计模式之工厂模式(factory pattern)

工厂顾名思义就是创建产品,根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。本文从一个具体的例子逐步深入分析,来体会三种工厂模式的应用场景和…

sqlserver2008的SSMS连接sqlserver2016的时候提示‘索引超出了数组界限。’

解决&#xff1a;打sp3补丁。 http://www.microsoft.com/en-us/download/details.aspx?id44271

Matlab报错 :“位置 x 处的索引超出数组边界”

经常遇到“位置 x 索引超出数组边界”的报错&#xff0c;今天突然想到一个以前一直没有太留意的奇葩问题&#xff1a;这个报错里“位置x”指的是哪里&#xff1f;为什么一会是“位置3”&#xff0c;一会是“位置1”&#xff0c;有什么神秘的规矩吗&#xff1f; 善用搜索没发现…

.net reflector 反编译失败 索引超出了数组界限问题处理方法

.net reflector 反编译失败 索引超出了数组界限问题处理方法 时间&#xff1a;9个月前 作者&#xff1a;庞顺龙 浏览&#xff1a;177 [站内原创&#xff0c;转载请注明出处] 标签&#xff1a; Reflector .net reflector 反编译失败 索引超出了数组界限问题处理方法 de…