導航:首頁 > 源碼編譯 > 安卓源碼運行方法

安卓源碼運行方法

發布時間:2022-04-30 22:15:34

android源碼能在其他電腦上運行嗎

如下:
1.在ubuntu系統下,進入源碼根目錄,運行如下命令
mmm命令編譯idegen模塊,在源碼目錄下的out/host/linux-x86/frameworks/目錄下生成了idegen.jar文件。
2.在源碼目錄下繼續執行如下命令:
3.development/tools/idegen/idegen.sh命令執行完成,會在根目錄下生成
android.iml和android.ipr這兩個文件,這兩個文件是Android Studio的工程配置文件。
4.到這一步我們可以打開Android Studio導入源碼了,不過還有一些要注意的地方,如果我們就這么直接導入,會把所有的源碼模塊導入到Android Studio中,這會很慢的,想想源碼那麼多文件,直接全部導入,如果你的電腦配置不好,可能會直接假死。所以我們最好過濾一下我們不需要的源碼文件,只導入我們需要的模塊。
對比源碼下目錄,我把除了frameworks模塊的其他所有模塊都過濾掉了。這樣導入的速度很快,3分鍾左右就導入完成了。
5.所有配置完成了,下面啟動Android Studio開始導入源碼。
6.Android Studio導入源碼
點擊ok,大概過了3-5分鍾,就導入完成了。
7.好了,現在我們可以愉快的使用Android Studio查看源碼了。
8.如果你不想編譯源碼,還想把源碼導入Android Studio的簡單方法是什麼呢,到這一步我想大家都知道了,就是把上面生成的兩個文件android.iml和android.ipr拷貝到你的未編譯源碼根目錄就可以用Android Studio導入了。
9.當然,一般我們大部分人不在ubuntu下開發app ,為了能在Windows或Mac系統下也能使用Android Studio查看未編譯的源碼,我們也可以像上一步那樣直接拷貝ubuntu下的android.iml和android.ipr文件到Windows或Mac系統下的android源碼根目錄下,然後導入Adnroid Studio中,這樣就可以在這兩個平台上進行查看源碼了,不用一直開虛擬機了。

⑵ android編譯源碼後怎樣運行

編譯:
1. 初始化:
source build/envsetup.sh
2. 選擇target
lunch
然後選擇aosp_arm

3.
make -j4

等待大概2個小時,就可以順利編譯完成。

模擬器運行
直接運行emulator,會出現如下錯誤:

emulator: ERROR: You did not specify a virtual device name, and the system

directory could not be found.

原因是文件路徑沒有設置,解決辦法添加絕對路徑:

out/host/Linux-x86/bin/emulator -kernel prebuilts/qemu-kernel/arm/kernel-qemu -sysdir out/target/proct/generic/ -system out/target/proct/generic/system.img -ramdisk out/target/proct/generic/ramdisk.img -data out/target/proct/generic/userdata.img -sdcard sdcard.img -scale 0.7 -memory 512 -partition-size 1024

然後運行模擬器

⑶ android源碼 下載 如何使用

1、這位兄弟,不知道你說的源碼是不是真正意義上的源碼(源碼很大的,2.3之前的應該在3G左右,4.0的有4G多點),如果是android-sdks\samples\android-15目錄下的一某個例子,一樓正解。在eclipse的菜單->File->New-Project->Create project from existing source,選擇Android->Android Sample Project
2、如果是google系統源碼,你用eclipse就很難運行出來(例如Mms,彩信),因為上層運行時會依賴底層很多東西(例如一些jar包),想用eclipse運行出來必須把上層所依賴的全導進去,這個過程很復雜。所以,我建議,如果想運行源碼(如:Mms,路徑:packages\apps\Mms),弄一個linux系統。
3、實例太大,沒法上傳

⑷ Android怎麼導入源代碼並運行

導入的項目有問題吧,一般情況下,jar包或者library有可能發生錯誤,你可以重新設置下路徑

選中當前項目右擊----properties-------Android(左邊)-----查看右下部分有沒沒有library有的話remove再此重新導入

或者:

選中當前項目右擊----properties-------java Build Path-----查看右面4個選項卡有沒有報錯的。。。如果有,同樣,removew在add進入

⑸ 我在網上下了一些Android的源代碼,不知道怎麼用Eclipse運行

具體來說,有兩種方式。
第一種:
在你創建android project 的時候在選擇
Create project from existing source 按後選
Browse 在你的電腦裡面找到要引入的代碼。
第二種:
可以建立一個Applocation name
Package name
Create Activity
還有 android版本相同的項目
建立以後,點右鍵選擇Import 再選File System
找到要引入的項目,把裡面的東西都引入進來就可以了。

⑹ 自己可以編譯安卓源碼嗎

用最新的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內核問題,解決方法如下:
執行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通過使用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源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.

    ⑺ 怎麼在android studion 運行apk源碼

    一、修改Android Studio(以下簡稱AS)的內存配置
    因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-Xms和-Xmx的值。文檔中使用的是748m, 可自行修改。
    二、配置AS的JDK、SDK
    在IDE中添加一個沒有classpath的JDK, 這樣可以確保使用源碼里的庫文件

    並將其作為要使用的SDK的Java SDK。如下圖

    三、生成導入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社區版開發的)的配置文件
    Tips:
    AS在導入代碼時比較慢,建議先修改android.iml,將自己用不到的代碼exclude出去.可以仿照過濾.repo文件夾的語法,如:
    <excludeFolder url="file://$MODULE_DIR$/.repo" />
    <excludeFolder url="file://$MODULE_DIR$/abi" />
    <excludeFolder url="file://$MODULE_DIR$/art" />
    刪除掉所有不需要的mole-library項 PS:感謝 @dezng 的建議
    這樣在導入時就會跳過abi和art文件夾.過濾的越多,AS的處理速度就會越快.
    ④在AS中打開源碼根目錄下新生成的android.ipr

    如果在導入時AS出現

    則建議按照其給定的解決方法來解決(網址:http://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit),具體內容如下圖:

    四、解決源碼中跳轉錯誤問題
    ①為當前工程設置正確的SDK和JDK

    ②設置'Moles'的依賴

    先將所有依賴刪掉,只留下上圖'1'所指向的兩個(注意:這里刪除全部只是為了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了.
    如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
    點擊上圖中'2'指向的'+'並選擇上圖'3'指向的'Jars or directories'選項,依次將frameworks和external文件夾添加進來.如:

    其它版本的代碼在添加frameworks時可能會顯示成:

    沒有關系,只是顯示問題,點擊OK還是會把frameworks路徑添加進去的.
    如果還有代碼跳轉錯誤,請仿照上面的步驟將相應代碼的路徑或jar文件添加到其Dependencies標簽頁中即可.
    五、DEBUG源碼
    我們可以通過給剛導入的工程在'Moles'中添加'Android Framework'來讓AS將它作為一個Android工程,從而方便我們調試代碼.

    可以按照上圖中'1'和'2'來添加Android Framework支持.
    在代碼中加斷點,然後選擇'Run'->'Attach debugger to Android process'或者直接點擊下圖所示的圖標
    在彈出的選擇進程(Choose Process)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可.
    六、其它
    代碼中很多地方提示Call requires API Level x.... 出現這個問題是因為AS將我們的工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion.
    我們只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。
    也可以考慮使用build.gradle來解決該問題。

    文中所使用的文件地址:http://yunpan.cn/cf3MBa2688eBw (提取碼: 64e5)

    ⑻ 如何運行打包的android源代碼文件

    android源碼目錄下的build/envsetup.sh文件,描述編譯的命令
    -
    m:
    makes
    from
    the
    top
    of
    the
    tree.
    -
    mm:
    builds
    all
    of
    the
    moles
    in
    the
    current
    directory.
    -
    mmm:
    builds
    all
    of
    the
    moles
    in
    the
    supplied
    directories.
    要想使用這些命令,首先需要在android源碼根目錄執行.
    build/envsetup.sh
    腳本設置環境
    m:編譯所有的模塊
    mm:編譯當前目錄下的模塊,當前目錄下要有android.mk文件
    mmm:編譯指定路徑下的模塊,指定路徑下要有android.mk文件
    下面舉個例子說明,假設我要編譯android下的\hardware\libhardware_legacy\power模塊,當前目錄為源碼根目錄,方法如下:
    1、.
    build/envsetup.sh
    2、mmm
    hardware/libhardware_legacy/power/
    編譯完後
    運行
    make
    snod
    會重新將你改過的模塊打入到system.img中

    ⑼ 自己開發的android程序怎麼在手機上運行

    1
    首先在虛擬機上運行一次,然後打開你的源代碼在bin文件下有個apk文件把它拿出來裝到你手機上就可以了
    2或你以後可以直接用真機代替虛擬機搞開發,可以直接連接數據線到電腦,(要有驅動,如不知道怎麼下驅動,可以下載91手機助手或豌豆莢幫你自動安裝),然後你在Eclipse下點擊運行你的程序是可以在Target項中點擊Manual選擇真機運行

    ⑽ 怎樣運行Android源代碼

    小編初學android的時候也不知道如何導入源碼,但經過半天的琢磨··終於找到了一個好的捷徑。 第一步在Eclipse 開發環境中,選擇File---》import

    第二步選中所要導入的文件

    第三步 選中導入的項目,右鍵選擇Properties--》


    第四步 選擇「Android」選項,勾選TargName,然後單擊OK。小提示:TagName要與你當前模擬器的版本匹配,比如筆者的是android 2.3.3。


    第五步 在導入的項目按滑鼠右鍵 ,單擊Android tool ---》Fix Project Properties
    這樣子··你下載的源碼就可以運行了,雖然步驟煩瑣了一點,但是操作多了就了就順手了。 不過··大家有什麼更便捷的方法也可以推薦給我。

    閱讀全文

    與安卓源碼運行方法相關的資料

    熱點內容
    鎖定伺服器是什麼意思 瀏覽:375
    場景檢測演算法 瀏覽:607
    解壓手機軟體觸屏 瀏覽:338
    方舟pv怎麼轉伺服器 瀏覽:99
    數據挖掘中誤差值演算法函數 瀏覽:118
    php開發套件 瀏覽:190
    伺服器的spi板是什麼 瀏覽:896
    解壓縮全能王中文密碼是什麼 瀏覽:80
    javaftp伺服器上傳文件 瀏覽:103
    演算法設計中文版pdf 瀏覽:81
    視頻壓縮形式怎麼改 瀏覽:368
    perl程序員 瀏覽:789
    電子表格對比命令 瀏覽:610
    php循環輸出數組內容 瀏覽:750
    電腦加密能不能強制關掉 瀏覽:616
    趣味單人解壓桌游 瀏覽:212
    oppo手機谷歌伺服器無法核實什麼 瀏覽:320
    軟體怎麼加密華為 瀏覽:222
    掃地機怎麼安裝app 瀏覽:319
    考研結合特徵值計演算法 瀏覽:517