android編譯系統配置要求
㈠ android開發對計算機配置有什麼要求
不需要太高配置的,有個1.5G的內存能流暢跑eclipse就行了。
在windows安裝Android的開發環境不簡單也說不上算復雜,分為五步。
第一步:安裝JDK
要下載Oracle公司的JDK可以網路「JDK」進入Oracle公司的JDK下載頁面(當前下載頁面地址為http://www.oracle.com/technetwork/java/javase/downloads/index.html),選擇自己電腦系統的對應版本即可。
下載到本地電腦後雙擊進行安裝。JDK默認安裝成功後,會在系統目錄下出現兩個文件夾,一個代表jdk,一個代表jre。
JDK的全稱是Java SE Development Kit,也就是Java開發工具箱。SE表示標准版。JDK是Java的核心,包含了Java的運行環境(Java Runtime Environment),一堆Java工具和給開發者開發應用程序時調用的Java類庫。
我們可以打開jdk的安裝目錄下的Bin目錄,裡面有許多後綴名為exe的可執行程序,這些都是JDK包含的工具。通過第二步講到的配置JDK的變數環境,我們可以方便地調用這些工具及它們的命令。
JDK包含的基本工具主要有:
javac:Java編譯器,將源代碼轉成位元組碼。
jar:打包工具,將相關的類文件打包成一個文件。
javadoc:文檔生成器,從源碼注釋中提取文檔。
jdb:debugger,調試查錯工具。
java:運行編譯後的java程序。
第二步:配置Windows上JDK的變數環境
很多剛學java開發的人按照網上的教程可以很輕松配置好Windows上JDK的變數環境,但是為什麼要這么配置並沒有多想。
我們平時打開一個應用程序,一般是通過桌面的應用程序圖標雙擊或單擊系統開始菜單中應用程序的菜單鏈接,無論是桌面的快捷圖標還是菜單鏈接都包含了應用程序的安裝位置信息,打開它們的時候系統會按照這些位置信息找到安裝目錄然後啟動程序。
知道了一個應用程序的安裝目錄位置,我們也可以通過命令行工具打開,如QQ的位置為:C:\Program Files(x86)\Tencent\QQ\QQProtect\Bin,QQ的應用程序名為為QQProtect.exe,那麼我們打開命令行工具,然後進入到「C:\Program Files(x86)\Tencent\QQ\QQProtect\Bin」目錄,再輸入「QQProtect」,即可運行qq。
如果我們希望打開命令行工具後,直接輸入「QQProtect」就能啟動qq程序,而不是每次都進入qq的安裝目錄再啟動,這個時候可以通過配置系統環境變數Path來實現。右擊「我的電腦」,選擇「屬性」,在打開窗口中點擊左邊的「高級系統設置」,出現「系統屬性」窗口,在「高級」選項卡下面點擊「環境變數」。
編輯系統變數名「Path」,在「Path」變數(字元串內容)的後面追加qq的安裝目錄:;C:\Program Files(x86)\Tencent\QQ\QQProtect\Bin注意追加的時候要在目錄字元串的前面加個英文的分號;,英文分號是用來區分Path裡面不同的路徑。
確定保存後,再回到命令窗口,不管在任何目錄下,你只要輸入qqprotect的命令,qq就會啟動。
通過啟動qq的例子,我們總結下:當要求系統啟動一個應用程序時,系統會先在當前目錄下查找,如果沒有則在系統變數Path指定的路徑去查找。前面我們說了JDK包含了一堆開發工具,這些開發工具都在JDK的安裝目錄下,為了方便使用這些開發工具,我們有必要把JDK的安裝目錄設置了系統變數。這就是為什麼在Windows安裝了JDK後需要設置JDK的bin目錄為系統環境變數的原因。
為了配置JDK的系統變數環境,我們需要設置三個系統變數,分別是JAVA_HOME,Path和CLASSPATH。下面是這三個變數的設置防範。
JAVA_HOME
先設置這個系統變數名稱,變數值為JDK在你電腦上的安裝路徑:C:\Program Files\Java\jdk1.8.0_20。創建好後則可以利用%JAVA_HOME%作為JDK安裝目錄的統一引用路徑。
Path
PATH屬性已存在,可直接編輯,在原來變數後追加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。
CLASSPATH
設置系統變數名為:CLASSPATH變數值為:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。
注意變數值字元串前面有一個"."表示當前目錄,設置CLASSPATH的目的,在於告訴Java執行環境,在哪些目錄下可以找到您所要執行的Java程序所需要的類或者包。
第三步:下載安裝Eclipse
Eclipse為Java應用程序及Android開發的IDE(集成開發環境)。Eclipse不需要安裝,下載後把解壓包解壓後,剪切eclipse文件夾到你想安裝的地方,打開時設置你的工作目錄即可。
Eclipse的版本有多個,這里選擇下載Eclipse IDE for Java EE Developers這個版本。
第四步:下載安裝Android SDK
配置了JDK變數環境,安裝好了Eclipse,這個時候如果只是開發普通的JAVA應用程序,那麼Java的開發環境已經准備好了。我們要通過Eclipse來開發Android應用程序,那麼我們需要下載Android SDK(Software Development Kit)和在Eclipse安裝ADT插件,這個插件能讓Eclipse和Android SDK關聯起來。
Android SDK提供了開發Android應用程序所需的API庫和構建、測試和調試Android應用程序所需的開發工具。
打開http://developer.android.com/sdk/index.html,我們發現google提供了集成了Eclipse的Android Developer Tools,因為我們這次是已經下載了Eclipse,所以我們選擇單獨下載Android SDK。
下載後雙擊安裝,指定Android SDK的安裝目錄,為了方便使用Android SDK包含的開發工具,我們在系統環境變數中的Path設置Android SDK的安裝目錄下的tools目錄。
在Android SDK的安裝目錄下,雙擊「SDK Manager.exe」,打開Android SDK Manager,Android SDK Manage負責下載或更新不同版本的SDK包,我們看到默認安裝的Android SDK Manager只安裝了一個版本的sdk tools。
打開Android SDK Manager,它會獲取可安裝的sdk版本,但是國內有牆,有時候會出現獲取失敗的情況。
從彈出的log窗口中,我們可以看到連接「https://dl-ssl.google.com」失敗了。我們通過ping命令,發現果然網路不通。
從萬能的互聯網上,我們找到了解決這個問題的方案,而且行之有效。
更改host文件
首先更改host文件,host文件在C:\Windows\System32\drivers\etc目錄下,用記事本打開「hosts」文件,將下面兩行信息追加到hosts文件末尾,保存即可。如果你的是windows8系統可能沒有許可權修改host文件,可以右擊hosts文件,將Users組設置為可對hosts文件完全控制的許可權即可。
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com
上面兩行放在host文件的意思是將本地訪問dl.google.com和dl-ssl.google.com定向到ip地址為203.208.46.146的伺服器上。
將Android SDK Manage上的https請求改成http請求
打開Android SDK Manager,在Tools下的Options裡面,有一項Force https://..sources to be fetched using http://...將這一項勾選上,就可以了。
再打開Android SDK Manager.exe,正常情況下就可以下載Android的各個版本的sdk了。你只需要選擇想要安裝或更新的安裝包安裝即可。這里是比較耗時的過程,還會出現下載失敗的情況,失敗的安裝包只需要重新選擇後再安裝就可以了。
如果通過更改DNS也無法下載Android SDK,還有兩個方法,第一個是自備梯子FQ,第二個是從這個網站上下載,下載的地址是:http://www.androiddevtools.cn/
第五步:為Eclipse安裝ADT插件
前面我們已經配置好了java的開發環境,安裝了開發Android的IDE,下載安裝了Android SDK,但是Eclipse還沒有和Android SDK進行關聯,也就是它們現在是互相獨立的,就好比槍和子彈分開了。為了使得Android應用的創建,運行和調試更加方便快捷,Android的開發團隊專門針對Eclipse IDE定製了一個插件:Android Development Tools(ADT)。
下面是在線安裝ADT的方法:
啟動Eclipse,點擊Help菜單->Install New Software…?,點擊彈出對話框中的Add…按鈕。
然後在彈出的對話框中的Location中輸入:http://dl-ssl.google.com/android/eclipse/,Name可以輸入ADT,點擊「OK」按鈕。
在彈出的對話框選擇要安裝的工具,然後下一步就可以了。
安裝好後會要求你重啟Eclipse,Eclipse會根據目錄的位置智能地和它相同目錄下Android sdk進行關聯,如果你還沒有通過sdk manager工具安裝Android任何版本的的sdk,它會提醒立刻安裝它們。
如果Eclipse沒有自動關聯Android sdk的安裝目錄,那麼你可以在打開的Eclipse選擇Window->Preferences,在彈出面板中就會看到Android設置項,填上安裝的SDK路徑,則會出現剛才在SDK中安裝的各平台包,按OK完成配置。
到這里,在windows上的Android上的開發環境搭建就完成了,這時候,你用Eclipse的File——》New——》Project...新建一個項目的時候,就會看到建立Android項目的選項了。
回答的很辛苦 希望給我通過呀 這問題 真不知道該再怎麼擴展豐富回答了
㈡ 怎麼樣將自己開發的Android應用程序編譯到系統Image中
1. 搭建編譯環境
編譯環境: Ubuntu 10.10
Android版本:Android 2.2
編譯過程中可能需要在Ubuntu上安裝必要的一些軟體,我安裝過的包含如下軟體,不同的系統可能會有差別:
jdk6(Android官方建議裝jdk5,但是我在編譯時會遇到Java override問題,改用6沒有任何問題), bison, lib64z1-dev, libasound2-dev, flex, gperf, libncurses5-dev
2. 應用程序存放目錄
SimpleJNI是採用Android NDK和Java編寫的程序,包含apk和so庫文件,它的源代碼在source tree的development/samples/目錄下。
實際上package在編譯時所放的目錄並沒有明確限定,編譯後apk和so存放的位置是根據目錄下Android.mk所指定的編譯類型所決定的,例如:
SimpleJNI根目錄下的Android.mk中有一行include $(BUILD_PACKAGE),表示將該目錄下的模塊編譯成package,即apk文件,默認存放的位置為/system/app。
SimpleJNI/jni目錄下的Android.mk中有一行為include $(BUILD_SHARED_LIBRARY),表示將該目錄下的native.cpp編譯為共享庫文件,即so文件,默認存放的位置為/system/lib
因此,如果我們想要將自己編寫的程序編譯至image中,只需要將Eclipse下完成的整個工程到source tree下的某個目錄即可,我一般習慣放到packages/apps下。
3. 添加Android.mk
完成了上一步,可以知道,Android.mk在編譯中起著至關重要的作用,這其實就是Android編譯環境中的make file。為了完成我們的工作,需要在源代碼中添加Android.mk。添加自己的Android.mk可以仿照SimpleJNI中的Android.mk,稍微修改即可。我們首先看看SimpleJNI目錄下的兩個Android.mk的內容:
根目錄下的Android.mk
TOP_LOCAL_PATH:= $(call my-dir)
# Build activity
LOCAL_PATH:= $(TOP_LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := samples
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := SimpleJNI
LOCAL_JNI_SHARED_LIBRARIES := libsimplejni
LOCAL_PROGUARD_ENABLED := disabled
include $(BUILD_PACKAGE)
# ============================================================
# Also build all of the sub-targets under this one: the shared library.
include $(call all-makefiles-under,$(LOCAL_PATH))
根目錄下的Android.mk決定了整個工程編譯的配置,其中,
LOCAL_PATH 定義了當前的目錄
LOCAL_MUDULE_TAGS 定義了當前模塊的類型,編譯器在編譯時會根據類型的不同有些差別,有些tags的mole甚至不會被編譯至系統中。LOCAL_MUDULE_TAGS主要有如下幾種:user debug eng tests optional samples shell_ash shell_mksh。optional表示在所有版本的編譯條件下都被編譯至image中,剩下的表示在該版本中才會被編譯只image中,如user表示在user版本下才會被編譯至image中。
對於包含LOCAL_PACKAGE_NAME的mk文件,該項默認為optinal,具體可以參看build/core/package.mk。SimpleJNI中定義為samples的具體作用我也不太清楚,為了保險起見,我自己的apk一般定義為optional。
LOCAL_SRC_FILES 定義了編譯apk所需要的java代碼的目錄
LOCAL_PACKAGE_NAME 這里需要改成自己的package的名字
LOCAL_JNI_SHARED_LIBRARIES 定義了要包含的so庫文件的名字,如果你的程序沒有採用JNI,這行不需要。
LOCAL_PROGUARD_ENABLED 定義了Java開發中的ProGuard壓縮方法,主要用來分析壓縮程序的,在我自己的應用中我沒有加這行。
include $(BUILD_PACKAGE) 這行是build的關鍵,表示當前java代碼build成apk
include $(call all-makefiles-under,$(LOCAL_PATH)) 表示需要build該目錄下的子目錄的文件,這樣編譯系統就會在當前目錄下的子目錄尋找Android.mk來編譯so等其它程序。
根據上述所寫,創建我自己的Android.mk如下:
TOP_LOCAL_PATH:= $(call my-dir)
# Build activity
LOCAL_PATH:= $(TOP_LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := TestJniApp
LOCAL_JNI_SHARED_LIBRARIES := libtestjniapp
include $(BUILD_PACKAGE)
# ============================================================
# Also build all of the sub-targets under this one: the shared library.
include $(call all-makefiles-under,$(LOCAL_PATH))
看起來很簡單吧,基本不需要改動即可。
Jni目錄下的Android.mk
由於我們的TestJniApp是用JNI完成的,包含C源代碼,因此也需要一個jni目錄下的Android.mk。同樣首先看看SimpleJNI中jni目錄下的Android.mk的內容:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := samples
# This is the target being built.
LOCAL_MODULE:= libsimplejni
# All of the source files that we will compile.
LOCAL_SRC_FILES:= /
native.cpp
# All of the shared libraries we link against.
LOCAL_SHARED_LIBRARIES := /
libutils
# No static libraries.
LOCAL_STATIC_LIBRARIES :=
# Also need the JNI headers.
LOCAL_C_INCLUDES += /
$(JNI_H_INCLUDE)
# No special compiler flags.
LOCAL_CFLAGS +=
# Don't prelink this library. For more efficient code, you may want
# to add this library to the prelink map and set this to true. However,
# it's difficult to do this for applications that are not supplied as
# part of a system image.
LOCAL_PRELINK_MODULE := false
include $(BUILD_SHARED_LIBRARY)
LOCAL_MODULE 當前模塊的名字,即編譯後的so文件的名字
LOCAL_SRC_FILES 所要編譯的文件
LOCAL_SHARED_LIBRARIES, LOCAL_STATIC_LIBRARIES 該模塊要鏈接的動態庫和靜態庫。
LOCAL_C_INCLUDES 要包含的頭文件
LOCAL_CFLAGS C語言編譯選項
LOCAL_PRELINK_MODULE 定義是否使用prelink工具,它用事先鏈接代替運行時鏈接的方法來加速共享庫的載入,不僅可以加快起動速度,還可以減少部分內存開銷。
經過修改後,我自己的TestJniApp中jni目錄下的Android.mk如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libtestjniapp
LOCAL_SRC_FILES := com_test_app_Jni.c
LOCAL_C_INCLUDES += $(JNI_H_INCLUDE)
LOCAL_PRELINK_MODULE := false
include $(BUILD_SHARED_LIBRARY)
這里有一點需要注意,如果要將so文件編譯入image,必須要修改LOCAL_MODULE_TAGS,將原有的值samples修改為user,或者可以直接刪掉 。刪掉是因為對於包含LOCAL_MODULE的mk文件,如果沒有指定LOCAL_MODULE_TAGS,該項默認為user,而只有定義為user的情況下,才會將so文件編譯入image,具體定義可以參看build/core/base_rule.mk。
4. 修改/bulid/target/proct/generic.mk 把工程編譯到系統中
至此,還有最後一部工作。為了將工程編譯進入image,還需要在/bulid/target/proct/generic.mk文件中將package name添加進去
PRODUCT_PACKAGES := /
AccountAndSyncSettings /
CarHome /
DeskClock /
……
SyncProvider /
TestJniApp
完成上面這些步驟後,在source tree根目錄下編譯image就可以了。
㈢ android 編譯伺服器大概需要什麼配置 5
工欲善其事,必先利其器」,要想提高團隊整體的開發效率,盡可能的提前完成開發任務,必須要配備一套配置給力的開發設備。源碼編譯伺服器硬體配置的高低,直接影響著系統固件升級和ROM版本發布的速度和效率。
由於目前Google發布的最新版本的Android系統源碼體積越來越大,因此,越是定製高版本的系統,對編譯伺服器的硬體配置要求就越高,這里根據調研,給出目前Android
6.0及以下版本源碼定製開發的基本配置,供大家參考。
首先進行一波企業級android源碼編譯伺服器的推薦,這類推薦網上絕無僅有,這還是我進行了很久的調研,詢問很多朋友【其中包括不乏6年以上系統開發的大牛,也有之前公司的主管等】,也查了很多資料才挑選出來,提出需求後讓上級審批,目前上一級已經認可比審批,等待領導簽字。給力。
詳細
㈣ android13 .bp編譯流程
Android 13 的 .bp 編譯流程主要如下:
- 准備環境:使用 Ubuntu 20.04 系統,配置物理內存、交換分區及磁碟空間,可參考《iTOP - 3588 開發板源碼編譯手冊》v2.2。通過 apt 安裝編譯工具鏈,如 openjdk - 11 - jdk、git、python 等,具體依賴包參考手冊第六章。
- 獲取源碼:通過 repo init 拉取 Android 13 源碼,如 android - 13.0.0_r41,同步設備二進制文件。也可通過官方渠道或售後群獲取 Android 13 源碼及設備樹配置。
- 編寫 Android.bp:定義模塊類型,如 cc_binary(可執行文件)、cc_library_shared(動態庫)等;指定屬性,如 name(模塊名)、srcs(源碼路徑)、cflags(編譯標志)等。
- 條件編譯處理:由於 BP 文件無流程式控制制,需通過 Go 腳本(如 Android.bp 配套 .go 文件)實現條件判斷,如宏開關、架構適配。
- 轉換為 Ninja 規則:Soong 構建系統解析 Android.bp,結合 Blueprint 生成 build.ninja 文件。執行 source build/envsetup.sh && lunch 選擇目標設備,通過 make 調用 Ninja 執行編譯。
- 編譯輸出:生成 out/ 目錄下的鏡像文件,如 boot.img,可通過 avbtool 添加校驗信息。編譯時可選擇整體編譯,在源碼根目錄執行 make -jN(N 為線程數),或使用 m 命令;也可單獨編譯,如編譯 uboot 用 make uboot 等。最終可將產物打包成 update.img 固件用於設備燒錄。
㈤ android studio對電腦配置的要求
Android Studio 對 CPU 和內存有要求,硬碟看自己需求吧。其中:
內存最少要求4G,4G情況下開模擬器電腦會非常卡,如果你連真機調試的話可以避免,建議內存上到8G以上,樓上說的升級到12G我個人覺得還不如直接上雙通道16G。
CPU主要影響的是編譯的速度,大的項目在冷編譯時會比較耗時,所以同樣是越強越好。
所以最後還是看預算了,預算足夠的話看貴的隨便買,預算有限則重點看內存和CPU。