参见README对于应用程序结构的完整描述。
用Brunch开发
1
brunch watch –server
让Brunch看管你的工程,当有资源文件变动的时候立即重建工程。可选服务器标记启动一个有pushState支持的简单web服务器。
如果你使用OS X 并且希望每次编译错误发生时brunch显示系统提示,你将需要安装 terminal-notifier: brew install terminal-notifier.
用Brunch构建
本帖最后由 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/product/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
开发环境搭建
在windows下安装nodejs Python的编译运行环境比较复杂,主要是nodejs有些库文件 是需要C++ 、ruby、python等一些语言进行编译,所以在Linux上搭建这些环境简单,使用samba协议共享Linux中的文件,在linux上运行测试,在windows下进行代码修改。
开发流程
在ambari-web工程下,运行命令,下载好ambari相应的源码,进入相应的目录中。[root@bigData-02 ambari-web]# brunch watch –server ;
在window上,通过远程连接访问到samba共享出来的目录,修改相应的代码,ambari-web项目会自动编译,在浏览器刷新,会看到修改后的效果。
打包。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)