android43源碼下載
❶ 如何獲取android源代碼
當前的Android代碼託管在兩個方:https://github.com/android 和https://android.googlesource.com之前在 android.git.kernel.org上也有託管,不過現在重定向到了https://android.googlesource.com好在都支持git訪問。
google提供的repo工具實際上是一個內部操作git工具來簡化操作Android源碼的python腳本。經過嘗試,直接使用git工具在ubuntu下可以實現cloneAndroid源碼。下面介紹一下方法:
1.獲取當前的在github上託管的Androidgitrepositories:
github頁面為:https://github.com/android/following。不過這個頁面不支持通過wget"https://github.com/android/following"或者curl"https://github.com/android/following"的方式訪問,錯誤信息如下:
這個時候需能做的只能是"tryagain"了。
需要說明的是"不要試圖同時並發執行多個gitclone命令",這樣會導致大量出現上面貼圖中的錯誤,另外,整個clone過程中耗時最多的gitrepository如下:
kernel_common.gitkernel_msm.gitplatform_frameworks_base.gitplatform_prebuilt.git其中platform_prebuilt.git是google提供的預編譯好的二進制文件,包含:各種庫文件,jar包,可執行程序等等,如果只是閱讀Android源代碼,這個gitrepository可以不用clone.
❷ 如何從國內鏡像獲取android源代碼
首先按幫助中的步驟下載repo工具:
[plain] view plain print?
curl https://storage-googleapis.lug.ustc.e.cn/git-repo-downloads/repo > ~/bin/repo
此時查看下載下來的repo文件可以發現其中的REPO_URL已經指向中科大鏡像的地址,因此應該不需要修改:
[plain] view plain print?
REPO_URL = 'https://gerrit-googlesource.lug.ustc.e.cn/git-repo'
接下來運行如下命令初始化倉庫
[plain] view plain print?
repo init -u git://mirrors.ustc.e.cn/aosp/platform/manifest
發現沒有反應,很長時間後應該是超時才退出,報錯說無法訪問https://gerrit-googlesource.lug.ustc.e.cn/git-repo/clone.bundle
把這個地址放到瀏覽器上嘗試發現也是超時無法訪問,最後好像還是指到google的官網去了,感覺應該是因為缺了什麼東西,沒仔細研究。
但我發現中科大鏡像的Git-repo實際上是可以正常訪問的,因此最後使用如下方法:
1. 使用git clone命令直接從中科大鏡像下載repo工具:
[plain] view plain print?
git clone https://gerrit-googlesource.lug.ustc.e.cn/git-repo
git clone成功後可以在git-repo目錄下看到repo以及其他相關的腳本。
修改PATH環境變數將git-repo目錄加入PATH
2. 修改REPO_URL
此時查看git clone下來的repo文件可以發現其中的REPO_URL還是指向google官網的,因此需要修改該文件指向中科大鏡像:
[plain] view plain print?
REPO_URL = 'https://gerrit-googlesource.lug.ustc.e.cn/git-repo'
3. 初始化倉庫
修改完repo文件後再運行repo init命令初始化倉庫就可以成功了:
[plain] view plain print?
repo init -u git://mirrors.ustc.e.cn/aosp/platform/manifest
以後就可以使用repo sync命令同步源代碼了,速度很快。
你試試看看
❸ 現在到哪獲取android系統源代碼
Android系統源碼都在http://android.git.kernel.org/網址下,其中那個系統app都在platform/packages/apps結構下。
在剛才的Git的shell命名行窗口中輸入下面的命名:
git clone git://android.git.kernel.org/platform/packages/apps/Luancher2.git
你就可以在你的msysGit安裝目錄的git下(~\msysgit\msysgit\git)看到Luancher工程文件夾了。
然後打開~\msysgit\msysgit\git\Luancher2文件夾,就可以看到Android的Luancher系統源碼工程了。
對於其他的app系統源碼的獲取方法和上述的Luancher相同,只是命名行後的參數不同。
git clone git://android.git.kernel.org/需下載源碼的app所在的位置。
❹ 如何在Android源碼里查找java中native方法對應的C++實現
如何在Android源碼里查找Java中native方法對應的C++實現
在framework下全局搜索這個native方法的全名。一個個查看匹配的文件,應該會找到你需要的。一般命名都有規律,大部分jni方法都在 frameworksasecorejni目錄
在Android源碼里,有許多方法都是使用Jni機制調用底層的C++實現,比如大家都很熟悉的Binder.java里,就有 public static final native int getCallingPid(); public static final native int getCallingUid(); public static final native long clearCallingIdentity(); 等方法都是直接調用C++里的實現。 通過下面命令可以攔雀陸很快找到對應的實現, . build/envsetup cgrep ./frameworks '"getCallingPid"' 這時會查找到如下結果: 這樣就可以知道對應的C++實現方法名字為android_os_Binder_getCallingPid, 在該文件中找這個方法的實現即可。
android源碼只包含android app java的客戶端代碼。
native部分可能有可能沒有,先全局搜索.c或者.cpp文件,有這些文件才可能有。
如果是標準的android native support 工程,那麼eclipse裡面打開之後,在工程目錄/jni下面就是 native的C++代碼。
比如有方法aaa.bbb.CCC.ddd,JNI對應的名字就是Java_aaa_bbb_CCC_ddd,地圖炮搜索就是了,注意不要用全字簡頃段匹配,因為JNI名可能還帶參數後綴。
另外你的確定你是下的整套Android系統的源碼,不是SDK附帶的那個源碼,那個只有Java的而且還不全。
android源碼只包含android app java的客戶端代碼。
native部分可能有可能沒有,先全局搜索.c或者.cpp文件,有這些文件才可能有。
如果是標準的android native support 工程,那麼eclipse裡面打開之後,在工程目錄/jni下面就是 native的C++代碼。
Android源碼中很多關鍵代碼都是C++實現的,java通過jni來調用,經常會看到java中這樣的代碼:
static native Thread currentThread();
如何根據方法名找到其對應的C++實現,有兩個方法。
先來個java代碼的示例VMThread.java:
package java.lang;
class VMThread {
Thread thread;
int vmData;
VMThread(Thread t) {
thread = t;
}
native static void create(Thread t, long stackSize);
static native Thread currentThread();
static native boolean interrupted();
static native void sleep (long msec, int nsec) throws InterruptedException;
static native void yield();
native void interrupt();
native boolean isInterrupted();
......
}
我們要查找currentThread方法的實現。
方法一:
由於Android源碼中對每個native實現都會寫一個java方法名和C++方法名映射的列表,所以我們直接搜索這個列表內容即可。
zkw@zkw $ grep -rns '"currentThread"' ./*
./art/piler/dex/quick/dex_file_method_inliner.:108: "currentThread", kNameCacheCurrentThread
匹配歲枯到二進制文件 ./dalvik/vm/native/.java_lang_VMThread.cpp.swp
./dalvik/vm/native/java_lang_VMThread.cpp:241: { "currentThread", "()Ljava/lang/Thread;",
./external/android-mock/testsgoogle/android/testing/mocking/AndroidMockGeneratorTest.java:249: Method method = Thread.class.getMethod("currentThread");
./external/android-mock/testsgoogle/android/testing/mocking/AndroidMockGeneratorTest.java:407: Method method = Thread.class.getMethod("currentThread");
可以看到,在文件./dalvik/vm/native/java_lang_VMThread.cpp中找到currentThread方法相關的信息,後面()Ljava/lang/Thread代表這個方法的返回值。
進入java_lang_VMThread.cpp這個文件可以看到:
17 /*
18 * java.lang.VMThread
19 */
20 #include "Dalvik.h"
21 #include "native/InternalNativePriv.h"
22
23
24 /*
25 * static void create(Thread t, long stacksize)
26 *
27 * This is eventually called as a result of Thread.start().
28 *
29 * Throws an exception on failure.
30 */
31 static void Dalvik_java_lang_VMThread_create(const u4* args, JValue* pResult)
32 {
33 Object* threadObj = (Object*) args[0];
34 s8 stackSize = GET_ARG_LONG(args, 1);
35
36 /* ing collector will pin threadObj for us since it was an argument */
37 dvmCreateInterpThread(threadObj, (int) stackSize);
38 RETURN_VOID();
39 }
40
41 /*
42 * static Thread currentThread()
43 */
44 static void Dalvik_java_lang_VMThread_currentThread(const u4* args,
45 JValue* pResult)
46 {
47 UNUSED_PARAMETER(args);
48
49 RETURN_PTR(dvmThreadSelf()->threadObj);
50 }
51
......
237
238 const DalvikNativeMethod dvm_java_lang_VMThread[] = {
239 { "create", "(Ljava/lang/Thread;J)V",
240 Dalvik_java_lang_VMThread_create },
241 { "currentThread", "()Ljava/lang/Thread;",
242 Dalvik_java_lang_VMThread_currentThread },
243 { "getStatus", "()I",
244 Dalvik_java_lang_VMThread_getStatus },
245 { "holdsLock", "(Ljava/lang/Object;)Z",
246 Dalvik_java_lang_VMThread_holdsLock },
247 { "interrupt", "()V",
248 Dalvik_java_lang_VMThread_interrupt },
249 { "interrupted", "()Z",
250 Dalvik_java_lang_VMThread_interrupted },
251 { "isInterrupted", "()Z",
252 Dalvik_java_lang_VMThread_isInterrupted },
253 { "nameChanged", "(Ljava/lang/String;)V",
254 Dalvik_java_lang_VMThread_nameChanged },
255 { "setPriority", "(I)V",
256 Dalvik_java_lang_VMThread_setPriority },
257 { "sleep", "(JI)V",
258 Dalvik_java_lang_VMThread_sleep },
259 { "yield", "()V",
260 Dalvik_java_lang_VMThread_yield },
261 { NULL, NULL, NULL },
262 };
源碼中第242行找到對應的名字,用紅色標出,其實現就在第44行。
這個方法不是很准確,要靠經驗來判斷搜出來的代碼是否是自己要找的,下一個方法可以較准確的查找。
方法二:
還是找VMThread.java的currentThread函數,找多了會發現,C++的名字一般都是包名+類名+方法名,比如currentThread的C++名字就肯定包含「java_lang_VMThread_currentThread」,所以直接搜索即可。
如何在Android源碼里查找Java中native方法對應的C++參考::e.51cto./course/course_id-4377.
知道方法名就知道C++里的函數名了,native方法的函數名是 Java_包名_類名_函數名 開頭的,包名要把.換成_。比如.xxx.yyy.ClassA.methodB在C++那邊找Java__xxx_yyy_ClassA_methodB就行了
如何在eclipse中查看android源碼
假設我們想參看Activity類的源代碼,按著Ctrl鍵,左擊它,現實的結果卻看不到代碼的,提示的信息便是「找不到Activity.class文件」。
此時點擊下面的按鈕,「Change Attached Source…」,選擇android源代碼所在位置,便彈出對話框。
第一種是選擇工作目錄,即已經存在的android應用程序源代碼。
第二種分兩種方式
(1)選擇External File…按鈕,添加Jar格式文件或者zip格式文件路徑;
(2)選擇External Floder…按鈕,添加文件夾所在路徑。
下面問題就來了,源代碼在哪裡?不能憑空產生阿。
可以通過Android SDK Manager進行源代碼下載;(推薦該種方法),勾選Source for Android SDK,進行下載即可。
此外也可通過其他途徑下載,網上有很多共享的資源。
這里選擇第二種方式的(2)方法,選擇源碼所在目錄(即下載源代碼目錄所在路徑)
點擊「OK」按鈕,此時,Activity文件便能夠查看源代碼了
❺ 如何查看Android源碼
當我們在eclipse中開發android程序的時候,往往需要看源代碼(可能是出於好奇,可能是讀源碼習慣),那麼如何查看Android源代碼呢?
比如下面這種情況
假設我們想參看Activity類的源代碼,按著Ctrl鍵,左擊它,現實的結果卻看不到代碼的,提示的信息便是「找不到Activity.class文件」。
此時點擊下面的按鈕,「Change Attached Source…」,選擇android源代碼所在位置,便彈出圖三的對話框。
第一種是選擇工作目錄,即已經存在的android應用程序源代碼。
第二種分兩種方式
(1)選擇External File…按鈕,添加Jar格式文件或者zip格式文件路徑;
(2)選擇External Floder…按鈕,添加文件夾所在路徑。
下面問題就來了,源代碼在哪裡?不能憑空產生阿。
可以通過Android SDK Manager進行源代碼下載;(推薦該種方法),如圖四
勾選Source for Android SDK,進行下載即可。
此外也可通過其他途徑下載,網上有很多共享的資源。
這里選擇第二種方式的(2)方法,選擇源碼所在目錄(即圖四下載源代碼目錄所在路徑),如圖五
點擊「OK」按鈕,此時,Activity文件便能夠查看源代碼了,如圖六。
這樣就大功告成了!!!
❻ 如何在32位ubuntu11.10 下編譯android 4.0.1源碼和goldfish內核
一準備工作
1安裝javasdk6
(1)從jdk官方網站http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u29-download-513648.html下載jdk-6u29-linux-i586.bin文件。
(2)執行jdk安裝文件
[html] view plain
$chmod a+x jdk-6u29-linux-i586.bin
$jdk-6u29-linux-i586.bin
(3)配置jdk環境變數
[html] view plain
$sudo vim /etc/profile
[html] view plain
#JAVAEVIRENMENT
exportJAVA_HOME=/usr/lib/java/jdk1.6.0_29
exportJRE_HOME=$JAVA_HOME/jre
exportCLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
保存後退出編輯,並重啟系統。
2安裝依賴包
[html] view plain
$sudo apt-get install git-core gnupg flex bison gperf build-essential\
zipcurlzlib1g-devlibc6-devlib32ncurses5-devia32-libs\
x11proto-core-devlibx11-devlib32readline5-devlib32z-dev\
libgl1-mesa-devg++-multilibmingw32tofrodospython-markdown\
libxml2-utils
3用repo工具下載源碼
(1)初始化repo
[html] view plain
$cd ~
$mkdir bin
$curlhttps://dl-ssl.google.com/dl/googlesource/git-repo/repo>~/bin/repo
$chmod a+x ~/bin/repo
$exportPATH=$PATH:~/bin(導出環境變數)
(2)下載android最新源碼
[html] view plain
$mkdir android
$cd android
$ repo init -u https://android.googlesource.com/platform/manifest -bandroid-4.0.1_r1
...(輸入用戶名和郵箱名)
$repo sync -j5
...(此處用5個線程開始下載源碼,下載過程及其漫長,需要耐心等待)
二 編譯源碼
1開始編譯
[html] view plain
$source build/envsetup.sh
includingdevice/samsung/maguro/vendorsetup.sh
includingdevice/samsung/tuna/vendorsetup.sh
includingdevice/ti/panda/vendorsetup.sh
includingsdk/bash_completion/adb.bash
$make-j4(此處用4個線程編譯)
編譯完成後,會看到類似的輸出:
[html] view plain
Targetramdisk:out/target/proct/generic/ramdisk.img
Targetuserdatafsimage:out/target/proct/generic/userdata.img
Installedfilelist:out/target/proct/generic/installed-files.txt
2編譯遇到的問題
編譯錯誤:
[html] view plain
<命令行>:0:0:錯誤:「_FORTIFY_SOURCE」重定義[-Werror]
<built-in>:0:0:附註: 這是先前定義的位置
cc1plus:所有的警告都被當作是錯誤
make:*** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o]錯誤 1
原因:
因機器上的gcc版本過高,需替換成4.4.6重新進行編譯。
解決方法:
1)安裝4.4版本的gcc和g++
[html] view plain
$ sudo apt-get install gcc-4.4
$ sudo apt-get install g++-4.4
2)設置gcc版本,使gcc鏈接到gcc-4.4
[html] view plain
$ ls -l /usr/bin/gcc*
lrwxrwxrwx 1 root root 7 2011-11-01 23:56 /usr/bin/gcc -> gcc-4.6
-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 /usr/bin/gcc-4.4
-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 /usr/bin/gcc-4.6
$ cd /usr/bin
$ sudo mv gcc gcc.bak
$ sudo ln -s gcc-4.4 gcc
3)設置g++版本,使g++鏈接到g++-4.4
[html] view plain
$ sudo mv g++ g++.bak
$ sudo ln -s g++-4.4 g++
4)設置完畢後,重新進行編譯即可
3從模擬器啟動編譯後的鏡像文件
1)設置環境變數:
[html] view plain
export PATH=~/android/out/host/linux-x86/bin:$PATH
export ANDROID_PRODUCT_OUT=~/android/out/target/proct/generic
其中linux-x86/bin存放模擬器emulator工具,proct/generic存在編譯後的鏡像文件。
2)啟動模擬器
[html] view plain
$emulator
emulator:WARNING: system partition size adjusted to match image file (162 MB >66 MB)
啟動後的截圖:
三 編譯androidgoldfish內核
1)進入android4.0.1源碼目錄,下載goldfish內核源碼
[html] view plain
$ mkdir kernel
$ cd kernel
$ git clone http://android.googlesource.com/kernel/goldfish.git
$ cd goldfish
$ git branch -a
* (no branch)
master
remotes/origin/HEAD -> origin/master
remotes/origin/android-goldfish-2.6.29
remotes/origin/master
$ git checkout remotes/origin/android-goldfish-2.6.29
2)修改Makefile
[html] view plain
goldfish$ gedit Makefile
修改
[html] view plain
ARCH ?=$(SUBARCH)
CROSS_COMPILE ?=
為
[html] view plain
ARCH ?=arm
CROSS_COMPILE ?=arm-eabi-
3)導出交叉編譯器目錄為環境變數
$ export PATH=$PATH:~/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
4)編譯內核
[html] view plain
goldfish$ make goldfish_armv7_defconfig
goldfish$ make
編譯完成後,可看到類似如下的輸出:
[html] view plain
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
5)從模擬器中啟動內核鏡像
[html] view plain
$emulator -kernel ~/android/kernel/goldfish/arch/arm/boot/zImage &
啟動模擬器後,可從Settings->System->AboutPhone中查看內核版本信息。
❼ 怎麼運用Git來獲取android源代碼
下載Git工具:(默認安裝即可,我自己是安裝在D:\AndroidSrc\Git目錄下):
安裝完成之後,雙擊桌面的Git bash圖標:
雙擊出現如下命令窗口,並輸入cd /c/
android/source(因為我是選擇把android源代碼下載到這裡面具體情況你可以根據自己的需要來決定),出現如下界面:
初始化目錄,使用命令:git init ,然後從遠程伺服器下載git:
git fetch http://android.git.kernel.org/ + project path.git
並且輸入我要下在的base這個部分的代碼:git fitch
http://android.git.kernel.org/platformworks/base.git
出現如下界面:
出現這個肯定下載不了的,為什麼呢?我去android官網去看了一下,原來不是用老版本的那個命令了,而是如下的命令:
因此我要下載的base這個源代碼,找到相應的目錄,看下圖中的最後一個目錄:我用命令:
於是我用:git clone
https://android.googlesource.com/platform/frameworks/base.git
命令來下載base部分的源代碼,具體的界面如下:
然而居然出現HTTP
服務請求失敗,所以自己果把https換成http(我想大多數的朋友在eclipse中在線安裝ADT插件的時候,也會碰到類似的問題,這里就不一一詳述了):
輸入命令:git clone
http://android.googlesource.com/platform/frameworks/base.git
出現如下界面:
結果成功下載了base這個部分的代碼:現在看看我的C盤相應目錄中多出的base這個文件夾:
結果就成功了,你要下載其他部分的源代碼,依葫蘆畫瓢就OK了,希望能幫到學習android的朋友。
❽ 怎樣查看 Android APP源代碼
將apk文件拷貝至sdcard上。
命令順序如下:
進入Android sdk文件夾/tools目錄下
輸入adb shell
輸入su
輸入cd data
輸入cd app
這時就可以看到你安裝的所有的apk文件。輸入cp 空格 對應的apk 空格 /sdcard/
這樣就將apk文件拷貝出來了。
將apk文件後綴直接變成rar格式,可以看到熟悉的目錄結構了,
其中xml文件打開後都是二進制的,無法查看。
這時就用到了一個android4me的AXMLPrinter2工具。(請自行網路搜索)
輸入以下命令,將xml文件解析出來
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
將showtimes_list.xml生成xml文件,則輸入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml > h.xml
目前進行到這一步,只能看到xml文件的內容,其工程中的java源文件還是看不到,看目錄結構下有一個classes.dex文件,我們需要將dex文件變為jar文件。
這里用到了另一個工具dex2jar。(自行搜索下載)
在Windows下解壓之後的目錄如下圖所示:
在命令行中,進入到此目錄下:
在Windows下,輸入以下命令:
dex2jar.bat c:classes.dex
運行完之後,在C盤會多一個classes.dex.dex2jar.jar文件,此文件就是我們需要的jar文件。
利用jd-gui,將jar文件反向工程為java代碼。(請自行搜索下載)
它分為Windows、Linux、和max三個版本,這里我下載的是Windows版本的。
解壓之後,雙擊運行exe文件,選擇classes.dex.dex2jar.jar文件,相應的jar文件中的Java文件就被反向工程顯示出來了!
❾ 如何使用VirtualBox的安裝Android 4.4奇巧在Windows
您好,很高興能幫助您
按照下面的方法開打終端命令行工具或者使用快捷鍵:Ctrl + Alt + T
應用程序-----附件----終端
這里我們先新建一個文件夾名稱為 android4.4 ,用來保存Android下載源代碼
在終端中輸入並執行下面的命令來新建 android4.4 文件夾:
mkdir android4.4
之後用下面的命令進入到android4.4文件夾中
cd android4.4
之前小編有講述過下載repo工具,當時小編是保存在終端工具打開的默認位置即宿主目錄,為了方便使用repo工具,我們使用下面的命令將它到我們源碼下載的目錄中來:
cp /home/xyh666168/repo ./
或
cp ../repo ./
說明:
../ 表示上一級目錄
./ 表示當前目錄
下面的4、5、6步主要講述初始化android源碼,這個初始化簡單的說就是:下載一些關於源代碼的配置文件,之後按照這個配置文件來下載Android源代碼
目前關於Android最新的分支代碼是:android-4.4_r1
我們可以使用下面的命令來初始化最新android 源代碼
./repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1
輸入上面的命令後回車執行
因為各種網路方面的原因,可能執行上面點初始化命令會失敗,提示一些類似網路連接失敗的信息,那麼不用理會,繼續執行上面的初始化命令,若是很多次都都提示失敗,那麼可以做用以下方法來嘗試:
1、使用命令:rm -rf * -R 刪除android 4.4文件中的緩存文件,然後重新執行初始化命令
2、隔一段時間或者晚上特別是凌晨的時候下載初始化,一般這個時候網路環境容易下載Android 源代碼
3、可能是寬頻運行商對Android源代碼下載網站都控制,嘗試讓它們打開,不行就考慮更換網路寬頻或者換個不同的寬頻下載
若是看到類似下面的信息,擾喚兆表示連接成功,正在初始化
根據網路的速度,初始化的時間也不同,正常網路情況下,2分鍾之內就可以完成初始化,完成初始化後,我們可以看到如下面的提示信息:
repo has been initialized in ......
這個信息表示初始化成功,下面我們就可緩租以開始同步下載源代碼了
輸入並執行下面的命令開始執行源代碼的同步下載
./repo sync
同樣,若是因為網路原因,下載過程自動中斷,那麼我們繼續使用這個命令,直到源代碼下載完
若是看到類似下面的信息不停的滾動或者一些數字閃爍,那麼表示源代碼正在下載,請耐心等待
下載的過程中,可能會看到類似下圖中紅色方便標示的信息而發生中斷,停止下載,那麼我們可以繼續使用./repo sync命令來下載,源代碼的下載過程普通網路可能要數個甚至十幾個小時,為了防止中斷停止下載,那麼我們最好使用一個自動恢復下載的腳本來下載源代碼,請參考小編關於「Android 4.3源碼的下載和編譯環境的安裝及編譯」或者「Android 4.4 源碼下載之下載環境准備」中介紹的方法
最後源碼下載完後,提示信息如下圖打紅色方框所示,checking out files 表示從「臨時文件」中導出源碼
「臨時文件」 .repo14775M
「臨時文件」 .repo和導出的源碼一共24335M(23G)
下載過程中若不知道下載了多少,可以在源碼目錄使用命令: -sh 或 -sm 來查看已經下載了多少,然後和小編這里的對比,這樣就能夠計算還需要多久可以下載完
其它一些事項說明:
1、在源代碼下載過程中,我們在源代碼下載目錄看不到任何文件,打開「顯示隱藏」鏈檔,會看到一個名為.repo的文件夾,這個文件夾是用來保存Android源代碼的「臨時文件」
2、文件最後下載接近完成時,會從.repo文件夾中導出Android源代碼
3、Android源代碼下載完成後,我們可以看到Android源代碼下載目錄中會有
bionic、bootable、build、cts、dalvik......這些文件夾,這些就是Android源代碼
4、若是必須關閉電腦停止下載,那麼可以在源代碼下載的終端中按Ctrl + C 或者 Ctrl + Z 停止源代碼的下載,不會造成源代碼的丟失或損壞
5、自動或者手動停止源代碼的下載,可以使用命令: repo sync 繼續下載
你的採納是我前進的動力,
記得好評和採納,答題不易,互相幫助,
❿ android源碼在哪個文件夾下
android的源碼首先需要你從Android SDK Manager裡面下載,然後在你的sdk中才看得到。
如下圖,找到對應的source for Android sdk項,選中然後下載: