应一个在电信做android开发的哥们要求,帮忙把Goole未在sdk中打包的API(即:mms彩信功能),打包到自己编译的sdk里面。偶用了差 不多5天+5夜的时间,虽然没有成功。但对于Ubuntu 10.04环境下载&编译Android-2.2.1 (froyo)源代码这个过程是相当熟悉啦,来来回回,在虚拟机里面做了5遍!其中的辛苦与开心只有自己才有深刻的体会。现在分享给大家,同时也感谢网络 上的筒子们。

1. 前言

本文叙述了如何从零开始搭建基于Google官方Android 2.2.1(froyo)源码的开发环境,包括如何下载源代码、编译源代码,以及在模拟器中运行编译生成的镜像。文中开发机是基于Ubuntu 10.04的,同样适用于其他版本的Ubuntu。现在需要弄清楚一下几点,防止后面出现误操作: 下载源代码是用参数:repo init -u git://android.git.kernel.org/platform/manifest.git  -b  froyo (下载的是2.2.1版本,编译环境操作系统必须32位的,jdk1.5版本的—jdk1.5没有64位版本)。如果是没有带参数的下载源代码,将会下载所有的源代码,编译环境要求:操作系统64位,jdk1.6,(偶是2010年10月15日做)但很有可能会出现交叉编译工具错误:“ /bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: 没有那个文件或目录 ”(实际上是有arm-eabi-gcc这个文件的,偶怀疑是版本问题–32位的,而环境要求是64位的—– 下载全部代码

2. 下载JDK 1.5 (不建议此下载方式,防止配置环境参数出错。建议用apt-get install方式,请跳转到:第4

编译Android源码需要JDK1.5版(主要是需要其中的javadoc),1.6版是 不兼容的。JDK1.5已经停止支持,其最 终的版本是JDK 5.0 Update 22。

可从Sun官网上下载:

http://java.sun.com/javase/downloads/5u22/jdk

选择平台Linux,勾选同意许可协议:

单击Continue,在弹出的页面中一共有两个下载,选第一个jdk-1_5_0_22-linux-i586.bin下载:

3. 部署JDK 1.5

3.1 解压缩JDK

以下命令均在root账户上执行,非root账户执行某些命令可能需要加sudo。

将jdk-1_5_0_22-linux-i586.bin放在root目 录下。进入该目录:

cd ~

然后赋予该bin文件可执行属性:

chmod +x jdk-1_5_0_22-linux-i586.bin

再执行安装(注意前面有./):

./jdk-1_5_0_22-linux-i586.bin

跳过协议阅读。

最后一行:

Do you agree to the above license terms? [yes or no]

键入yes,然后回车,开始解压。默认会解压到当前目录下的jdk1.5.0_22目录下(此处是~/ jdk1.5.0_22)。

3.2 JDK版本切换

如果同时需要使用JDK1.6版做应用开发,则系统中将同时存在JDK1.5和JDK1.6。 因此需要实现能够在不同版本间切换。如果不使用JDK1.6,请做完1.5版 的设置后跳至3.3节。

这里使用update-alternatives命令实现。

首先为JDK1.5版生成可选配置选项:

update-alternatives –install /usr/bin/jdk jdk /root/jdk1.5.22 255

(sudo update-alternatives –install /usr/bin/jdk jdk /home/ynb/jdk1.5.0_22 255)

/usr/bin/jdk是符号链接,它指 向/etc/alternatives/jdk(由第2个参数 给出的),/root/jdk1.5.22(/home/ynb/jdk1.5.0_22)是 实际目的链接,255是优先级(任意整数, 在automatic mode自动模式 时,数字大的优先级较高,被选为默认配置选项)。

然后再为JDK1.6版生成(如果有JDK1.6的话。不使用JDK1.6的请跳至3.3节):

update-alternatives –install /usr/bin/jdk jdk /root/jdk1.6.20 0

这样,默认jdk版本即为1.5版。 需要切换到1.6版时,请使用update-alternatives –config jdk

3.3 配置JDK环境变量

下面开始配置环境变量。

在终端中执行:sudo gedit ~/.bashrc

修改.bashrc文件,添加下面语句:

#set java environment

export JAVA_HOME=/usr/bin/jdk

export JRE_HOME=JAVA_HOME/jre

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

该段代码最好设置在文件的尾部。

保存文件。在终端中执行source ~/.bashrc

重启系统请使用java –version检查JDK是否 配置正确。

4.apt-get install方式安装JDK1.5

Android 要求的 jdk 1.5,而Ubuntu10.4的源里只有JDK1.6. 如果安装了jdk1.6请先卸载:

$sudo  apt-get  remove  remove openjdk-6-jdk

$sudo  apt-get  remove  remove openjdk-6-jre

$sudo  apt-get  remove  remove openjdk-6-jre-headless

安装jdk1.5目前网上解决方法有两种:
解决方法一(建议) 安装JDK1.5

1) 根据官方文档里所说,源代码的编译必须使用JDK5才能编译的了,所以这里偶使用jdk5
2) 需要先更新源,在终端里执行 sudo vim /etc/apt/sources.list
3) 在source.list里把以下2行拷贝到文档最后面:

deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

保存退出。
4) 执行 sudo apt-get update 更新源.
5) 配置编译环境并下载JDK5:sudo apt-get install sun-java5-jdk
解决方法二: 安装JDK 1.6 , 修改Android源文件。
1) 安装jdk 1.6,修改<src_top/build/core/make.mk>(如果2.0版本源码请修改<src_top/build/core/main.mk>)
在文件中搜索并分别把:
java_version := $(shell java -version 2>&1 | head -n 1 | grep ‘[ "]1.5[. "$$]‘)
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep ‘[ "]1.5[. "$$]‘)
两行改成:
java_version := $(shell java -version 2>&1 | head -n 1 | grep ‘[ "]1.6[. "$$]‘)
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep ‘[ "]1.6[. "$$]‘)
即可。
推荐使用第一种解决方法。

5. 安装其他必备组件

在终端上,使用下面的命令安装:(前面的1、2、3步骤都可以省略啦)

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

因为JDK1.5在前面已经单独安装过了,因此此处apt-get install命令行中没有加入sun-java5-jdk。

6. 下载Android 源代码

6.1 安装repo脚本

首先安装repo。在当前用户:~目 录下新建一个bin目录。在终端中执行:

cd ~

mkdir bin

然后,向PATH中添加bin路 径:

export PATH=$PATH:~/bin

然后执行下面两行指令,下载repo脚本并修改可执行属性:

curl https://android.git.kernel.org/repo >~/bin/repo

chmod a+x ~/bin/repo

6.2 初始化repo

首先建立一个目录用来存放Android源代码:

mkdir mydroid

cd mydroid

然后用最新的列表执行初始化。这里偶下载android 2.2.1(froyo),因此加了参数 –b froyo:(android 2.2.2(froyo)源码下载:2G多
repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo )
(下载2.1_r2源码

repo init -u git://android.git.kernel.org/platform/manifest.git –b android-2.1_r2

下载全部源码:repo init -u git://android.git.kernel.org/platform/manifest.git)

(下载2.0源码:
repo init -u git://android.git.kernel.org/platform/manifest.git –b eclair )
(上面下载2.0时有个莫名其妙的问题:
ynb@ynb-pc:~/bin$ repo init -u git://android.git.kernel.org/platform/manifest.git –b eclair
Usage: repo init -u url [options]
出现上面问题,删除mydroid目录:rmdir mydroid  ; mkdir mydroid2.0 ; cd mydroid2.0;
再:repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair 就可以了)
(如果能通过浏览器浏览到android源码的主页,但运行repo init或repo sync的时候,却没法下载源码,形如:
只需要把git开头的地址改为http即可:
[1]
repo init -u http://android.git.kernel.org/platform/manifest.git -b froyo
[2]修改manifest.git里的地址,也是把git://改为http://
vim .repo/manifest.git
如:
<?xml version=”1.0″ encoding=”UTF-8″?>
<manifest>
<remote  name=”korg”
fetch=”http://android.git.kernel.org/”
review=”review.source.android.com” />
<default revision=”froyo”
remote=”korg” />  )

这中间会问到你的名字和Email。如果你打算上传代码,Email须是一个Google账户。

repo初始化成功后会看到类似于下面的提 示:

repo initialized in /home/(当前用户名)/mydroid

最后执行$repo sync开始同步代码。过程比较漫长,下载速度取决于你的网速(偶的3-4小时左右),中间有可能遇到断线,重新执行repo sync即可断点续传。

7. 编译Android源代码

7.1 编译生成镜像

$ cd ~/directory
$ source build/envsetup.sh
$ lunch # select 1- generic-eng when the menu popup
$ make -j4 # 4 means the number of concurrent jobs the build can do. This is to speed up the building process

首次编译非常耗时,取决于机器配置,大约需要2-3小时。有可能会出现:“Permission denied (权限拒绝的提示)” 请命令赋予权限:$cd 无权限文件的当前目录 回车;  $sudo chmod -R +rwx *  回车; 完成后镜像生成在/root/mydroid/out/target/product/generic下:android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件系统中的system和 userdata目录下。

7.2 编译、配置Android SDK

$sudo make sdk

生成对应于该版本源代码的sdk,此过程用的时间偶的是10多分钟。

$sudo make PRODUCT-sdk-sdk

生成对应于该版本源代码的用于生产环境的sdk,此过程用的时间偶的是1个多小时。

自己编译的SDK位置是:~/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86

8. 在模拟器中运行编译的镜像

打开终端,执行android脚本:

$android

出现下图所示窗口:

选择左边第一项Virtual Devices,然后在右边选择New,新建一个AVD。

Name:AVD的名称,随便取,但只能包含字母和数字以及点、下划线和连字符, 这里取名test。

Traget:目标SDK版本,这里选自己编译的2.1-r1版Android SDK。

SD Card:SD卡。暂且不填,待需要时再设置。

Skin:皮肤(模拟器屏幕分辨率)。

Hardware:使用默认即可

然后点Create AVD,就创建好了一个AVD。点击Start即 可启动模拟器,其运行的是自己编译的镜像。

若以后要再次启动此AVD,请在终端中运行:

emulator –avd test 或 者emulator @test

 

 

 

转自:http://zouyuefu.wordpress.com/2011/04/01/ubuntu-10-04%E7%8E%AF%E5%A2%83%E4%B8%8B%E8%BD%BD%E7%BC%96%E8%AF%91android-2-2-1-%EF%BC%88froyo%EF%BC%89-%E6%BA%90%E4%BB%A3%E7%A0%81-22%EF%BC%BB%E8%BD%AC%EF%BC%BD/

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. OneAPM大讲堂 | 提高JavaScript性能的30个技巧

    文章系国内领先的 ITOM 管理平台供应商 OneAPM 编译呈现。 您是网站管理员还是网页开发人员?想创建超快速的网站吗? 今天我们来看看 JavaScript,这项神奇而又复杂的技术。它使网站内容更加丰富,但常常出现的运行性能问题又降低了用户的体验。事实已经证明,最佳的终端用户体…...

    2024/5/2 22:23:01
  2. 推荐10款非常优秀的 HTML5 开发工具[转]

    http://www.cnblogs.com/lhb25/archive/2011/10/09/10-online-tools-to-simplify-html5-coding.htmlHTML5 发展如火如荼,随着各大浏览器对 HTML5 技术支持的不断完善以及 HTML5 技术的不断成熟,未来 HTML5 必将改变我们创建 Web 应用程序的方式。今天这篇文章向大家推荐10款优…...

    2024/4/27 3:51:22
  3. 10款非常优秀的 HTML5 开发工具

     HTML5 发展如火如荼,随着各大浏览器对 HTML5 技术支持的不断完善以及 HTML5 技术的不断成熟,未来 HTML5 必将改变我们创建 Web 应用程序的方式。今天这篇文章向大家推荐10款优秀的HTML5开发工具,帮助你更高效的编写 HTML5 应用。InitializrInitializr 是制作 HTML5 网站…...

    2024/5/3 7:03:17
  4. html5资源

    HTML50.开发框架和开发工具汇总 0.1.推荐25款很棒的 HTML5 开发框架和开发工具【上篇】 0.2.HTML5 开发者需要了解的技巧和工具汇总 0.3.你真的精通 CSS 了?来挑战一下 CSS 选择器测验吧 1.不同浏览器对CSS3和html5的支持 2.推荐10款非常优秀的HTML5 开发工具 Initializr →访…...

    2024/5/3 5:08:02
  5. Https下字体文件无法加载的解决方案

    一开始以为是权限问题,但是更改后无效 在nginx.conf文件中加入如下配置 然后重启nginx即可生效,如需别的格式 自行添加 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico|eot|otf|ttf|woff|woff2)$ {expires 30d;access_log off;}...

    2024/4/26 18:20:39
  6. 高性能MySQL集群详解(二)

    一.通过Keepalived搭建MySQL双主模式的高可用集群系统 1.MySQL Replication介绍: MySQL Replication是MySQL自身提供的一个主从复制功能,其实也就是一台MySQL服务器(称为Slave)从另一台MySQL服务器(称为Master)上复制日志,然后解析日志并应用到自身的过程。MySQL Rep…...

    2024/4/24 22:48:10
  7. 史上最详细的WordPress安装教程(四):安装mysql 5.7

    安装mysql添加源rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm#或wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpmrpm -ivh mysql57-community-release-el7-9.noarch.rpm​安装yum -y install mysql-community-s…...

    2024/4/27 6:48:08
  8. centos7 mysql The server quit without updating PID file(错误解决)

    1 问题[root@localhost mysql]# /etc/rc.d/init.d/mysql statusMySQL is not running, but lock file (/var/lock/subsys/mysql[FAILED][root@localhost mysql]# /etc/rc.d/init.d/mysql startStarting MySQL...The server quit without updating PID file (/usr/local/mysql/d…...

    2024/4/26 18:45:02
  9. 如何在docker中建立mysql的主从同步

    关于主从同步的背景: 最近在工作上遇到一个任务:将主服务器上的mysql数据库和从服务器的mysql数据库实现主从同步。即当主库发生数据的变更时,从库也能做出同样的变更。 1.环境:Linux, docker; 2.mysql运行在docker容器中; 找到mysql的配置文件 MySQL默认读取的配置文件是“…...

    2024/5/3 5:01:32
  10. docker 部署高可用 HAProxy Mysql 双主方案

    主从模式: mysql主从架构中其实就一个主在工作,而从就相当于一个备份机器,从通过日志监测的方式来备份主库上的数据而保证主库的数据安全。 主主模式: 主主复制,就是在mysql主从架构上让mysql主实现监测从的日志变化,从而实现两台机器相互同步。 多主多从模式: MMM…...

    2024/4/24 7:45:35
  11. 单节点k8s的一个小例子 webapp+mysql

    安装kubernetes 准备一台centos7 1) 关闭firewalld 和 selinux systemctl stop firewalld systemctl disable firewalld setenforce 0 2)安装etcd和kubernetes yum install -y etcd kubernetes 3)修改配置文件 vi /etc/sysconfig/docker 将--selinux-enabled 改为 …...

    2024/4/30 5:31:18
  12. phpMyAdmin解决Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";

    真是受够了,百度问题出来的解决方案各种抄袭。 首先明确解决方法两个 (1)要么ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock (2)要么在etc/my.cnf里修改 结果我两个都不行,第一个方法还是报错,第二个方法mysqld启动不起来。 (如果你跟我一样那么很可能是phpMyAdmin配置错…...

    2024/4/29 0:16:26
  13. MySQL主从介绍

    MySQL主从介绍•MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的•MySQL主从是基于binlog的,主上须开启binlog才能进行主从。复制的基本过程如下:1)、Slave上面的IO_thread连接上Master,并…...

    2024/4/28 1:23:11
  14. mysql报错的“Table 'mysql.servers' doesn't exist”的解决方法

    原文:http://www.weiruoyu.cn/?p=571 刷新时提示错误mysql> flush privileges;ERROR 1146 (42S02): Table mysql.servers doesnt exist解决方法一,自己建立这张表。use mysql;CREATE TABLE `servers` (`Server_name` char(64) NOT NULL,`Host` char(64) NOT NULL,`Db` ch…...

    2024/5/2 18:09:47
  15. ubuntu 14.04 安装 mysql-server 及 可能出现的问题(Unknow job: mysql)和解决办法

    一、安装mysql在终端键入如下命令: (sudo) apt-get install mysql-server 安装过程中,会出现 configuration 界面,提示用户设置 MySQL root user 的密码。如果安装成功, MySQL server 会自动启动。通过在终端键入如下命令, 查看 MySQL server 是否正在运行(sudo) netstat …...

    2024/5/3 2:32:43
  16. MySQL同一台机器安装两个服务

    最近需要在一台电脑上安装两个Mysql服务,需求稍微有些奇怪,但确实很必要。本人原本为了本机测试WordPress装了一个Mysql,但最近又要修改一个网站,做完了就要删掉的。为了配置方便,也防止数据错乱,就有必要再添加一个Mysql服务。好了,下面开始配置吧: 1. 到这里下载Mysq…...

    2024/4/25 12:16:23
  17. 通过docker连接mysql

    通过docker连接mysql: cs202@cs202-devbox:~$ sudo docker run -it --link mysql --rm mysql sh -c exec mysql -h "172.17.0.3" -P3306 -uroot -pwwwwww mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL …...

    2024/4/26 20:16:28
  18. PHP+Apache+mysql网站环境搭建

    PHP+Apache+mysql网站环境搭建前期准备需要准备相关安装包Apache:一个web服务器,类似于windows环境下的IIS服务器;Php:用来解析使用php语言编写的网页程序,使网页呈现为html页面;Mysql数据库,存储网站数据用的;phpMyAdmin:数据库管理软件,主要便于操作mysql用的;wordpre…...

    2024/5/1 14:40:42
  19. 史上最详细的WordPress安装教程(五):安装phpMyAdmin

    官网下载安装包官网地址为 https://www.phpmyadmin.net/,点击 Download,可以跳转到安装包下载界面。选择下载历史版本,也可以下载最新版本,最新版本在右上角有按钮,可直接下载。历史版本可通过点击Download按钮,寻找历史版本下载页面。经过一系列查找,历史页面下载地址为…...

    2024/5/2 5:37:27
  20. MySQL日常问题

    2018.11.62018.10.15message from server: "Too many connections" ##超过最大连接数[mysqld] port=3306 basedir = /usr/local/mysql datadir = /data/data socket = /tmp/mysql.sock secure_file_priv=/tmp/ max_connections=1000 ##设置最大连接数,不要加set-…...

    2024/4/26 1:47:04

最新文章

  1. 2024.5.3

    C风格字符串的越界异常处理 #include <iostream> #include <cstring> using namespace std; class MyStr{char str[200]; public:void set(string str);char at(unsigned int a); }; void MyStr::set(string str){strcpy(this->str,str.c_str()); } char MyStr…...

    2024/5/3 9:53:32
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. C#,简单,精巧,实用的文件夹时间整理工具FolderTime

    点击下载本文软件&#xff08;5积分&#xff09;&#xff1a; https://download.csdn.net/download/beijinghorn/89071073https://download.csdn.net/download/beijinghorn/89071073 百度网盘&#xff08;不需积分&#xff09;&#xff1a; https://pan.baidu.com/s/1FwCsSz…...

    2024/5/1 13:50:22
  4. MATLAB 自定义中值滤波(54)

    MATLAB 自定义中值滤波(54) 一、算法介绍二、算法实现1.原理2.代码一、算法介绍 中值滤波,是一种常见的点云平滑算法,改善原始点云的数据质量问题,MATLAB自带的工具似乎不太友好,这里提供自定义实现的点云中值滤波算法,具体效果如下所示: 中值滤波前: 中值滤波后:…...

    2024/5/2 21:06:13
  5. 对于布局的见解

    position: absolute;元素的宽度变为content的宽度,这是与position:relative(100%)不同的地方,若要呈现为100%, 有两个方法: 1.直接设置 width:100% 2.设置left:0px right:0px; 布局参看http://www.zhangxinxu.com/study/201010/mini-blog-no-width.html 采用无宽度布局…...

    2024/5/3 3:43:48
  6. 不同浏览器中网页内容高度取值

    原文地址:http://www.alisdn.com/wordpress/?p=1700关于浏览器的clientHeight、offsetHeight和scrollHeight在IE、FireFox、Netscape等不同的浏览器里,对于document.body 的 clientHeight、offsetHeight 和scrollHeight 有着不同的含义,比较容易搞混,现整理一下相关的内容…...

    2024/4/28 5:01:39
  7. 在网页中使用SVG技术

    在网页中使用SVG技术分享:0可缩放矢量图形(SVG)是矢量图形家族的一部分。相比其他光栅图形(JPEG、GIF 和 PNG),SVG 图形具有更多的优势。本文将探讨 SVG 图形的基本概念和在 HTML5 中的使用。学习绘制、过滤器、渐变、文本和将 SVG XML 添加到网页。 简介 可缩放矢量图形…...

    2024/4/28 18:58:36
  8. 瀑布流布局实现的三种方式

    瀑布流布局的特点? 答:首先,是图片的宽度固定,图片的长度不一样。其次,是当页面滚动时 ,会再次加载数据,动态的渲染在页面上。瀑布流布局的原理? 首先,获取图片的固定的宽度W,网页body的clientWidth 其次,获取在你的版面中显示多少列图片。cols = clientHeight / W;…...

    2024/5/1 15:08:20
  9. 移动web图片高度自适应的解决方案

    由于图片的加载是在dom加载完成之后进行的,于是,在手机端浏览网页时,经常会看到页面刚打开时很多内容叠在一起,当图片加载完成后,页面会由于图片加载完成出现明显的抖动针对这个问题,有以下几种解决方案媒体查询+px rem vm padding 媒体查询+px@media screenand(max - wi…...

    2024/4/30 5:31:04
  10. 网页布局之》》》》弹性盒子》》》

    网页弹性盒子》》》》box-flex 属性 按比例占据父元素的尺寸。1,(纵向)水平方向的弹性布局:先给其父元素设置样式为弹性盒子display:box; #father{ display:-webkit-box; display: box;}》》》》》》》子元素(div或盒子)默认是纵向挨着排列的,。》》》》》》定义两个可…...

    2024/5/2 0:25:03
  11. 在xcode中格式化代码

    1. 安装homebrew/usr/bin/ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"2. 安装uncrustifybrew install uncrustify3. 下载配置好的workflow包http://by-igotit.com/wordpress/wp-content/uploads/2012/03/Uncrustify-Objective-C.workflow.tar.gz4. 解…...

    2024/5/2 10:05:21
  12. css content

    before after demo 1 添加描述信息div1:after{conent:"天假额外的文字"}2 也可以显示元素的某些属性<a class="div1" href="http://www.baidu.com"></a>div1:after{ content:attr(href)}注意:当使用attr()获取标签属性名的时候,千…...

    2024/4/28 2:33:44
  13. web PC分页功能实现。动态加载数据列表并分页

    1.最终效果图展示:2.代码截图:3.代码文字:<!DOCTYPE HTML> <HTML><head> <meta charset="utf-8"> <meta name="keywords" content="分页教程"> <meta name="description" content="CSDN平…...

    2024/4/30 20:50:13
  14. 周末作业

    ```<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Polp360首页</title> <link rel="stylesheet" type="text/css" href="css/reset.css">…...

    2024/4/28 23:52:18
  15. 提高JavaScript性能的30个技巧

    今天我们来看看 JavaScript,这项神奇而又复杂的技术。它使网站内容更加丰富,但常常出现的运行性能问题又降低了用户的体验。事实已经证明,最佳的终端用户体验能提升网站的转换率、Google搜索排名以及访问者的满意度。高性能的JavaScript意味着会给您和您的公司带来更多更好的…...

    2024/4/28 1:20:12
  16. PHP 性能分析第三篇: 性能调优实战

    注意:本文是我们的 PHP 性能分析系列的第三篇,点此阅读 PHP 性能分析第一篇: XHProf & XHGui 介绍 ,或 PHP 性能分析第二篇: 深入研究 XHGui 。 在本系列的 第一篇 中,我们介绍了 XHProf 。而在 第二篇 中,我们深入研究了 XHGui UI, 现在最后一篇,让我们把 XHProf …...

    2024/4/29 0:17:40
  17. 读《软星七年》有感

    看完这篇好友推荐的文章,一口气细读下来,心中时而豪气激昂,时而酸痛万分,真是感慨良多,只知道现在心中有说不完的话。。。 "...8月3日,北京举行《仙四》首发签售活动,张毅君如约到场。活动中,一位玩家表示愿意出钱捐助上海软星,支持《仙剑》的研发,被婉拒后,他…...

    2024/4/28 19:11:29
  18. Docker命令行

    Docker命令行(sudo)Docker容器命令行1.查看Docker服务是否正常2.运行容器(docker run -i -t 镜像名称 命令代码)3.使用容器4.查看当前系统中存在的容器:5.容器命名6.启动已停止的容器7.进行容器内部命令行8.创建守护式容器(长期运行的容器)9.查看容器日志10.查看容器内进…...

    2024/4/27 21:14:28
  19. 利用qemu写mips汇编程序控制malta显示器

    hello world不会写,先玩玩malta虚拟器上的跑马灯,就是qemu起来后ctrl+atl+5切换出来那个,安装debian mips版本后会有个"LINUX ON MALTA"在那一直循环。参考之前的文章,windows和linux下都有qemu,gnu的交叉编译工具也都有,所以两个平台应该都能跑。本文参考了:…...

    2024/4/29 11:53:38
  20. Redis 常见面试题整理

    1 什么是 Redis?简述它的优缺点?Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出…...

    2024/4/27 23:06:58
  21. Redis 常见面试题

    今天跟大家分享下Redis 常见面试题的知识。 1 什么是 Redis?简述它的优缺点? Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行…...

    2024/4/29 2:38:01
  22. OneAPM大讲堂 | 提高JavaScript性能的30个技巧

    文章系国内领先的 ITOM 管理平台供应商 OneAPM 编译呈现。 您是网站管理员还是网页开发人员?想创建超快速的网站吗? 今天我们来看看 JavaScript,这项神奇而又复杂的技术。它使网站内容更加丰富,但常常出现的运行性能问题又降低了用户的体验。事实已经证明,最佳的终端用户体…...

    2024/4/28 1:29:09
  23. 面试之Redis

    什么是 Redis?简述它的优缺点? Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。 因为是纯内存操作,Redis 的性能非常…...

    2024/5/3 0:03:58
  24. 读完这46道Redis面试题之后,你就会觉得自己的Redis白学了

    前言今天跟大家分享下Redis 常见面试题的知识,总共46道,希望大家能够喜欢。1 什么是 Redis?简述它的优缺点?Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作…...

    2024/5/1 19:48:16
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57