编译rom
如果我没理解错的话,你的“linux 内核”是针对PC,intel处理器;“linux ROM”是针对移动设备(比如adnroid 内核),ARM处理器。那区别就是编译器把内核翻译成intel能懂的机器语言,还是arm能懂得,他们架构完全不一样以及使用完全不同的指令集。
//////////////////////////////////////////////////////////////////////////////
android内核是指google 基于linux kernel定制的操作系统内核,主要添加了一些android设备驱动,是具备跨平台能力的源码;android ROM是指编译好的整个android操作系统,不光光是内核了,还有外围的一些库,等等;andriod源码是指整个android 操作系统的源码,包括内核,各种库,java层封装,sdk等等。
‘贰’ MTK 怎么把apk自带的so文件编译到rom里边
一般情况下,MTK 文档上面是有这个说明的,要把apk中的so文件,放到alpsvendormediatekckt72_wet_jb3artifactsout argetproctckt72_wet_jb3systemlib 里边。注释 ckt72_wet_jb3 是项目名字,但是这里会有一个Bug。就是当你不再用第三方apk的时候,这个so文件依旧会打包进去到rom里边,如果你累计的so文件过大的话,rom就会变大,会影响内存运行的。这个时候,我们要想一个办法解决才行。
如图所示 建立这样的目录。lib里边放的是apk里边的so文件,Android.mk文件里面的内容如下
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := feizai
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
PRODUCT_COPY_FILES += $(LOCAL_PATH)/lib/libabenchmark.so:system/lib/libabenchmark.so
include $(BUILD_PREBUILT)
如果你apk的so文件不止一个,如下添加
PRODUCT_COPY_FILES+=
$(LOCAL_PATH)/libem_aitalk5.so:system/lib/libem_aitalk5.so
$(LOCAL_PATH)/libspeechmsc.so:system/lib/libspeechmsc.so
$(LOCAL_PATH)/libttsaisound.so:system/lib/libttsaisound.so
$(LOCAL_PATH)/libvadLib.so:system/lib/libvadLib.so
顶
0
‘叁’ 怎样从源码编译rom
本帖最后由 pigjohn 于 2014-2-10 20:24 编辑
一、你需要:
1.linux系统环境
教程使用ubuntu 12.04(LTS)
硬盘安装或虚拟机安装应该都ok。
2.电脑配置不要太差
二、搭建编译环境:
1.java安装配置
1) 删除旧版本java
ctrl+alt+t 打开终端。
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
sudo apt-get purge sun-java
复制代码
2) 安装java 1.6
添加软件源,打开终端输入
sudo add-apt-repository ppa:webupd8team/java
复制代码
下载安装,打开终端输入
sudo apt-get update && sudo apt-get install oracle-java6-installer
复制代码
跟随屏幕提示,你需要接受使用条款。
安装完成后,终端输入java -version,你会看到java版本信息。类似
java version “1.6.0_37″
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
复制代码
2.安装依赖软件
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev \
ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 \
lib32z-dev libgl1-mesa-dev g++-multilib mingw32 \
tofrodos python-markdown libxml2-utils xsltproc readline-common \
libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev \
lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 \
libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev \
libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.6-dev
复制代码
等待安装配置完成
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
复制代码
三、源码下载
1.repo脚本下载
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo
$ chmod a+x ~/bin/repo
复制代码
2.初始化repo同步
mkdir ~/cm11
cd ~/cm11
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
复制代码
你需要按提示输入用户名和邮箱。
3.9003device源码
cd ~/cm11/.repo
mkdir local_manifests && cd local_manifests
gedit roomservice.xml
复制代码
粘贴以下内容
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="dhiru1602/android_device_samsung_galaxysl" path="device/samsung/galaxysl" remote="github" revision="cm-11.0" />
<project name="dhiru1602/android_vendor_samsung_galaxysl" path="vendor/samsung/galaxysl" remote="github" revision="cm-11.0" />
<project name="dhiru1602/android_kernel_samsung_latona" path="kernel/samsung/latona" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="cm-11.0"/>
</manifest>
复制代码
保存。
4.同步源码
cd ~/cm11
repo sync -j8
复制代码
源码有好几个G,同步时间长短取决于你的网络速度。
四、编译
1.编译之前同步最新源码
repo sync
复制代码
2.初始化环境
. build/envsetup.sh
复制代码
3.编译
brunch galaxysl
复制代码
接着喝杯茶,编译时间长短取决于你的电脑配置。
不出意外,你会最终得到~/cm11/out/target/proct/galaxysl/cm-11-XXXXX-UNOFFICIAL-galaxysl.zip
五、刷机测试
以上就是编译cm11的过程。
对于其他rom,类似。
mokee:
mkdir ~/mokee && cd ~/mokee
repo init -u https://github.com/MoKee/android.git -b kk_mkt
‘肆’ MPLAB如何将指定的程序编译到指定的ROM
看你用的什么DSP,TI的DSP用的软件是CCS,要和仿真器一起使用,仿真器接口现在USB的比较多,调试的时候是把程序load到RAM里面运行,断电后就没了。调试好了的程序烧到Flash里面,这个软件也个烧写插件,可以直接烧写。
‘伍’ 如何编译手机rom
先同步源码,时间很长,在这过程中可以去配置编译环境,具体要装哪些依赖你可以去cm官网看一下,然后同步源码好了之后同步你机型的device,如果官方没有device就需要自己写device了。完事就可以编译了
cd <源码所在目录>
. build/envsetup.sh
brunch <你的设备的名>
例如google n4 是mako ,
那就是brunch mako
然后就开始编译了。
编译时间很长。晚上睡觉前放那编译,然后早上差不多就好了。差不多5小时的样子
‘陆’ android源码编译后如何制作成rom
SDK是开发包,不是完整源代码吧。你可能需要在Linux上repo完整4.3源代码(25G左右,精简后8个多G)。如果手机内核不是3.0以上可能还要重新编译更新内核(Android4.3貌似一定要3.0以上内核版本)。其实我也不知道如何制作Rom,但略懂下载编译Android源代码和内核源代码,也想知道如何从源代码制作rom,希望能与楼主交流!
‘柒’ 如何编译一个可以烧写进手机中的ROM,Android安卓开发者
首先.还是跟其它文章讲的一样.先下载ANDORID的源码.在下源码之前.请看下面第一步
----------
增加代码,下真机配置
1
vim .repo/local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel" name="kernel/msm" revision="refs/heads/android-msm-2.6.29"/>
<project path="hardware/htc/dream" name="platform/hardware/htc/dream" revision="master"/>
</manifest>
增加上面这段代码,为一个配置.告诉服务器.我们下的代码.是要装进真机的.
(就为了多下载一个KERNEL下来。。还有下载DREAM的真机配置参数..)
小哈在这里折腾了很久.很久..非常久..回忆起来内牛满面
-----
下相关的代码
2.
repo sync
-----
3.
vim env_rc
加入:
export EMU=/home/coconut/cupcake/out/host/linux-x86/bin
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:/home/coconut/cupcake/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin:${EMU}
source env_rc
4.
编译内核及无线网络驱动
$ cd $ANDROID/kernel
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- msm_defconfig # 设定默认的msm配置
#编译内核
make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
#编译无线网络驱动
cd $ANDROID/system/wlan/ti/sta_dk_4_0_4_32
make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- KERNEL_DIR=$ANDROID/kernel
//内核拷到目录下
$ cp $ANDROID/kernel/arch/arm/boot/zImage $ANDROID/vendor/htc/dream-open/kernel
$ cp $ANDROID/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko $ANDROID/vendor/htc/dream-open/wlan.ko
5.
在HTC网站(developer.htc.com/adp.html)
下载名为signed-dream_devphone_userdebug-ota-14721.zip的包,并把它放在$ANDROID目录下
$ cd $ANDROID
$ source build/envsetup.sh
$ lunch aosp_dream_us-eng # 指明机型
这样编译出来.就会在OUT下出来一个DREAM_OPEN的目录.里面就有相关的镜像文件了.
$ cd vendor/htc/dream-open
$ ./unzip-files.sh # 解压htc相关驱动
$ cd $ANDROID
$ vi buildspec.mk # 新建配置文件
----
Vim htc_dream.mk
vim /oracle/android/src/vendor/htc/dream-open/htc_dream.mk
在头部增加
PRODUCT_PACKAGES := \
Calculator \
Email \
ImProvider \
SdkSetup \
VoiceDialer
完成。
回到根目录
cd /oracle/android/src
vim buildspec.mk
加入( 2010.7.7 不需要加入):
#TARGET_PRODUCT:=htc_dream
#TARGET_PREBUILT_KERNEL:=kernel/arch/arm/boot/zImage
增加:
CUSTOM_LOCALES:=zh_CN
然后:
其中增加环境:
ubuntu 8.10 , sudo apt-get libelf-dev
make clean
// 保证PC有 1280 内存, 加上 1000 SWAP空间..虚拟机也是如此.
然后开始编译 BOOT.IMG SYSTEM.IMG USERDATA.IMG:
make -j2
接下来
mmm -B $ANDROID/packages/apps/Luancher/ snod
cd out/target/proct/dream-open/
//先测试:
emulator -system . -kernel ~/cupcake/prebuilt/android-arm/kernel/kernel-qemu -data userdata.img
因为出来了BOOT.IMG.这个是真机的..所以不能用BOOT做为内核.要用模拟器来做内核.
//然后开始烧机
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot reboot
‘捌’ 如何制作刷机包可不可以从手机中导出rom进行修改,编译为刷机包
你可以借助第三方工具进行修改,像用蘑菇rom助手
什么的,都比较简单,你在网上找找视频
‘玖’ 预算七八千左右,求一台电脑硬件配置,用来做编译android ROM用!
主你好,8000元的主机性能已经非常强大了,足以通杀目前所有的大型单机游戏,个人强烈推荐性能与I7 2600相当,但价格便宜500元的英特尔最新推出的采用22纳米工艺和Ivy Bridge内核,69瓦低功耗,集成DDR3 1600内存控制器的E3-1230 V2处理器,配置如下:
CPU: Intel 酷睿i7 2600K(盒) 1920
风扇:超频三黄海增强版S90D 双风扇 双铜管散热 18dB低噪音 95
主板:微星Z77A-GD55 采用9相供电 具备2个SATA3和2个原生USB3.0接口 推荐首选 1399
华硕P8Z77-V LE 采用6+2相供电 具备2个SATA3和6个原生USB3.0接口 1399
内存:金士顿HyperX PnP 8GB DDR3 1600 330
硬盘:系统盘 美光m4 CT64M4SSD2(64GB) 669
存储盘 希捷Barracuda 1TB 7200转 64MB 单碟 560
显卡:索泰GTX 570毁灭者 HA(显卡芯片:GeForce GTX 570 显存容量:1280MB GDDR5 显存位宽:320bit 核心频率:732MHz 显存频率:3800MHz 流处理器480个)2599
华硕ENGTX570 DCII/2DIS/1280MD5(显卡芯片:GeForce GTX 570 显存容量:1280MB GDDR5 显存位宽:320bit 核心频率:742MHz 显存频率:3800MHz 流处理器480个)2999
蓝宝HD7870 2GB GDDR5海外版(显卡芯片:Radeon HD 7870 显存容量:2048MB GDDR5 显存位宽:256bit 核心频率:1000MHz 显存频率:4800MHz 流处理器1280个)2899
蓝宝HD6970 2GB GDDR5(显卡芯片:Radeon HD 6970 显存容量:2048MB GDDR5 显存位宽:256bit 核心频率:880MHz 显存频率:5500MHz 流处理器1536个)2999
电源:ANTEC VP550P 额定550瓦最大632瓦主动式 399
机箱:游戏悍将特种部队阿尔法战争版 尺寸520×218×510mm 可容纳38厘米显卡 399
合计:7845
说明:性能强大性价比极高的处理器、英特尔最新推出的7系Z77芯片组主板(拥有Z68的全部功能,并且具备原生的USB3.0接口)、8G DDR3 1600内存、GTX570显卡、安钛克额定550瓦电源、外观漂亮板材扎实的机箱,目前没有玩不了的大游戏了
‘拾’ 如何自己编译android系统并制作刷机包
android系统制作刷机包方法:
【一】:下载安装最新版ROM助手(市场中有很多类似的制作工具,关键要求操作简单,功能强大),安装程序非常简单,只需在一只蘑菇首页内直接下载,并解压到自己的电脑安装即可。
【二】:如果已经下载了与机型匹配的ROM刷机包,那么现在可以直接打开ROM助手了,接下来绘制专属个性的完美刷机包就从这里开始吧。
【三】:打开软件后,它会自动升级到最新版本,另外打开主界面后,会直观简明的显示出它的所有功能,例如:性能优化,系统精简,预装APK,签名打包等等。提醒大家,不要贪心哦,要根据自己的需求点击需要操作的功能,如系统精简,然后进入操作界面,所有功能全部修改一遍也无妨,反正都是一键操作,省时省力。