當前位置:首頁 » 操作系統 » android高仿項目源碼

android高仿項目源碼

發布時間: 2023-08-25 02:11:48

1. 如何獲取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.

2. 如何使用Android Studio開發/調試Android源碼

一、修改Android
Studio(以下簡稱AS)的內存配置
因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio.vmoptions中-Xms和-Xmx的值。文檔中使用的是748m,
可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一個沒有classpath的JDK,
這樣可以確保使用源碼里的庫文件
三、生成導入AS所需配置文件(*.ipr)
①編譯源碼(為了確保生成了.java文件,如R.java;如果編譯過,則無需再次編譯)
②檢查out/host/linux-x86/framework/目錄下是否有idegen.jar
如果idegen.jar不存在,執行:
mmm
development/tools/idegen/
在5.0.1的源碼中會生成res.java的文件夾,導致idegen.jar運行時拋FileNotFoundException,這是idegen的代碼不夠嚴謹造成的。
我的分享里有修改這個bug的patch,或者直接使用我分享的idegen.jar。
③執行
development/tools/idegen/idegen.sh
等待出現類似下面的結果:
Read
excludes:
5ms
Traversed
tree:
44078ms
這時會在源碼的根目錄下生成android.ipr和android.iml兩個IntelliJ
IDEA(AS是基於IntelliJ
IDEA社區版開發的)的配置文件
④在AS中打開源碼根目錄下新生成的android.ipr
四、解決源碼中跳轉錯誤問題
①為當前工程設置正確的SDK和JDK
②設置'Moles'的依賴
先將所有依賴刪掉,只留下上圖'1'所指向的兩個(注意:這里刪除全部只是為了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
點擊上圖中'2'指向的'+'並選擇上圖'3'指向的'Jars
or
directories'選項,依次將frameworks和external文件夾添加進來
五、DEBUG源碼
可以通過給剛導入的工程在'Moles'中添加'Android
Framework'來讓AS將它作為一個Android工程,從而方便調試代碼.
在彈出的選擇進程(Choose
Process)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可.
六、其它
代碼中很多地方提示Call
requires
API
Level
x....
出現這個問題是因為AS將工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion.
只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。
也可以考慮使用build.gradle來解決該問題。

3. 如何查看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文件便能夠查看源代碼了,如圖六。

這樣就大功告成了!!!

4. 怎樣查看 Android APP 源代碼

需要把反編譯的apk存放到apktools同級文件夾目錄下,然後運行要查看的安裝包,具體操作如下:

1、首先把反編譯的apk存放到apktools同級文件夾目錄下,如下圖所示。

5. 如何使用android studio 查看android源碼

1、在Android studio的中進行導入一個Android的開發的項目的文件,然後在項目中選中一個需要檢查的文件。 2、項目的文件被選中完成之後,進行點擊Android studio菜單中的Analyze選項菜單。 3、進行點擊完Analyze菜單中之後,就會彈出了一個下拉的菜單的inspect code選項菜單。 4、然後就會彈出了一個speoify inspection scope的談出框,在inspection scope中,whole project為是整個的項目檢查,如果只想檢查剛才選中的文件,進行選中第四個選項即可file【app】即可,然後進行點擊OK。 5、那麼在就會Android studio的底部位置中,彈出了一個項目的檢查的結果,也是檢查結果的列表。 6、如果要查看具體的檢查的內容的話,進行點擊檢查的結果的文件之後,可以查看到的是檢查結果的具體信息內容。

6. 怎麼在eclipse中查看android源碼

在eclipse中查看android源代碼的兩種方法
方法一:
一名Java開發工程師經常會查看庫的源代碼,因為我們用ADT發現android庫沒有自帶source code,我就創建一個user library來解決這個問題的。
1、首先你需要下載android源代碼,用git,詳見android開發官方網站。
然後找到源碼目錄下的\frameworks\base\core\java,把android壓縮成android.zip把下面這些文件夾拖入到裡面(結構android.zip\)\frameworks\base\graphics\java\android\
\frameworks\base\location\java\android\
\frameworks\base\media\java\android\
\frameworks\base\opengl\java\android\
\frameworks\base\sax\java\android\
\frameworks\base\telephony\java\android\
\frameworks\base\services\java\com\android\\frameworks\base\vpn\java\android\
\frameworks\base\wifi\java\android\
2、在你的android工程上,右鍵->屬性,找到Java Build Path3、Add Library->User Library->Next->User Libraries->New4、輸入Library的名稱,比如android_src2.0
5、Add JARs->選擇剛剛創建的android.zip
這樣你就把android源碼添加上了。
方法二:
上面的方法我試了一下1.6的就是不行,只有2.0的才行,所以用網上搜索到的一種方法,添加1.6SDK的源代碼。
from __future__ import with_statement# for Python < 2.6import os
import re
import zipfile
# open a zip file
DST_FILE = 'sources.zip'
if os.path.exists(DST_FILE):
print DST_FILE, "already exists"
exit(1)
zip = zipfile.ZipFile(DST_FILE, 'w', zipfile.ZIP_DEFLATED)# some files are plicated, them only oncewritten = {}
# iterate over all Java files
for dir, subdirs, files in os.walk('.'):
for file in files:
if file.endswith('.java'):
# search package name
path = os.path.join(dir, file)
with open(path) as f:
for line in f:
match = re.match(r'\s*package\s+([a-zA-Z0-9\._]+);', line)if match:
# source into the zip file using the package as pathzippath = match.group(1).replace('.', '/') + '/' + fileif zippath not in written:
written[zippath] = 1
zip.write(path, zippath)
break;
zip.close()
把這些代碼拷貝一下,新建一個叫 makesrc.py的文件,放到< 源碼位置>/frameworks/base下面,然後執行makesrc.py,完畢之後會有sources.zip然後在platforms\android-1.6\sources 下面解壓到這個目錄具體目錄格式是\platforms\android-2.1\sources\
android
com
java
javax
junit
mock_android
org

熱點內容
家用電腦改成伺服器並讓外網訪問 發布:2025-02-01 15:30:23 瀏覽:354
javac工資 發布:2025-02-01 15:24:28 瀏覽:22
如何刪除伺服器登錄賬號 發布:2025-02-01 15:21:05 瀏覽:498
瑞薩編程器 發布:2025-02-01 15:19:18 瀏覽:85
上海ntp伺服器搭建 發布:2025-02-01 15:03:38 瀏覽:991
c游戲編程基礎 發布:2025-02-01 15:00:17 瀏覽:993
routejs怎麼動態配置 發布:2025-02-01 14:59:07 瀏覽:502
家用電腦安裝伺服器內存 發布:2025-02-01 14:38:50 瀏覽:257
增量調制編解碼實驗報告 發布:2025-02-01 14:30:30 瀏覽:787
不良人2無敵傷害腳本 發布:2025-02-01 14:23:04 瀏覽:398