android4.4 源码 编译-史上最简单的Android源码编译环境搭建方法

从历史上看,Android源码编译环境的搭建仍然是一件麻烦的事情。 网上介绍如何编译Android源码的文章不计其数,要么方法复杂android4.4 源码 编译,步骤太多;要么方法复杂,步骤太多。 责备。 有的童鞋硬着头皮做了,结果因为伟大的GFW,大部分都死在了第一步——repo脚本下载不了,即使下载也过不了gerrit关卡。 另外,即使你有能力访问国外网站,下载时间也成为了绊脚石; 普通的V***通常需要七八个小时才能下载,这简直太痛苦了。 久而久之,很多人都在感叹Android源码的下载和编译。

明天我将为大家提供一个非常简单稳定的方案来解决Android源码下载编译的问题。

首先,可以通过镜像来解决下载问题; 北大镜像和交大镜像都是非常好的选择。 一般情况下,一个Android源码分支在一到两个小时内就可以下载完毕。

android4.4 源码 编译-史上最简单的Android源码编译环境搭建方法

然后就是编译环境的问题。 由于Android源码庞大,依赖关系复杂; 一旦使用的编译工具链略有不同,编译可能会失败。 官方文档推荐使用Ubuntu 14.04进行编译。 如果我们使用Windows或者Mac系统,传统的方法是使用虚拟机; 明天,我们可以使用 Docker 来代替! ! 使用Docker,我们不用担心编译环境问题; 无论我们的开发机是什么系统,我们都可以使用Docker创建UbuntuImage,直接创建在这个Ubuntu系统环境下编译所需的工具链(JDK、ubuntu系统依赖库等)。 ETC。); 而且Ubuntu运行在Docker上的系统开销比虚拟机低很多,使得下载和编译速度都有质的提升。 更重要的是,这个环境可以打包并作为Image分发! 这样,你在不同的开发机器之间、你和你的朋友之间就拥有了相同的编译环境,这会省去很多不必要的麻烦。关于Docker的更多信息,请参见Docker官网

事实上,这个伟大的壮举不是我完成的,而是 kylemanna/docker-aosp 完成的! 我对Docker和天朝的网络环境做了一些修改,并fork了一份tiann/docker-aosp。

废话不多说,我们来看看如何使用以及简单的使用方法。

android4.4 源码 编译-史上最简单的Android源码编译环境搭建方法

使用以下步骤安装 Docker

Docker的下载地址参见Docker下载; 下载后,安装。

计划工作

如果您不是Mac系统,可以直接跳过此步骤。

Mac的文件系统默认不区分大小写,不符合Android源码编译系统的要求(编译时直接Error); 因此,需要单独创建区分大小写的c盘镜像。 请按如下方式进行:

打开Mac系统软件:c盘工具CMD+N,新建一个c盘镜像,参数设置如右图:

android4.4 源码 编译-史上最简单的Android源码编译环境搭建方法

其中,C盘大小设置为50~100G为宜,格式选择时一定要区分大小写标记。

开始下载并编译

android4.4 源码 编译-史上最简单的Android源码编译环境搭建方法

实际的下载和编译过程非常简单,脚本将手动完成; 步骤如下:

设置Android源码下载和存放的目录; 如果是Mac系统,这一步必须设置目录区分大小写; 否则后面编译时会失败。 如果不设置这一步,源码会下载到~/aosp-root目录下; 设置过程如下:exportAOSP_VOL=/Volume/Android/下载包装脚本; 如果需要下载其他系统版本android4.4 源码 编译,下载后直接更改build-nougat。 sh文件的android-4.4.4_r2.0.1改为你需要的分支即可。 有关分支信息,请参阅curl -O 运行脚本并开始手动下载和安装过程; Windows系统可以使用BashforWindows或cygwin。 bash ./build-nougat.sh

这样,所有的工作就完成了。 静静地等待; 时间要看下载速率,北大的图率还不错。 作者在不到2个小时的时间内完成了下载和编译过程。

三步即可完成,是不是非常简单? 快速下载、编译、安装你的Android系统^_^

博客:

Mintimate的博客,仅供分享给大家

nginx

“Nginx 是一个轻量级的 HTTP 服务器nginx源码编译,采用风暴驱动的异步非阻塞处理方法框架,这使得它具有优异的 IO 性能,常用于服务器端反向代理和负载均衡。”

优势

Nginx的优点,相信大家基本都知道,这里有一些:

环境计划

本次Nginx的安装是安装在Debian发行版的Linux上。 如果是CentOS发行版本的Linux,则需要注意:

推荐服务器可以选择腾讯云轻量级应用服务器:

另外,如果你觉得本文的安装方法技术性太强。 当然,你也可以尝试宝塔面板的一键操作。

dpkg 安装 nginx

Debian 使用 apt-get 作为包管理器,因此我们可以直接使用 apt-get 安装 dpkg,从而安装 Nginx:

sudo apt-get install nginx

复制

安装完成后,输入whereisnginx可以查看Nginx的安装位置,其中nginx.conf是Nginx的配置文件。

这种方法简单、速度非常快,而且好处显着:

Docker 安装 Nginx

Nginx的Docker安装似乎和dpkg安装类似,安装Docker时:

# 查找Nginx
docker search nginx

复制

使用命令拉取镜像到本地

docker pull nginx

复制

然后,检查图像 ID:

docker images nginx

复制

根据ID,创建Docker容器并完成80端口的映射:

docker run -d --name myNginx -p 80:80 d1a

复制

此时浏览器可以登录看到Nginx页面:

至于更改镜像,我个人建议在Linux上挂载Docker镜像来进行更改。

总的来说,我认为Docker安装的Nginx的配置与dpkg安装的Nginx的配置类似。

自动编译安装Nginx

自动编译安装Nginx比较复杂,通常用得最多。 原因:

现在我们来解释一下如何编译和安装Nginx。

在此之前,首先确保软件包是最新的:

sudo apt-get update

复制

环境计划

编译Nginx需要gcc+环境支持,build-essential包含gcc+套件,所以我们可以安装build-essential:

sudo apt-get install build-essential

复制

Tips________:也可以自己编译gcc+

由于nginx.conf中使用了正则表达式,因此在编译Nginx时需要将PCRE库编译到Nginx中,而PCRE库是在Debian中安装的,可以这样安装:

sudo apt-get install libpcre3 libpcre3-dev

复制

热的时候,Nginx编译过程和Http对应过程也需要gzip格式压缩,所以我们还需要安装zlib库来将HTTP包的内容压缩为gzip格式,可以这样安装:

sudo apt-get install zlib1g-dev

复制

最后,现在SSL合约非常重要,Chrome等主流浏览器已经开始默认HTTPS,所以OpenSSL编译环境也非常重要:

sudo apt-get install openssl libssl-dev

复制

另外,如果不想安装OpenSSL,或者想指定第三方OpenSSL进行编译,可以在编译Nginx时添加一个编译参数: --with-openssl

下载Nginx源代码

然后,我们下载并解压Nginx的源码,Nginx源码下载官方地址:

对于开发环境nginx源码编译,我们使用最新稳定版本的Nginx:

# 下载Nginx 1.20.1源码(Stable稳定版本)
wget "http://nginx.org/download/nginx-1.20.1.tar.gz"
# 使用tar命令解压
tar -xf nginx-1.20.1.tar.gz
# 进入解压后出现的目录,已备接下来的编译
cd nginx-1.20.1

复制

编译Nginx

首先,我们需要生成一个makefile。 编译时的参数可以参考Nginx官方文档:

我自己编译Nginx时,选择的参数通常是:

./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=www --group=www --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module 

复制

在:

如果没有问题,将会显示以下消息:

Configuration summary
  + using threads
  + using system PCRE library
  + using system OpenSSL library
  + using system zlib library
  nginx path prefix: "/etc/nginx"
  nginx binary file: "/usr/sbin/nginx"
  nginx modules path: "/etc/nginx/modules"
  nginx configuration prefix: "/etc/nginx"
  nginx configuration file: "/etc/nginx/nginx.conf"
  nginx pid file: "/var/run/nginx.pid"
  nginx error log file: "/var/log/nginx/error.log"
  nginx http access log file: "/var/log/nginx/access.log"
  nginx http client request body temporary files: "/var/cache/nginx/client_temp"
  nginx http proxy temporary files: "/var/cache/nginx/proxy_temp"
  nginx http fastcgi temporary files: "/var/cache/nginx/fastcgi_temp"
  nginx http uwsgi temporary files: "/var/cache/nginx/uwsgi_temp"
  nginx http scgi temporary files: "/var/cache/nginx/scgi_temp"

复制

然后,执行编译:

make && make install

复制

这时候我们可以使用浏览器看到Nginx已经可以使用了。

选择方式

个人推荐安装优先级:

编译安装>Docker安装>dpkg安装

主要原因有:

事实上,这三种方法都是非常好的安装Nginx的方法。

常用 Nginx 命令

这里我给大家介绍一下Nginx的一些常用命令:

命令

命令含义

nginx

打开 nginx

nginx-t

测试配置文件是否有句子错误

nginx-sreopen

重启 Nginx

nginx-sreload

重新加载Nginx配置文件

nginx-sstop

强制停止Nginx服务

nginx-squit

安全停止Nginx服务(即处理完所有请求后停止服务)

如何卸载Nginx

如果想改变Nginx的安装方式,如何卸载已经安装的Nginx?

dpkg 卸载 Nginx

如果你使用的是dpkg安装的Nginx,安装非常简单,卸载也是一样:

# 卸载Nginx
sudo apt-get remove nginx

复制

docker 卸载 Nginx

如果你使用Docker安装的Nginx,卸载也很简单:

# 查看Nginx镜像ID
docker images

复制

获取ID后,根据ID卸载:

docker rmi d1a3

复制

如果删除失败,例如:

我们先清除它的依赖关系:

 docker ps -a
 docker rm $ID
 docker rmi $ID

复制

编译并删除Nginx

编译和删除Nginx也很简单,首先停止运行Nginx:

# 关闭Nginx
nginx -s quit
# 删除Nginx
sudo rm -rf /etc/nginx

复制

这样Nginx就已经被卸载了

总结

虽然? 就我个人而言,我喜欢编译和安装Nginx。 不过,虽然宝塔面板的Nginx也很好,但新版本也可以选择编译安装模块,总有一些大鳄认为面板部署没有“灵魂”。 这里就不过多介绍了。

如果你平时喜欢使用Docker,可以尝试安装Docker。 Docker的第三方库应该能够安装模块,或者已经集成了模块。

Nginx确实是一个Web服务器利器~~~

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 android4.4 源码 编译-史上最简单的Android源码编译环境搭建方法 https://www.wkzy.net/game/126244.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务