android源码编译

Azkaban 3.x 编译及部署

匿名 (未验证) 提交于 2019-12-02 23:57:01
Azkaban 在 3.0 版本之后就不提供对应的安装包,需要自己下载源码进行编译。 下载所需版本的源码,Azkaban 的源码托管在 GitHub 上,地址为 https://github.com/azkaban/azkaban 。可以使用 git clone 的方式获取源码,也可以使用 wget 直接下载对应 release 版本的 tar.gz 文件,这里我采用第二种方式: # 下载 wget https://github.com/azkaban/azkaban/archive/3.70.0.tar.gz # 解压 tar -zxvf azkaban-3.70.0.tar.gz 1. JDK Azkaban 编译依赖 JDK 1.8+ ,JDK 安装方式见本仓库: 2. Gradle Azkaban 3.70.0 编译需要依赖 gradle-4.6-all.zip 。Gradle 是一个项目自动化构建开源工具,类似于 Maven,但由于采用 Groovy 语言进行项目配置,所以比 Maven 更为灵活,目前广泛用于 Android 开发、Spring 项目的构建。 需要注意的是不同版本的 Azkaban 依赖 Gradle 版本不同,可以在解压后的 /gradle/wrapper/gradle-wrapper.properties 文件查看

Android8.1源码编译实践(Mac)

匿名 (未验证) 提交于 2019-12-02 23:47:01
AOSP版本选择很重要,如果选错了,会造成编译失败等各种问题,编译AOSP对Xcode的版本是有要求的; 比如:AOSP6.0-7.0,要求Xcode的版本是8.3,然而在MacOS 10.14上面是不支持Xcode8.3的这就很尴尬; 由于现在大家的Mac环境基本是更新到最新的10.14了,所以这里推荐大家选择android-8.1.0_r1。 编译环境: OS: macOS Mojave 10.14.4 JDK: 1.8.0_144 Xcode: 10.2.1 XcodeSDK: 10.11 AOSP: android-8.1.0_r15 Git: 2.21.0 由于Mac OS的文件系统默认是不区分大小写的,Git 并不支持此类文件系统,而且此类文件系统会导致某些 Git 命令(例如 git status)的行为出现异常,所以我们需要在区分大小写的文件系统中对 AOSP 源文件进行操作。 通过 shell 使用以下命令创建磁盘映像: # hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 150g ~/android.dmg 这里设置分配150g的大小,这将创建一个 .dmg(也可能是 .dmg.sparseimage)文件,该文件在装载后可用作具有 Android 开发所需格式的存储卷。

编译Linux内核 4.13

匿名 (未验证) 提交于 2019-12-02 21:59:42
环境Ubuntu16.04 下载内核 ~$ apt search linux-source ~$ sudo apt-get install linux-source-4.13.0(会下载到/usr/src/目录下) 解压 linux-source-4.13.0.tar.bz2 tar xjvf linux-source-4.13.0.tar.bz2 进入解压后的目录: 开始编译 make menuconfig (图形化界面配置) make clean 清除内核编译的目标文件 编译内核 若出现scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h错误 sudo apt -get install libssl -dev 我是在x86_64的目录下找到了该镜像文件linux-source-4.13.0/arch/x86_64/boot/bzImage 如果用户在配置内核时设置了可加载模块,则需要对这些模块进行编译,以便将来使用insmod命令进行加载。 其实我们上面编译的Android源码他的内核源码Google已经编译好了 make modelus_install 安装模块 文章来源: 编译Linux内核 4.13

itop4412开发板-Linux内核的编译

匿名 (未验证) 提交于 2019-12-02 21:56:30
本篇文章基于itop4412开发板 Linux 内核源码在光盘“06_源码_uboot 和 kernel”目录下,如下图所示。 5.3.2.2 编译器 内核的编译器和 uboot 的编译器一样,参考“5.3.1.2 编译器”。 5.3.2.3 参数配置 内核的编译是组合式配置文件,基本的配置文件名是“config_for_android_YY_elite”, YY 表示用下表所示的参数替代。 5.3.2.4 编译生成内核镜像举例 这里以 SCP 1G 核心板为例编译 zImage 内核镜像,那么配置文件为 “config_for_android_scp_elite”。 将光盘“06_源码_uboot 和 kernel”目录下的压缩包 “iTop4412_Kernel_3.0_xxx.tar.gz”拷贝到 Ubuntu,然后解压,得到文件夹 “iTop4412_Kernel_3.0 ”,如下图所示。 进入文件夹“iTop4412_Kernel_3.0 ”,使用命令 “cp config_for_android_scp_elite .config”覆盖自带的配置文件,如下图所示。 如果用户要使用 5 寸屏幕,先要参考用户手册“5.5 支持 5 寸屏的内核补丁文件”,给内 核打补丁,然后使用命令“vim .config”,在文件中搜索关键词 “CONFIG_TOUCHSCREEN

ubuntu下编译vlc-android源代码

旧时模样 提交于 2019-12-02 19:33:17
一、安装所有必需的软件 1, # sudo apt-get install ant autoconf automake autopoint libtoo lgawk gcc g++pkg-config cmake patch subversion git Ant工具在最后编译android源码生成apk文件会用到,所以需要安装。如果手动安装了ant,需要在环境变量中配置好ant的 path,或者在进行编译之前在命令行执行export PATH=$PATH:/xxx/ant/bin,保证可以在执行编译的命令行中执行ant命令即可。 2, 除了以上软件/工具之外,还有两个必须的工具,就是Android的SDK和NDK。SDK和NDK的安装方法就不再详述了,网上有很多安装方法的文章。 二、环境变量配置 配置ANDROID_SDK # export ANDROID_SDK=/path/to/android-sdk(请把path改为自己的路径) 配置ANDROID_NDK # export ANDROID_NDK=/path/to/android-ndk 配置PATH变量 # export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools 配置NEON相关信息(一般编译的时候,会编译NO_NEON和支持NEON两种包出来) #

Android 之 JNI 开发 详解

自古美人都是妖i 提交于 2019-12-02 18:50:16
NDK项目源码地址 : -- 第一个JNI示例程序下载 : GitHub - https://github.com/han1202012/NDKHelloworld.git 一. JNI介绍 1. JNI引入 JNI概念 : Java本地接口, Java Native Interface , 它是一个 协议 , 该协议用来沟通Java代码和外部的本地C/C++代码, 通过该协议 Java代码可以调用外部的本地代码, 外部的C/C++ 代码可以调用Java代码; C和Java的侧重 : -- C语言 : C语言中最重要的是 函数 function; -- Java语言 : Java中最重要的是 JVM, class类, 以及class中的方法; C与Java如何交流 : -- JNI规范 : C语言与Java语言交流需要一个适配器, 中间件, 即 JNI, JNI提供了一种规范; -- C语言中调用Java方法 : 可以让我们在C代码中找到Java代码class中的方法, 并且调用该方法; -- Java语言中调用C语言方法 : 同时也可以在Java代码中, 将一个C语言的方法映射到Java的某个方法上; -- JNI桥梁作用 : JNI提供了一个桥梁, 打通了C语言和Java语言之间的障碍; 2. Android中的应用程序框架 正常情况下的Android框架 : 最 顶层 是

为nexus5编译ubuntu14.04TLSx64(android4.4.4 r1+kernel)

谁说胖子不能爱 提交于 2019-12-01 00:04:28
vmware经过3天的编译终于编译完安卓4.4的源码,整个过程并不顺利,因此记录下编译过程。 编译环境搭建: vmware 10.01 一、Ubuntu 14.04 TLS 64位 硬盘:80G 如果编译过程中遇到硬盘空间不够可以执行以下步骤: 1、$ vmware安装目录/vmware-vdiskmanager -x 80Gb "D:\VMware\WinXP\myUbuntu.vmdk" 2、vmware启动gparted-live-0.22.0-2-i586.iso进行分区扩容,详细请百度 内存:8G 依赖库: 1、添加ia32依赖库 $ sudo apt-get update $ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6 2、添加google建议依赖包 $ apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-d ev:i386 zip 安装jdk,官方建议openjdk7但是编译时提示错误后来卸载后装的oracle jdk6 python建议2.3-2.7,查看版本 $ python -version 添加ubuntu交换区

[深入理解Android卷一全文-第一章]阅读前的准备工作

给你一囗甜甜゛ 提交于 2019-11-30 21:52:58
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在OSC博客中全文转发这两本书的全部内容。 第一章 阅读前的准备工作 本章主要内容 本章简单介绍Android系统架构、编译环境的搭建以及一些工具的使用。 1.1 系统架构 1.1.1 Android系统架构 Android是Google公司推出的一款手机开发平台。该平台本身是基于Linux内核的,图1-1展示了这个系统的架构: 图1-1 Android系统架构 从上图中可以看出,Android系统大体可分为四层,从下往上依次是: Linux内核层,目前Android2.2(代号为Froyo)基于Linux内核2.6版本。 Libraries层,这一层提供动态库(也叫共享库)、Android运行时库、Dalvik虚拟机等。从编程语言上来说,这一层大部分都是用C或C++写的,所以也可以简单地把它看成是Native层。 Libraries层之上是Framework层,这一层大部分用Java语言编写。它是Android平台上Java世界的基石。 Framework层之上就是Applications层了,和用户直接交互的就是这些应用程序,它们都是用Java开发的。 从上面的介绍可看出,Android最大的特点之一

Mac OS X 10.8.4下Android4.2.2源码下载与编译

旧时模样 提交于 2019-11-30 20:13:31
参考 博文 http://blog.csdn.net/yangblocker/article/details/9673097 一、环境配置 电脑: MacBook Pro 2.5GHz Intel Core i5 内存:4GB 1600 MHz DDR3 OS: Snow Leopard 10.8.4 XCode: 4.6.4 JDK:1.6 这个必须是1.6版本。如果是1.7的话要另外安装1.6版本,并设置为默认版本,不会的我稍后介绍方法。 二、设置Mac OS X的编译环境 基本的参照官网 Setting up a Mac OS X build environment 。 这里特别要强调一下Android源代码必须在大小写敏感的文件系统下编译,而Mac OS默认不是大小写敏感的,因此需要创建 一个大小 写敏感的磁盘镜像文件。具体方法有两种:一种是用命令创建,还有一种就是用系统自带的磁盘管理工具。 命令方法:用hdiutil create命令,我尝试过,但失败了,有谁知道麻烦告诉我下。 磁盘工具: 进入应用程序/实用工具/磁盘工具,选择文件->新建->新建空白映像 点击创建,ok,创建好了。磁盘镜像文件保存在当前用户根目录下,我的是在/ywen目录下。我们需要其将挂载到某个目录下面, 在终端进入创建的磁盘镜像文件目录,输入 hdiutil attach ~/android.dmg

Android 开发 及 编译系统

折月煮酒 提交于 2019-11-30 19:55:27
一、Android 的开发分为三个类型 移植开发移动设备系统;android 系统级开发;应用程序 可以把android 分为四个层次,从底层往上依次为: linux 内核、C/C++ 库、java 框架和java 应用程序 。 1、 移植开发移动设备 :涉及到linux 内核(包括其驱动) 2、 Android 系统级开发 : 涉及到C/C++库的开发及给上层java 框架; 指的是扩展android 的框架或者是修改bug,这方面比较少,除非有些开发移动设备的厂商,比如做gps,可以往里面加入一些自己的特定系统东西,这可能导致一些不兼容。当然也可能是简单的修复bug。 3、 A ndroid 应用程序开发 就是调用java 的框架写应用程序 ,这应该是比较主流的开发,也就是给android 系统写应用程序。 简单的从上到下,android 应用程序需要有java 框架支持,比如它要发送短信,就需要java框架,java 框架其实就是将C/C++库包装成为了一个JNI,而实现具体的功能是C/C++库最后驱动硬件完成功能,这也就是linux 内核部分。 二、开发工作入门 根据上面所述,android 开发就分为基于sdk 开发和源代码开发。 1、SDK 开发,主要是应用程序开发。 2、源代码的开发,涉及到的知识有linux 操作系统基础知识、android 底层库等知识。 三