当前位置:首页 » 安卓系统 » android系统镜像

android系统镜像

发布时间: 2022-07-08 09:37:04

㈠ android 5.1 怎么编译为镜像

Android编译系统在初始化的过程中,会通过根目录下的Makefile脚本加载build/core/main.mk脚本,接着build/core/main.mk脚本又会加载build/core/Makefile脚本,而Android系统镜像文件就是由build/core/Makefile脚本负责打包生成的。
在build/core/main.mk文件中,与Android系统镜像文件打包过程相关的内容如下所示:

[plain] view plain
......

ifdef FULL_BUILD
# The base list of moles to build for this proct is specified
# by the appropriate proct definition file, which was included
# by proct_config.make.
proct_MODULES := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES)
# Filter out the overridden packages before doing expansion
proct_MODULES := $(filter-out $(foreach p, $(proct_MODULES), \
$(PACKAGES.$(p).OVERRIDES)), $(proct_MODULES))
$(call expand-required-moles,proct_MODULES,$(proct_MODULES))
proct_FILES := $(call mole-installed-files, $(proct_MODULES))
......
else
# We're not doing a full build, and are probably only including
# a subset of the mole makefiles. Don't try to build any moles
# requested by the proct, because we probably won't have rules
# to build them.
proct_FILES :=
endif
......

moles_to_install := $(sort \
$(ALL_DEFAULT_INSTALLED_MODULES) \
$(proct_FILES) \
$(foreach tag,$(tags_to_install),$($(tag)_MODULES)) \
$(call get-tagged-moles, shell_$(TARGET_SHELL)) \
$(CUSTOM_MODULES) \
)

# Some packages may override others using LOCAL_OVERRIDES_PACKAGES.
# Filter out (do not install) any overridden packages.
overridden_packages := $(call get-package-overrides,$(moles_to_install))
ifdef overridden_packages
# old_moles_to_install := $(moles_to_install)
moles_to_install := \
$(filter-out $(foreach p,$(overridden_packages),$(p) %/$(p).apk), \
$(moles_to_install))
endif
......

# Install all of the host moles
moles_to_install += $(sort $(moles_to_install) $(ALL_HOST_INSTALLED_FILES))

# build/core/Makefile contains extra stuff that we don't want to pollute this
# top-level makefile with. It expects that ALL_DEFAULT_INSTALLED_MODULES
# contains everything that's built ring the current make, but it also further
# extends ALL_DEFAULT_INSTALLED_MODULES.
ALL_DEFAULT_INSTALLED_MODULES := $(moles_to_install)
include $(BUILD_SYSTEM)/Makefile
moles_to_install := $(sort $(ALL_DEFAULT_INSTALLED_MODULES))
ALL_DEFAULT_INSTALLED_MODULES :=
......

.PHONY: ramdisk
ramdisk: $(INSTALLED_RAMDISK_TARGET)
......

.PHONY: userdataimage
userdataimage: $(INSTALLED_USERDATAIMAGE_TARGET)
......

.PHONY: bootimage
bootimage: $(INSTALLED_BOOTIMAGE_TARGET)

......
如果定义在FULL_BUILD这个变量,就意味着我们是要对整个系统进行编译,并且编译完成之后 ,需要将编译得到的文件进行打包,以便可以得到相应的镜像文件,否则的话,就仅仅是对某些模块进行编译。
在前面Android编译系统环境初始化过程分析一篇文章中,我们提到,变量INTERNAL_PRODUCT描述的是执行lunch命令时所选择的产品所对应的产品Makefile文件,而变量PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES描述的是在该产品Makefile文件中通过变量PRODUCT_PACKAGES所定义的模块名称列表。因此,我们得到的变量proct_MODULES描述的就是要安装的模块名称列表。
我们知道,Android源码中自带了很多默认的APK模块。如果我们想用自己编写的一个APK来代替某一个系统自带的APK,那么就可以通过变量PACKAGES.<new>.OVERRIDES := <old>来说明。其中,<new>表示用来替换的APK,而<old>表示被替换的APK。在这种情况下,被替换的APK是不应该被打包到系统镜像中去的。因此,我们需要从上一步得到的模块名称列表中剔除那些被替换的APK,这是通过Makefile脚本提供的filter-out函数来完成的。
一个模块可以通过LOCAL_REQUIRED_MODULES变量来指定它所依赖的其它模块,因此,当一个模块被安装的时候,它所依赖的其它模块也会一起被安装。调用函数expand-required-moles获得的就是所有要安装的模块所依赖的其它模块,并且将这些被依赖的模块也一起保存在变量proct_MODULES中。

注意,这时候我们得到的proct_MODULES描述的仅仅是要安装的模块的名称,但是我们实际需要的这些模块对应的具体文件,因此,需要进一步调用函数mole-installed-files来获得要安装的模块所对应的文件,也就是要安装的模块经过编译之后生成的文件,这些文件就保存在变量proct_FILES中。
最终需要安装的文件除了变量proct_FILES所描述的文件之后, 还包含以下四类模块文件:
1. 变量ALL_DEFAULT_INSTALLED_MODULES描述的文件。
2. 变量CUSTOM_MODULES描述的文件。
3. 与当前编译类型对应的模块文件。例如,如果当前设定的编译类型为debug,那么所有通过将变量LOCAL_MODULE_TAGS将自己设置为debug的模块也会被打包到系统镜像文件中去。
4. 与当前shell名称对应的模块文件。例如,如果当前使用的shell是mksh,那么所有通过将变量LOCAL_MODULE_TAGS将自己设置为shell_mksh的模块也会被打包到系统镜像文件中去。

最后,moles_to_install就描述当前需要打包到系统镜像中去的模块文件。实际上,我们除了可以通过PACKAGES.$(p).OVERRIDES来描述要替换的APK之后,还可以在一个模块中通过LOCAL_OVERRIDES_PACKAGES来描述它所替换的模块。因此,我们需要通过函数get-package-overrides来获得此类被替换的模块文件,并且将它们从moles_to_install中剔除,这样得到的模块文件才是最终需要安装的。
确定了要安装的所有模块文件之后,就可以将build/core/Makefile文件加载进来了。注意,文件build/core/Makefile是通过变量ALL_DEFAULT_INSTALLED_MODULES来获得当前所有要打包到系统镜像文件中去的模块文件的。
文件build/core/Makefile主要就是用来打包各种Android系统镜像文件的,当然它也是通过make规则来执行各种Android系统镜像文件打包命令的。每一个Android镜像文件都对应有一个make伪目标。例如,在build/core/main.mk文件中,就定义了三个make伪目标ramdisk、userdataimage和bootimage,它们分别依赖于变量INSTALLED_USERDATAIMAGE_TARGET、INSTALLED_USERDATAIMAGE_TARGET和INSTALLED_BOOTIMAGE_TARGET所描述的文件,并且它们分别表示的就是ramdisk.img、userdata.img和boot.img文件。

安卓系统镜像可以干嘛

安卓镜像是一种文件,通过模拟器什么的可以在手机上实现电脑上的各种软件等等,就比如是把自己的手机当成电脑。

安卓手机镜像怎么做会不会很复杂

通常有两种办法,一种办法比较传统,一种办法比较主流也比较简单。
采用传统办法制作的安卓手机镜像会比较稳定,可是它有一个非常明显的缺点那就是操作难度非常之在。一般不是专业的手机维修人员是很难通过程序代码这个传统方式来制作手机镜像的。因为想要采用这个办法,除了精通程序代码之外,还要对安卓手机的系统文件等非常地熟悉,知道什么时候应该调用哪个系统文件,什么时候应该输入相关的繁琐指令。所以一般手机达人都不建议新手用传统的办法来制作安卓手机镜像。而是采用另一种主流的制作办法。
这另一种主流的安卓手机镜像制作办法其实就是利用手机软件来完成。之所以说它主流,主要是非常地容易操作。只要下载一个赤兔DE,无论新老手都可以完成安卓手机镜像。这款软件在安卓手机镜像制作方面非常出色,而且操作也相对简单,很适合大众使用。
(注意)无法通过dd来制作镜像的情况:
安装手机驱动以及jdk,android sdk。手机驱动等可以用360手机助手安装,jdk只能用32位的jdk不管系统是否是32位。
android sdk的安装目录在:C:-sdk
其中需要通过AVD Manager. exe安装android sdk tools才有adb程序。或者直接调用第三方程序中包含的adb程序也可以。
其中,调用飞信中的adb程序,或者直接用甜椒刷机助手里的adb很方便。

㈣ 怎样才能把android手机屏幕镜像到电视上

1. 手机和超级电视处于同一局域网内。将超级电视的“多屏互动”功能开启。该选项在“设置”--> "系统”-->“多屏互动”。

㈤ 如何将安卓手机系统打包成镜像

让安卓手机系统打包成镜像的话,其实你直接就是利用备份就好了,辈分的话他就可以多一份。

㈥ 请问安卓系统的镜像是什么意思如何刷镜像

这是一种刷机的模式,先刷底包,然后开机后再运行升级工具,刷升级包,对手机进行优化和修改UI,一般刷升级包前要ROOT。MOTO的机子一般是用这种刷法,因为MOTO是锁BL的。刷机过程是用工程模式软件刷底包(MOTO是RSD),刷完开机,修改成工程调试模式(DEBUG模式),然后用专门的工具ROOT,ROOT完后,刷工具包升级,over。

㈦ 如何修改android系统的ramdisk以及boot镜像

ramdisk 是一种基于内存的虚拟磁盘技术,采用ext2文件系统。ramdisk.gz是ramdisk文件再压缩后的格式。查看ramdisk.gz根文件系统,或者对原有的文件系统进行修改,只需解压,再把获得的镜像文件挂载即可。
修改步骤如下:

  1. 解压:转到ramdisk.gz所在文件夹#gunzip ramdisk.gz
    注意,解压后会得到ramdisk镜像文件,该镜像文件会把原有的ramdisk.gz覆盖,因此如果想保留ramdisk.gz复制到其他文件夹后再解压。

  2. 挂载: #mkdir /mnt/loop
    #mount –o loop ramdisk /mnt/loop //挂载镜像到loop目录
    #cd /mnt/loop这里可以看到, 就是ramdisk.gz成功加载后的目录。

  3. 修改文件系统的内容比如设置固定的IP地址,MAC地址。

  4. umount /mnt/loop卸载 /mnt/loop0。

  5. 重新压缩成.gz压缩文件
    #gzip –v9 ramdisk//生成新的ramdisk.gz压缩文件。

㈧ android x86 6镜像怎么安装

方法/步骤
1
将U盘插入电脑,备份U盘中的文件 格式U盘 ,打开UltraISO。

2
在菜单栏依次点击【文件】->【打开】,选择刚才下载好的安卓x86安装镜像。

3
镜像打开后,在菜单栏依次点击【启动】->【写入硬盘映像】。

4
检查硬盘驱动器是否是刚才插入的U盘,写入方式选择“USB-HDD+”,然后点击【写入】按钮。

END
方法/步骤2
1
镜像写入完成后,不要拔U盘,重新启动电脑。进入Boot Menu,选择U盘启动。

2
从U盘启动进入Android x86安装菜单,从上至下四个选项依次为:直接运行Android x86、VESA模式、Debug模式以及硬盘安装向导;
3
硬盘安装第一步时创建一个专为存放Android系统的分区。选择【Create/Modify partitions】,进入磁盘分区界面。

END
方法/步骤3
1
在分区创建界面,按左右方向键将光标移动到【New】。

2
选择【Primary】首先创建一个主分区,这是由于系统必须安装在主分区上

3
然后输入需要创建的主分区容量大小,单位为MB。2g够了.

4
设置完分区后选择菜单的【Bootale】选项将分区设置成可启动分区(类似于Windows中的活动分区)。

5
5.选择【Write】,提示“warning!!...”输入“YES”回车即可完成分区新建,然后选择【Quit】选项返回安装分区选择界面。
END
方法/步骤4
1
主分区创建好之后,就可以将Android x86系统安装到之前创建的分区中。
1.返回到系统安装分区选择界面,刚才创建好的分区已经显示在菜单的列表中了,选择该分区作为你的系统分区,然后按回车键确定。

2
接下来选择分区的文件系统,建议选择【EXT3】,这是在移动版Android系统上最常用的分区之一,对安卓应用的兼容性更好。

3
安装引导加载程序确认,选择【YES】。


4.设置系统文件夹为可读写权限,选择【Yes】。适合开发者进行Debug,但会占用一点硬盘空间。如果不需要可以选择【No】。


5.当提示“...installed successfully” 安卓x86系统已经成功安装到硬盘上了。


6.在此界面上你还可以选择创建一个虚拟SD卡(Create a fake SD card),某些应用如微信就必须要使用SD卡才能正常运行。
7.虚拟SD卡创建出成功后,选择【Run Android-x86】。
8.后面的安装步骤只需按照提示操作就可以了,都是中文的。

㈨ 如何制作安卓平板系统镜像

对Android系统的所有模块进行编译之后,对编译出来的模块文件进行打包。
打包结果就是是获得一系列的镜像文件,例如system.img、boot.img、ramdisk.img、userdata.img和recovery.img等。
些镜像文件最终可以烧录到手机上运行。
Android编译系统在初始化的过程中,会通过根目录下的Makefile脚本加载build/core/main.mk脚本,接着build/core/main.mk脚本又会加载build/core/Makefile脚本,而Android系统镜像文件就是由build/core/Makefile脚本负责打包生成的。
system.img镜像文件描述的是设备上的system分区,即/system目录,它是在build/core/Makefile文件中生成的
build/core/main.mk文件定义了boot.img镜像文件的依赖规则,我们可以通过执行make bootimage命令来执行。其中,bootimage是一个伪目标,它依赖于INSTALLED_BOOTIMAGE_TARGET。
build/core/main.mk文件定义了ramdisk.img镜像文件的依赖规则,我们可以通过执行make ramdisk命令来执行。其中,ramdisk是一个伪目标,它依赖于INSTALLED_RAMDISK_TARGET。
userdata.img镜像描述的是Android系统的data分区,即/data目录,里面包含了用户安装的APP以及数据等等。
recovery.img是设备进入recovery模式时所加载的镜像。recovery模式就是用来更新系统的,我们可以认为我们的设备具有两个系统。一个是正常的系统,它由boot.img、system.img、ramdisk.img和userdata.img等组成,另外一个就是recovery系统,由recovery.img组成。平时我们进入的都是正常的系统,只有当我们需要更新这个正常的系统时,才会进入到recovery系统。因此,我们可以将recovery系统理解为在Linux Kernel之上运行的一个小小的用户空间运行时。这个用户空间运行时可以访问我们平时经常使用的那个系统的文件,从而实现对它的更新。

㈩ 如何修改Android系统的Ramdisk以及boot镜像

ramdisk 是一种基于内存的虚拟磁盘技术,采用ext2文件系统。ramdisk.gz是ramdisk文件再压缩后的格式。查看ramdisk.gz根文件系统,或者对原有的文件系统进行修改,只需解压,再把获得的镜像文件挂载即可。 修改步骤如下: 解压:转到ramdisk.gz所在文件夹 #gunzip ramdisk.gz 注意,解压后会得到ramdisk镜像文件,该镜像文件会把原有的ramdisk.gz覆盖,因此如果想保留ramdisk.gz复制到其他文件夹后再解压。 挂载: #mkdir /mnt/loop #mount –o loop ramdisk /mnt/loop //挂载镜像到loop目录 #cd /mnt/loop 这里可以看到, 就是ramdisk.gz成功加载后的目录。 修改文件系统的内容 比如设置固定的IP地址,MAC地址。 umount /mnt/loop卸载 /mnt/loop0。 重新压缩成.gz压缩文件 #gzip –v9 ramdisk//生成新的ramdisk.gz压缩文件。

热点内容
gpu并行编程 发布:2025-04-09 13:55:07 浏览:147
termux桌面服务器设置ip 发布:2025-04-09 13:52:05 浏览:304
x8f源码 发布:2025-04-09 13:52:04 浏览:105
安卓手机如何把原图的马赛克去掉 发布:2025-04-09 13:41:06 浏览:245
如何修改网银U盾密码 发布:2025-04-09 13:30:40 浏览:196
安卓渠道服怎么更换账号 发布:2025-04-09 13:29:54 浏览:549
linux读取文件c 发布:2025-04-09 13:29:44 浏览:327
python字符串追加 发布:2025-04-09 13:26:48 浏览:796
学之书数据库 发布:2025-04-09 13:26:07 浏览:639
粉碎数据库 发布:2025-04-09 13:21:02 浏览:701