① 安卓系統(android)怎樣才能成功編譯安裝『make』命令
tar.gz(bz或bz2等) 一、安裝1、打開一個SHELL,即終端2、用cd 命令進入源代碼壓縮包所在的目錄3、根據壓縮包類型解壓縮文件(*代表壓縮包名稱) tar -zxvf ****.tar.gztar -jxvf ****.tar.bz(或bz2)4、用CD命令進入解壓縮後的目錄5、輸入編譯文件命令:./configure(有的壓縮包已經 編譯過,這一步可以省去) 6、然後是命令:make 7、再是安裝文件命令:make install8、安裝完畢如果安裝了busybox命令就要這樣用: busybox+空格+命令
② android系統如何在windows下編譯
目前官網不提供在windows下對android的支持,只提供對linux/mac(類UNIX)的支持,可參考 http://source.android.com/source/download.html
android基於linux 內核,對其相關編譯和連接環境有依賴。建議在windows上安裝虛擬機,安裝linux來編譯。
③ 請問怎麼編譯安卓軟體
呵呵,你學過java吧,基本功就有了,安卓軟體是用java來寫的~不過我覺得安卓軟體是不用編譯的,因為裡面的主程序是格式化的xml文件,在軟體成形的過程中只是把一些文件打包起來就行了,你可以試下把安卓軟體的後綴名改成zip,就可以看見源程序和文件了~然後呢,你要想做安卓軟體的話,先搭建一個安卓的開發環境,用到的東西有Myeclipse這個軟體(你應該知道的),然後到網上下載安卓開發的SDK即開發字典~有一本叫安卓開發案例的書,可以看下,另外網上有很多的視頻教程~PS:我自己之前只寫過一個安卓的HELLO,WORLD!,由於大一事情比較多就沒有繼續研究了,如果你有問題可以CALL我哦,我們一起學~
④ 自己可以編譯安卓源碼嗎
用最新的Ubuntu 16.04,請首先確保自己已經安裝了Git.沒安裝的同學可以通過以下命令進行安裝:
sudo apt-get install git git config –global user.email 「[email protected]」 git config –global user.name 「test」
其中[email protected]為你自己的郵箱.
簡要說明
android源碼編譯的四個流程:1.源碼下載;2.構建編譯環境;3.編譯源碼;4運行.下文也將按照該流程講述.
源碼下載
由於某牆的原因,這里我們採用國內的鏡像源進行下載.
目前,可用的鏡像源一般是科大和清華的,具體使用差不多,這里我選擇清華大學鏡像進行說明.(參考:科大源,清華源)
repo工具下載及安裝
通過執行以下命令實現repo工具的下載和安裝
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo
補充說明
這里,我來簡單的介紹下repo工具,我們知道AOSP項目由不同的子項目組成,為了方便進行管理,Google採用Git對AOSP項目進行多倉庫管理.在聊repo工具之前,我先帶你來聊聊多倉庫項目:
我們有個非常龐大的項目Pre,該項目由很多個子項目R1,R2,...Rn等組成,為了方便管理和協同開發,我們為每個子項目創立自己的倉庫,整個項目的結構如下:
這里寫圖片描述
執行完該命令後,再使用make命令繼續編譯.某些情況下,當你執行jack-admin kill-server時可能提示你命令不存在,此時去你去out/host/linux-x86/bin/目錄下會發現不存在jack-admin文件.如果我是你,我就會重新repo sync下,然後從頭來過.
錯誤三:使用emulator時,虛擬機停在黑屏界面,點擊無任何響應.此時,可能是kerner內核問題,解決方法如下:
執行如下命令:
通過使用kernel-qemu-armv7內核 解決模擬器等待黑屏問題.而-partition-size 1024 則是解決警告: system partion siez adjusted to match image file (163 MB >66 MB)
如果你一開始編譯的版本是aosp_arm-eng,使用上述命令仍然不能解決等待黑屏問題時,不妨編譯aosp_arm64-eng試試.
結束吧
到現在為止,你已經了解了整個android編譯的流程.除此之外,我也簡單的說明android源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.
⑤ 如何將apk源碼編譯進android系統
把源碼放到packages/apps目錄下
寫個mk文件,放到你的app的工程根目錄下
在源碼中mmm這個app的路徑
⑥ 如何編譯android sdk
如果沒有真正開發板,又想深入到android
framework里,或kernel里的話,就只能用android
的emulator了。
但是我們下載的android
SDK沒有源代碼,我們沒辦法跟蹤修改framework和kernel里的東西。
所以有了想嘗試自己從頭生成SDK的想法。
1.
首先下載編譯android所有source
code.
具體步驟這里不再贅述,參考ht
tp:/
/source.and
roid.c
om/download
cd
mydroid
repo
init
-u
git://android.git.kernel.org/platform/manifest.git
repo
sync
一點小提示:
有時候google的android伺服器老是斷,總不能讓我們守在電腦旁邊一直手工重新repo
sync吧,這可是需要N個小時才能下載完的啊。
我們就寫個小腳本讓電腦自動repo
sync,直到下載成功為止:
#!/bin/sh
count=0
ret=1
while
[
$ret
-ne
0
]
do
repo
sync
ret=$?
count=$((
$count
+
1))
echo
"try
$count,
ret:
$ret"
done
echo
"try
$count,
ret:
$ret"
把上面的內容復制到一個文件里tryrepo.sh
然後修改tryrepo.sh的屬性,開始自動工作吧。第二點早上應該就大功告成了
chmod
a+x
tryrepo.sh
./tryrepo.sh
2.
編譯android,
生成SDK
make
sdk
漫長的等待之後,SDK生成了,在目錄:mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\
在linux下面可以直接運行mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\tools\android
就可以看到熟悉的android
emulator啟動界面。
如果想在windows
XP下使用這個SDK和emulator,
最簡單的方法是:
(1)自己下載一個最新的windows版本的android
2.0
SDK。
(2)把mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\下的東西復制到windows版SDK的platforms下。
(3)
然後把platforms下android-2.0下tools目錄下的幾個.exe文件復制到自己編譯的SDK目錄下的tools目錄下。
⑦ 有手機的源代碼,如何編譯安卓4.4的系統
代碼編譯…
恐怕這個不是隨隨便便在這里幾句話就能說明白的…
首先要下載安卓4.4的內核,
然後要把廠商的手機源代碼編譯進去,
還要自己寫腳本,
很多都是很技術的活。
lz確定能hold住么?
⑧ 如何將源代碼編譯後的文件編譯到android中
1.將應用程序源碼復制進Android源碼目錄中(提前編譯好源碼)
2.使用build/envsteup.sh 配置shell -
mm TARGET_PRODUCT=proct_name
或直接./build_android.sh 也能完成編譯。
3.在源碼目錄:out/target/proct/proctname/obj/APPS/test_cert_intermediates 下有三個文件:package.apk package.apk.unsigned package.apk.unaligned
將package.apk.unsigned復制出來,單獨進行sign.
4.在Windows下進行sign: jarsigner -verbose -keystore youkey.keystore d:\package.apk.unsigned youkey
5.zipalign -v 4 d:\package.apk.unsigned d:\package.signed.apk
⑨ 如何把應用程序app編譯進android系統
把常用的應用程序編譯到img文件中,就成了系統的一部分,用戶不必自己安裝,當然也卸載不了;
同時也可以刪減系統自帶的應用程序,精簡系統;
1.\build\target\proct
目錄下generic.mk文件:
Java代碼
收藏代碼
PRODUCT_PACKAGES
:=
\
AccountAndSyncSettings
\
DeskClock
\
AlarmProvider
\
Bluetooth
\
Calculator
\
Calendar
\
Camera
\
testMid
\
CertInstaller
\
DrmProvider
\
Email
\
Gallery3D
\
LatinIME
\
Launcher2
\
Mms
\
Music
\
我們添加一個testMid
\
應用名稱。
2.把testMid包放入
\packages\apps
目錄下,修改android.mk文件。
Java代碼
收藏代碼
LOCAL_PATH:=
$(call
my-dir)
include
$(CLEAR_VARS)
LOCAL_MODULE_TAGS
:=
optional
LOCAL_SRC_FILES
:=
$(call
all-subdir-java-files)
LOCAL_PACKAGE_NAME
:=
testMid
LOCAL_CERTIFICATE
:=
platform
include
$(BUILD_PACKAGE)
註:LOCAL_PACKAGE_NAME
:=
testMid
(包名必須和generic.mk中添加的相同)
編譯源碼,可以看到在
\out\target\proct\smdkv210\system\app
目錄下生存了testMid.apk了。這時system.img也包含了此應用。
-------------------------------------------------------------------
特殊情況:有時,應用需要包含jar包,這時的app導入源碼時會出現問題:
MODULE.TARGET.JAVA_LIBRARIES.libarity
already
defined
by
...
stop
由於
LOCAL_STATIC_JAVA_LIBRARIES
:=
libarity
會引發錯誤信息。
目前解決方法是:
\build\core
目錄下修改base_rules.mk
注釋掉錯誤信息:
ifdef
$(mole_id)
#$(error
$(LOCAL_PATH):
$(mole_id)
already
defined
by
$($(mole_id)))
endif
$(mole_id)
:=
$(LOCAL_PATH)
--重新編譯,這時可以通過了。
(2)、刪除原廠(Telchips)帶源碼的應用程序,如DTV_DVBT
在/device/telechips/m801/device.mk
注釋掉相應語句:
#
PRODUCT_PACKAGES
+=
\
#
SampleDVBTPlayer
\
同時,在/out/target/proct/m801/system/app
找到相應的.APK包,並刪除
⑩ 如何編譯一個精簡的Android系統
本次試驗使用的android源碼是4.2,編譯的架構是mini-mips。
一、所做的工作
1、修改build/target/proct/mini.mk,去掉一些不必要的模塊(例如Phone、DownloadManager等)
2、修改SystemServer.java,屏蔽一些service,讓系統能夠啟動起來(例如,Location Manager、Telephony Registry)
3、修改dalvik/vm/native/dalvik_system_Zygote.cpp,注釋掉因為檢查不到外部存儲而導致dalvik abort的地方 (這是googel的一個bug,在2013年1月份已解決,如果用這以後的代碼不用修改此處)
4、修改WindowManagerService.java,把發送BOOT_TIMEOUT消息的時間改為0(之前為30秒)
二、系統優化後的效果(驗證工作均在mips模擬器上進行)
1、節省運行內存,下面是全編譯與mini編譯的內存使用狀態的對比
1)full build
MemTotal: 499360 kB
MemFree: 242064 kB
2)mini build
MemTotal: 499360 kB
MemFree: 395192 kB
2、縮短開機啟動時間
在虛擬機上的啟動時間
1)full build-29秒
2)mini build-14秒
3、只啟動home程序,其餘的應用程序均被移除
三、保留android的開發環境
1、adb,ddms,apkinstall等,都能正常工作
2、在eclipse中編寫的android應用程序能夠運行在該mini-android之上
四、開機自動啟動指定應用程序
本次測試使用Gallery.apk應用程序,修改其源碼後可以實現隨系統的啟動而自動啟動的功能。