ubuntu安卓快速編譯
A. ubuntu 16.04編譯android6.0怎麼設置jack
配置環境變數,在可以直接在/etc/profile下直接添加,或者在profile.d文件夾下新建自己的環境變數sh腳本,推薦用此方法,便於後期添加其他環境變數
export java_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH12341234
在使能環境變數
source /etc/profile
B. 如何在Ubuntu下編譯生成自己創建的Cocos2dx項目
剛開始對makefile不熟悉,結果弄了好久才弄好,在這里記錄一下,順便也給那些有需要的人做一個參考,不要走太多的彎路。
首先運行create-android-project.sh創建一個新的項目,我比較喜歡把項目放在一起,比較好管理,所以我把新建的項目移動到當前用戶目錄下的Projects/Cocos2dx目錄下。
然後進入proj.Android/jni目錄下,打開Android.mk,修改如下:將:COCOS2DX_ROOT="$DIR/../.."
改為:COCOS2DX_ROOT="$DIR/../../../../cocos2d-x-2.1.5/" #相對於當前目錄的cocos2d-x的目錄,這是我的目錄
修改完成後保存以後就可以運行build_native.sh編譯Android下的項目了,如果提示NDK_ROOT沒有設置的話就使用export NDK_ROOT=(你的NDK的目錄,同樣也是相對於當前目錄的位置枯褲),例如我的是export NDK_ROOT = ../../../../Android/ndk-r9
如果想在Ubuntu下直接編譯運行的話,就按下面的方法:
先新建一個項目下新建一個文件夾proj.linux,然後在proj.linux下新建一個main.cpp文件,內容如下:#include"
../Classes/AppDelegate.h"#include"cocos2d.h"#include<stdlib.h#include<stdio.h#include<unistd.h#include<string
USING_NS_CC;intmain(intargc,
char**argv){AppDelegate app;CCEGLView*elgView =CCEGLView::sharedOpenGLView();elgView-setFrameSize(800,
480);returnCCApplication::sharedApplication()-run();}View Code這個代碼同樣,可以直接在例子中直接復制過來。
接著在proj.linux下新建一個Makefile,內容如下(也可以直接從cocos2d-x中的例子中復制一個過來,然後按自己的項差跡目修改):
EXECUTABLE =
newpathtest #要生成的目標的名字INCLUDES= -I.. -I../
ClassesSOURCES= main.
/Classes/AppDelegate.
/Classes/HelloWorldScene.
cppCOCOS_ROOT= ../../../../cocos2d-x-
2.1.5#相對於當前目錄的cocos2d-x的位置include $(COCOS_ROOT)
/cocos2dx/proj.linux/
cocos2dx.mkSHAREDLIBS+= -lcocos2d -
lcocosdenshionCOCOS_LIBS= $(LIB_DIR)/libcocos2d.so $(LIB_DIR)/
libcocosdenshion.soINCLUDES+= -I$(COCOS_ROOT)/CocosDenshion/虛敗並include
$(TARGET): $(OBJECTS) $(STATICLIBS) $(COCOS_LIBS) $(CORE_MAKEFILE_LIST)@mkdir-p $(@D)$(LOG_LINK)$(CXX) $(CXXFLAGS) $(OBJECTS)-o $@ $(SHAREDLIBS) $(STATICLIBS)$(OBJ_DIR)/%.o: %.
cpp$(CORE_MAKEFILE_LIST)@mkdir-p $(@D)$(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) $(VISIBILITY)-c $< -o $@$(OBJ_DIR)/%.o: ../%.
cpp$(CORE_MAKEFILE_LIST)@mkdir-p $(@D)$(LOG_CXX)$(CXX) $(CXXFLAGS) $(INCLUDES) $(DEFINES) $(VISIBILITY)
-c $< -o $@View Code最後在proj.linux目錄下執行命令: make DEBUG=1 all 即可。
當然,這些手動建造太麻煩,你也可以寫一個shell文件來處理。
C. 如何用ubuntu 12.04 32bit 編譯android 4.4.4
系統環境
系統:Ubuntu12.04 64位系統。
源碼:Android4.4源碼。
選擇Ubuntu12.04,是因為在14.04上沒能折騰成功,在上面兼容32位程序的配置有點煩。12.04必須要用64位的,編譯Android4.4時需要64位環境,同時要兼容32位程序,折騰。
步驟
配置jdk6
Android官方給的步驟是用OpenJdk,實測是不行的。網上找到https://jdk6.java.net/download.html
這個網址有需要的jdk,下載自解壓安裝包。自解壓後在當前目錄下生成一個jdk的目錄,打開/etc/environment,增加自己的jdk
bin目錄到PATH裡面。同時新增如下環境變數:
CLASSPATH=/path/to/your/local/jdk/dir/lib
JAVA_HOME=/path/to/your/local/jdk/dir
然後執行如下命令,設置系統的默認jdk:
$ sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.6.0_38/bin/java 300
$ sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.6.0_38/bin/javac 300
$ sudo update-alternatives --install /usr/bin/javaws javaws /usr/local/java/jdk1.6.0_38/bin/javaws 300
$ sudo update-alternatives --install /usr/bin/jar jar /usr/local/java/jdk1.6.0_38/bin/jar 300
$ sudo update-alternatives --install /usr/bin/javap javap /usr/local/java/jdk1.6.0_38/bin/javap 300
$ sudo update-alternatives --config java
安裝軟體包
能裝的都要裝上,以免編譯失敗,又要回過頭重裝,如下:
$ sudo apt-get install build-essential make gcc g++ libc6-dev texinfo
libncurses-dev git-core gnupg flex bison zip curl ncurses-dev libsdl-dev
zlib1g-dev ia32-libs libxml2-utils lzma
編譯源碼
到源碼目錄下,如下:
$ source build/envsetup.sh
$ lunch
選擇arm平台。
$ make -jn
n為CPU個數的兩倍,主要是提高編譯速度。
可能的錯誤
編譯過程碰到如下錯誤:
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
一般情況是因為前面的javap沒有配置所致。如果必須的軟體包沒有安裝,也會有類似的提示,仔細向上翻看錯誤提示,找到真正的錯誤地方,安裝對應的軟體包即可。
D. ubuntu12.04編譯android源碼要多久
這個關鍵是要看你的電腦配置情況,以及代碼的附加情況,有的平台軟體會附加很多東西上去,編譯就比較慢了。
我們這邊使用的是四核八線程的電腦,32GB內存,
原生代碼 4.4 八線程編譯40分鍾左右,5.1,一個半小時左右,6.0的大約一個小時,以上是原生代碼編譯模擬器的時間。
高通代碼6.0編譯一般需要兩個小時左右,mtk的也是兩個小時左右,
E. 編譯安卓5.0源碼使用什麼系統
1、ubuntu需要安裝openjdk 7
2、 如果沒有openjdk 7的話,需要下載jdk7,然後修改 build/core/main.mk 177行,將requires_openjdk := true 改成false
3 、編譯,如果出現chromium_org的問題,將 external/chromium_org/Android.mk 中 18行添加一個PRODUCT_PREBUILT_WEBVIEWCHROMIUM :=yes
4 、然後初始化編譯環境
5 、make systemimage
不淡定的朋友趕緊開工吧!