导航:首页 > 源码编译 > aosp编译版本

aosp编译版本

发布时间:2022-12-17 00:59:41

android Studio 3.5导入AOSP编译的classes.jar

一、适用场景

    我们在写应用时可能会需要调用系统隐藏的API,这些API是我们无法直接访问的,报如下错误:

 此时,我们需要将系统AOSP的out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar导入到Android Studio中,使app能够访问这些接口。

二、实现步骤

Step1 . 在app目录下建立libs文件夹,并将classes.jar包放入该路径

Step2 .在app目录上右键【Open Mole Settings】,点击左侧【Dependencies】,选择app,点击【+】选择【2 Jar Dependency】,添加

选择我们的libs/classes.jar,点击【OK】

Step3 .在Mole的build.gradle中,dependencies自动增加依赖配置,注释掉下面一行

implementation fileTree(dir: 'libs', include: ['*.jar'])  

并将implementation files('libs/classes.jar')改为

compileOnly files('libs/classes.jar')

最终如下图所示

Step4 .修改Project的build.gradle,在allProjects中增加如下语句

    gradle.projectsEvaluated {

        tasks.withType(JavaCompile) {

            options.compilerArgs.add('-Xbootclasspath/p:app\\libs\\classes.jar')

        }

    }

Step5 .修改jar包优先级,在Moels的app.iml文件中找到我们的classes.jar包所在行,

<orderEntry type="library" name="Gradle: __local_aars__:/Users/mrwong/AndroidStudioProjects/uart_daemon/app/libs/classes.jar:unspecified@jar" level="project" />

将其移动到

<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />

这一行之上,最终如下图所示:

至此,app可以优先访问我们自己的jar包 。

❷ 鸿蒙抄袭安卓看这一篇就够了



01


什么是 AOSP ?


很多人都说鸿蒙是 AOSP 套壳,那么我们首先得明白什么是 AOSP?

AOSP 是"Android Open Source Project"的缩写,中文意为"安卓开放源代码项目", AOSP 是基于 linux 开的。

AOSP 是由谷歌主导的一个开源项目,通过 AOSP 可以编译出一个比较纯净的,可以用于智能设备的操作系统。

而 Android,尤其是首字母 A 大写的时候,是属于谷歌的一个商标,不属于 AOSP 所有,未经允许不能随意在商业产品中使用。

Android 系统是开源的 AOSP 和额外的闭源部分(其中包括 GMS )的组合而成,所以可以认为 Android=AOSP+GMS 。

网友有一个通俗的比喻: AOSP 是个毛坯房,Android 是个精装房

由于 AOSP 是开源的,一些第三方机构就可以以 AOSP 为基础,做出自己的改进,并对不同机型适配,然后自己取一个名字。

比如小米的 MIUI、华为的 EMUI、或者魅族的 Flyme。

02

什么是鸿蒙?

鸿蒙是一个面向全场景的分布式操作系统,蒙是基于微内核的全场景分布式操作系统,目前华为已经将鸿蒙捐献给了 开放原子开源基金会

有人说鸿蒙是基于 2012 年华为的 LiteOS 开发而来,LiteOS 是轻量级物联网操作系统,目前也以及完全开源。

从客观上来讲,鸿蒙肯定借鉴了 LiteOS 开发中所积累的经验,所以 华为鸿蒙OS 算是 LiteOS 的一个发展产物 ,但它们是两款完全不同的操作系统。

这里还需要和大家明确,区分一个概念,说实话如果不是为了给大家写这篇文章,查了很多资料,不然我也混淆的。

Openharmony 和 HarmonyOS(鸿蒙操作系统) 是两个完全不同的概念!

HarmonyOS 是华为研发的面向万物互联时代的全新的、独立的智能终端操作系统,为不同设备的智能化、互联与协同提供统一的语言。

华为把 HarmonyOS 中基础功能提取出来,打包成功一个项目叫做:Openharmony ,把 Openharmony 捐献给原子开源基金会。

华为这次发布的 HarmonyOS 2 是华为基于开源项目 OpenHarmony 2.0 开发的面向多种全场景智能设备的商用版本。

OpenHarmony 是华为主要贡献的,不属于华为,属于开源组织;而 HarmonyOS 是华为的商业系统,属于华为拥有。

03

国产厂商为什么不跟进?

大家如果明白上面这两个概念的区别之后,就应该很容易明白,为什么国内厂商没有跟进鸿蒙?

上面说的有点绕,做一个简单的比喻大家应该就明白了:

HarmonyOS 2 = Openharmony 2 + 华为的 EMUI + 兼容安卓部分

根据这个公式,我们可以回答好几个问题:

1、Openharmony 是不兼容安卓的,也没有什么 AOSP 的事情,是一个纯正、独立的开源操作系统。

2、 HarmonyOS 2 是不开源的,是华为基于 Openharmony 2 开发的一个商业版本。

为了兼容安卓应用,必定使用了一些 AOSP 的内容,同时华为是不可能将 EMUI 开放给同行的,所以同行厂商没办法直接使用 HarmonyOS 2

3、如果让国内同行都兼容鸿蒙的话,他们需要做的工作是:基于 Openharmony 2 开发自己的 UI。

比如 MIUI + 兼容以前应用,工作量巨大,可能不是一时半会就可以搞定,同时他们还需要考虑谷歌在国外对他们制裁的风险。

可以套用上面的比如: Openharmony 2 是个毛坯房,而 HarmonyOS 2 是个精装房。

而小米OV等厂商要使用鸿蒙,至少需要他们自己来装修吧,全部用 HarmonyOS 2 ,大家体验完全一致没有差异化,也没有什么意思。

并且,小米OV他们肯定也不会放弃自己的 MUUI、Flyme,因为这是他们的核心竞争力和收入来源呀。

说实话,现在硬要小米、VIVO、OPPO等支持鸿蒙,也有一点强人所难,可能需要有一个过程慢慢来准备吧。



❸ CnetOS编译AOSP不明原因失败

ROOT获得最高权限是删除这些应用的唯一途径 实际手动操作的流程非常复杂,并且有版本限制 我推荐你款不错的手机ROOT工具吧, 我一直都是在用的,很不错 使用应用宝获取手机root权限在工具 选项里找到一键ROOT即可或者KINGROOT也行。

❹ aosp系统怎么样

AOSP 全名为 Android Open-Source Project,中文为安卓开源项目,开源即开放源代码!Android 是一个基于 Linux 的、由 Google 主导的开源系统。严格意义上来说,Android=AOSP+GMS,那么这个GMS又是什么呢?GMS 全名为 Google Mobile Service,即谷歌移动服务,也就是我们常刷的谷歌服务包。由于你懂的原因,国内无法使用 GMS,所以国内的各种定制 ROM 都是 AOSP 的定制修改加上自家的云服务,比如 MIUI、ColorOS 等!所以,所有的 ROM 最终的根源就是 AOSP,没有AOSP,也就没有现在的 Androi关于 CM,全名为 CyanogenMod,全球最大的第三方 ROM 编译团队。CM 是基于 AOSP 进行二次开发,在 AOSP 的基础上添加功能、适配更多机型、编写众多机型的内核和驱动!CM 是在底层多 AOSP 进行改进,并且遵循 Android 设计规范,所以 UI 与交互方面,与 AOSP 保持一致,所以很多人说的CM的UI应该

❺ Android在Ubuntu下编译完整aosp需要多少硬盘空间

6.0以后的AOSP我没编译过,不太了解需要多大空间。
不过5.1.1我倒是编过,你可以参考一下:mac编译aosp的配置需求? - 知乎用户的回答
编译完了,大概占用了60G,6.0可能会更大一些。
像你列举的250G等容量的硬盘,用来编AOSP,容量上是绰绰有余的。其实如果经济上允许,推荐你选择一个SSD,对于编译速度的提升,效果显着。

❻ 自己可以编译安卓源码

用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:

sudo apt-get install git git config –global user.email “[email protected]” git config –global user.name “test”

其中[email protected]为你自己的邮箱.

简要说明

android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述.

源码下载

由于某墙的原因,这里我们采用国内的镜像源进行下载.
目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.(参考:科大源,清华源)

repo工具下载及安装

通过执行以下命令实现repo工具的下载和安装

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

补充说明
这里,我来简单的介绍下repo工具,我们知道AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理.在聊repo工具之前,我先带你来聊聊多仓库项目:

我们有个非常庞大的项目Pre,该项目由很多个子项目R1,R2,...Rn等组成,为了方便管理和协同开发,我们为每个子项目创立自己的仓库,整个项目的结构如下:


这里写图片描述

执行完该命令后,再使用make命令继续编译.某些情况下,当你执行jack-admin kill-server时可能提示你命令不存在,此时去你去out/host/linux-x86/bin/目录下会发现不存在jack-admin文件.如果我是你,我就会重新repo sync下,然后从头来过.

错误三:使用emulator时,虚拟机停在黑屏界面,点击无任何响应.此时,可能是kerner内核问题,解决方法如下:
执行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通过使用kernel-qemu-armv7内核 解决模拟器等待黑屏问题.而-partition-size 1024 则是解决警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一开始编译的版本是aosp_arm-eng,使用上述命令仍然不能解决等待黑屏问题时,不妨编译aosp_arm64-eng试试.

    结束吧

    到现在为止,你已经了解了整个android编译的流程.除此之外,我也简单的说明android源码的多仓库管理机制.下面,不妨自己动手尝试一下.

    ❼ Android AOSP代码与编译服务器系统时间有关系吗

    起因:aosp由许多项目组成,android4.2就有329个project,每个项目都是一个独立的git仓库。
    Repo:创建一个aosp分支来做feature开发就需要每一个子项目创建对应的分支,手动创建很费力,所以有了Repo,自动化处理。Repoz自动化体现在创建分支,查看分支状态,提交代码,更新代码。
    Repo实际由Python脚本组成,Python脚本通过调用Git完成自己的功能。组成Repo工具的Python脚本本身也是一个Git仓库。这个Git仓库在aosp里面,焦作Repo仓库。每次执行Repo命令的时候了,Repo就进行一次更新。
    Manifest仓库:Repo是用来自动化处理aosp子项目的仓库的,子项目名称,仓库地址,aosp又是不断迭代变化的,每个版本子项目都不一样,就需要另外一个仓库来管理aosp所有子项目的仓库元信息。就是Manifest仓库
    Repo脚本:

    阅读全文

    与aosp编译版本相关的资料

    热点内容
    交易平台小程序源码下载 浏览:146
    程序员记笔记用什么app免费的 浏览:644
    java与单片机 浏览:893
    服务器内网如何通过公网映射 浏览:476
    程序员穿越到宋代 浏览:622
    怎么使用云服务器挂游戏 浏览:616
    真实的幸福pdf 浏览:342
    d盘php调用c盘的mysql 浏览:264
    怎么样搭建源码网站 浏览:427
    新概念四册pdf 浏览:361
    怎么下载悦虎检测app 浏览:528
    cad表达式命令 浏览:198
    程序员去一个小公司值不值得 浏览:846
    程序员做个程序多少钱 浏览:495
    win10原始解压软件 浏览:319
    阿里程序员的老家 浏览:258
    量子加密银行 浏览:193
    命令方块获得指令手机 浏览:499
    学习结束感言简短程序员 浏览:398
    android关机闹钟实现 浏览:968