日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android开发 环境搭建(ubuntu)

發(fā)布時間:2024/3/13 Android 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开发 环境搭建(ubuntu) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

通過本節(jié)實現(xiàn)Android開發(fā)的環(huán)境搭建,主要內(nèi)容包括:

(1)Linux系統(tǒng)安裝。

(2)開發(fā)工具安裝。

(3)刷機。

2003年10月,Andy Rubin等人創(chuàng)建Android公司,并組建Android團(tuán)隊。

2005年8月17日,Google低調(diào)收購了成立僅22個月的高科技企業(yè)Android及其團(tuán)隊。安迪魯賓成為Google公司工程部副總裁,繼續(xù)負(fù)責(zé)Android項目。

2007年11月5日,谷歌公司正式向外界展示了這款名為Android的操作系統(tǒng),并且在這天谷歌宣布建立一個全球性的聯(lián)盟組織,該組織由34家手機制造商、軟件開發(fā)商、電信運營商以及芯片制造商共同組成,并與84家硬件制造商、軟件開發(fā)商及電信營運商組成開放手持設(shè)備聯(lián)盟(Open Handset Alliance)來共同研發(fā)改良Android系統(tǒng),這一聯(lián)盟將支持谷歌發(fā)布的手機操作系統(tǒng)以及應(yīng)用軟件,Google以Apache免費開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。

本文主要參考文檔: 1-工作環(huán)境搭建指南;2-軟件編譯命令;ubuntu16.04開發(fā)環(huán)境搭建;AOSP(一)Ubuntu20.10編譯AOSP。

搭建步驟

一、安裝Ubuntu系統(tǒng)

為什么要在Linux搭建開發(fā)環(huán)境呢?從直觀來說,Android虛擬機在Linux下運行速度更快,而且性能更穩(wěn)定。

我安裝的Linux環(huán)境是kubuntu-20.04.20-desktop-amd64.iso。

Google 會定期在 Ubuntu LTS (14.04) 和 Debian 測試版本中對 Android 編譯系統(tǒng)進(jìn)行內(nèi)部測試。我們只要使用Ubuntu 14.04 以后的系統(tǒng)即可。

采用U盤啟動安裝kubuntu系統(tǒng):

(1)制作啟動盤:Windows可以使用UltraISO或者Rufus,Linux可以使用DD命令,另外還推薦開源多平臺的啟動盤制作工具:ROSA。

(2)啟動盤制作完成之后,開機按F12選擇從U盤啟動進(jìn)入系統(tǒng)安裝界面就可以開始安裝了。

(3)推薦在安裝時自定義分區(qū)方案,將/home分區(qū)從/分區(qū)中獨立出來,這樣如果系統(tǒng)出現(xiàn)問題需要重裝,就不會影響日常數(shù)據(jù)。以下是基于1TB 硬盤的分區(qū)方案。

分區(qū)容量格式作用
/30Gext4根分區(qū)(安裝系統(tǒng)和軟件)
swap16Gswap緩存分區(qū)(物理內(nèi)存用盡后會使用此分區(qū)當(dāng)做虛擬內(nèi)存使用,建議掛載到固態(tài)硬盤)
/opt15G??
/efi512MBfat32efi引導(dǎo)分區(qū) (如果BIOS設(shè)置的UEFI引導(dǎo),則必須設(shè)置efi分區(qū))
/home剩余空間ext4用戶目錄(存儲日常用戶數(shù)據(jù),也是我們常常操作的分區(qū))

由于此步驟為我?guī)煾祹椭僮髦匮bkubuntu系統(tǒng),所以略過此步驟。

kubuntu安裝后還需要做一些配置才能愉快的使用,包括添加軟件源(更換為國內(nèi)的軟件源)、安裝中文輸入法、git等等。

1.添加軟件源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup #備份kubuntu默認(rèn)的源地址 kate /etc/apt/sources.list ?#Ubuntu中的sudo gedit指令在kubuntu中為kate

kate后打開配置文件,在文件開頭添加下面的阿里云的軟件源。我未進(jìn)行更改軟件源。

deb http://mirrors.aliyun.com/ubuntu/ quantal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ quantal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ quantal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ quantal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ quantal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ quantal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ quantal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ quantal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ quantal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ quantal-backports main restricted universe multiverse

update更新軟件列表,upgrade更新軟件

sudo apt-get update sudo apt-get upgrade

2.安裝中文輸入法IBus拼音

sudo apt-get install ibus-pinyin ibus-setup

輸入法的配置界面就會彈出,IBus Preference設(shè)置被打開。我們在Input Method選項卡中,選擇自己喜歡的輸入方式,并配置自己喜歡的快捷鍵即可,通常情況下,IBus圖標(biāo)(一個小鍵盤)會出現(xiàn)在桌面右上角的任務(wù)欄中。有時候這個圖標(biāo)會自行消失,可使用命令ibus-daemon -drx,找回消失的IBus圖標(biāo)。

3.安裝git

git是程序員必備軟件。

sudo apt-get install git git config --global user.name yeling ? #設(shè)置git用戶名 git config --global user.email yeling@xxx.com.cn ?#設(shè)置git郵箱 ssh-keygen -t rsa #生成密鑰用于git驗證,生成出的文件放到 ~/.ssh目錄下 #如果過去有密鑰,重裝電腦之前記得備份一下~/.ssh。新系統(tǒng)安裝完成后不用生成密鑰,直接把原有的~/.ssh的內(nèi)容復(fù)制到~/.ssh就可以了

4.安裝配置ccache

sudo apt-get install ccache ccache -M 100G #配置ccache大小 ccache -S #檢查容量是否配置成功

5.bashrc的易用性配置

.bashrc這個文件主要保存?zhèn)€人的一些個性化設(shè)置,如命令別名、路徑等。也即在同一個服務(wù)器上,只對某個用戶的個性化設(shè)置相關(guān)。~/bashrc:為每一個運行bash shell的用戶執(zhí)行此文件.當(dāng)bash shell被打開時,該文件被讀取。

kate ~/.bashrc #打開.bashrc source ~/.bashrc #修改完,保存關(guān)閉后,需執(zhí)行此命令,立即生效.bashrc

有一些常用的bashrc配置可以提供我們的工作效率,以下功能,按需將對應(yīng)的代碼添加到~/.bashrc末尾,編輯完記得保存。

(1)客制化終端命令提示符(顯示git分支,自定義顏色顯示方式等)

#bash style 常用的客制化style 末尾添加 export PS1='\[\033[1;32m\]\u@\h \[\033[1;34m\]\w\[\033[1;36m\]$(__git_ps1)\[\033[1;37m\]\n$\[\033[0m\] ' #按如上配置,顯示的效果如下: link@NEON ~/project/complieCode/q/alps (dev_tecno_RC6) $ sudo apt update

(2)添加歷史命令補全(終端的上下鍵翻閱歷史命令時可以按起始字符串智能匹配)

#bash history if [[ $- =~ i ]]; thenbind '"\e[A": history-search-backward'bind '"\e[B": history-search-forward' fi

(3)添加編譯"mk"命令的項目名稱補全

#mk mk completion function _mk_completion() {local cur prev optsCOMPREPLY=()cur="${COMP_WORDS[COMP_CWORD]}"prev="${COMP_WORDS[COMP_CWORD-1]}" ?if [ -d "$(pwd)/../sagereal/mk/" ] && [ "$prev" != "mm" ];thenopts=`ls $(pwd)/../sagereal/mk/` COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )return 0elsereturn 1fi } complete -o nospace -F _mk_completion -o dirnames ./mk complete -o nospace -F _mk_completion -o dirnames ./mp

(4)配置ccache

# 添加如下內(nèi)容配置ccache #ccache export CCACHE_EXEC=/usr/bin/ccache # ccache的執(zhí)行文件,一般都是這個路徑 export USE_CCACHE=true #開啟ccache export CCACHE_SLOPPINESS=include_file_mtime,time_macros # ccache緩存類型 export CCACHE_DIR=/home/yeling/project/CcacheData # ccache 緩存存放路徑,建議放在固態(tài)硬盤中(需提前建立此目錄) export CACHE_UMASK=002 unset CCACHE_HARDLINK

二、安裝開發(fā)工具

很多 Android 開發(fā)者都會希望編譯 Android 源碼并刷進(jìn)自己的手機里面,但網(wǎng)上教程很多都僅僅是告訴你 lunch、make 等等,但你手里有一臺設(shè)備時卻發(fā)現(xiàn),你編譯出的鏡像由于驅(qū)動關(guān)系是不能直接燒進(jìn)手機的。這里整理了一下,幫助大家可以更好的搭建編譯環(huán)境。

1.AOSP編譯環(huán)境搭建

(1)基于AOSP官方推薦使用Ubuntu 14.04+的版本,官方要求安裝如下庫:

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip

我安裝的庫為:

sudo apt-get install git-core bison g++-multilib git gperf libxml2-utils make zlib1g-dev zip build-essential curl gnupg flex gcc-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev xsltproc unzip libnss-sss libssl-dev git openjdk-8-jdk libusb-dev python-crypto fontconfig //以下為補充 #1安裝python sudo apt-get install python #之前沒安裝編譯不了,顯示沒有命令 #2安裝libncurses5 libncurses6 sudo apt install libncurses5 libncurses6 #編譯時報libncurses.so.5不能找到 #3安裝LLVM、libswitch-perl sudo apt install llvm-6.0 sudo apt install clang-6.0 sudo apt install libswitch-perl export LC_ALL=C ? ?#去除本地化設(shè)置 #4安裝Source Insight,神器,可以很方便的搜索,查找源碼中的內(nèi)容

(/1)如果需要編譯M平臺以下還需要安裝以下軟件包(僅支持Ubuntu 14.04):

sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-7-jdk flex mingw32 tofrodos libswitch-perl

(2)安裝JDK

sudo apt-get update sudo apt-get install openjdk-8-jdk #要編譯android源碼就必須使用OpenJDK,OpenJDK是OracleJDK的開源精簡版 #配置JDK環(huán)境變量,由于系統(tǒng)已有,路徑能找到,此時可不配置 kate ~/.bashrc #文件末尾添加如下內(nèi)容 #set java environment export JAVA_HOME=/usr/bin #自己JDK存放路徑 export CLASS_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin

(3)安裝Android Studio/SDK

#首先要下載AS的Linux版安裝包 #方式一,下載下來解壓,然后自動安裝SDK即可,前提是有JDK #方式二,輸入以下命令 unzip android-studio-ide-143.2821654-linux.zip #解壓 cd ./android-studio/bin sh studio.h #配置Android SDK tool環(huán)境變量 kate ~/.bashrc #文件末尾添加如下內(nèi)容 # Android Monitor export ANDROID_MONITOR=/home/yeling/Android/Sdk/tools/ ? #SDK存放路徑 export PATH=$ANDROID_MONITOR:$PATH # platform-tools export PATH=$PATH:/home/yeling/Android/Sdk/platform-tools/ ?#SDK存放路徑 # build-tools export PATH=$PATH:/home/yeling/Android/Sdk/platform-tools/29.0.3 ?#SDK存放路徑 # 其他日常工具想在任意終端啟用,也可以按此種方式添加到環(huán)境變量 source ~/.bashrc #更新下~/.bashrc

(4)安裝DLoader

#解壓后的文件夾,給DLoader加可執(zhí)行權(quán)限,在sprd_dloader內(nèi)打開bash,輸入命令 chmod +x DLoader ./DLoader ?#確認(rèn)DLoader可用 #配置DLoader環(huán)境變量 export DLPADER=/home/yeling/project/tools/DLoader R1.19.1901 ? #SDK存放路徑 export PATH=$ANDROID_MONITOR:$PATH source ~/.bashrc #更新下~/.bashrc

檢查以上軟件是否安裝成功。

三、刷機

1.編譯整個系統(tǒng)代碼

AOSP編譯: (1)原生編譯方法:

#1整體編譯:(在項目的alps文件夾里打開bash,執(zhí)行命令) source build/envsetup.sh lunch X ? ? ? ? ?------> (編譯模擬器版本,也可以按需自行選擇) make -jX 2>&1 | tee build.log (如果是N核處理器,X則不大于2N) #make -j24 2>&1 | tee build.log ? ? ? ? ? ? ? ? ? # ? ? 或者make -j24 -k 2>&1 | tee build.log ? ? ? ? ? ? # ? ? ? ? 注:-j24取決于CPU的核數(shù) 查看cpu核數(shù):cat /proc/cpuinfo | grep processor | wc -l ? # ? ? ? ? ? ? 2>&1 表示將標(biāo)準(zhǔn)錯誤重定向到標(biāo)準(zhǔn)輸出 ? # ? ? ? ? ? ? tee 表示同時將log輸出到控制臺和文件 # ? ? ? ? ? ? "-k": keep going when encounter error #remake的方法:依舊執(zhí)行make -j24 -k 2>&1 | tee rebuild.log #重新new需要先執(zhí)行clean方法 再進(jìn)行new操作 ? #2android模塊編譯: Build android module mmm <directory> #example: mmm frameworks Rebuild android module mmm -B <directory> #example: mmm -B frameworks/base Build android module by name make -j24 <module name> #example: make -j24 libjpeg #建議先使用:mmm -B,若無文件改變,再使用mmma,再次編譯即可使用mmm -B ? ? *************(建議在進(jìn)行模塊編譯的時間加入 | tee mmbuild.log,收集模塊編譯時的log,編譯完成后在log中查找“Install”即可查看編譯生成的文件,(可直接將生成的APK文件夾push到/system/app/(/system/priv-app)對應(yīng)的APK文件夾中)) #eg:mmm -B framework/base/ | tee mmbuild.log ? ? #在mmbuild.log中查找“Install”關(guān)鍵字可看到如下生成的文件 #Install:out/target/product/sagetel6582_wt_l/system/framework/ext.jar' #Install: out/target/product/sagetel6582_wt_l/system/framework/framework.jar

?

2.下載至手機

#1整個系統(tǒng)下載:(在編譯后生成的項目文件名文件夾里(SP592XXXX)打開bash,執(zhí)行命令) DLoader -pac BC2c-XXXXX.pac -reset ?#SP592XXXX里的.pac文件,設(shè)置刷機后重啟 #DLoader -pac BC2c-XXXXX.pac -reset -nvbk false -filebk false #設(shè)置清除原系統(tǒng)備份數(shù)據(jù),版本不同原因 #等待顯示usb檢測,將手機關(guān)機,按住聲音下鍵,連接usb線至電腦,觀察下載進(jìn)度條,若無法刷機,需嘗試三個鍵一起按 #下載成功顯示download success,觀察手機 ? #2android模塊下載:(在alps/out文件夾里打開bash,執(zhí)行命令) adb devices ?#需要檢查能否連接上手機,不能則需手機調(diào)至開發(fā)者選項,USB調(diào)試模式 adb root ? ?#若之前手機里已安裝里user版本的系統(tǒng),則需要檢查能否下載,不能則需刷機 adb install ./target/product/sp7731e_1h10/product/priv-app/Dialer.apk ?#找到Dialer.apk下載 #下載成功顯示 success,觀察手機 android 10手機不需關(guān)機直接插usb線下載

結(jié)語

這是葉大靈的Android開發(fā)第一步(圖片資源因操作問題丟失了見諒),也是踏入互聯(lián)網(wǎng)行業(yè)的第一步......

覺得有幫助的朋友,不妨點個贊再走唄! ╰( ̄▽ ̄)╭ ~

總結(jié)

以上是生活随笔為你收集整理的Android开发 环境搭建(ubuntu)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。