ubuntu下編譯android2.3源碼問題集

來源:互聯網
上載者:User

最近在ubuntu下編譯android2.3的源碼,並修改了某些模組,以下是遇到到一些問題,待續....
 
 
 
1. 解決Ubuntu安裝sun-java6-jre時無法選擇ok鍵的問題
 
   先點一下tab鍵才能選ok鍵
 
 
 
2. 刪除原來的JDK:
sudo apt-get remove sun-java6-jre sun-java6-plugin sun-java6-bin sun-java6-fonts
 
 
 
3.  make clean   --->  make update-api   -->  make
 
 
 
4. /etc/apt/sources.list,
   執行apt-get update 更新軟體庫
 
 
 
5. 無法獲得鎖/var/lib/dpkg/lock
   sudo rm /var/cache/apt/archives/lock
   sudo rm /var/lib/dpkg/lock
 
 
 
6. 錯誤:
   arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
   make: *** [out/target/product/generic/obj/EXECUTABLES/dalvikvm_intermediates/Main.o] 錯誤1
 
   ---解決辦法:可能是許可權問題,到android源碼目錄下,直接chmod -R 777 *
 
 
 
7. 編譯源碼模組:(http://blog.csdn.net/luoshengyang/article/details/6566662)
    a.  首先在Android原始碼目錄下的build目錄下,有個指令檔envsetup.sh,執行這個指令檔後,就可以獲得一些有用的工具:
         build下的一個檔案:
         source build/envsetup.sh    (前面要加上source,否則找不到mmm等命令)(不同的shell視窗都得運行該命令後才能使用mmm等命令)
    b.   使用mmm命令來編譯指定的模組,例如QuickSearchBox應用程式:
         mmm packages/apps/QuickSearchBox/
    c.  編譯好模組後,還要重新打包一下system.img檔案,這樣我們把system.img運行在模擬器上時,就可以看到我們的程式了。
        make snod
    d.  模擬器到環境變數 運行模擬器
        export PATH=$PATH:/mydroid2.30/mydroid/out/host/linux-x86/bin
        export ANDROID_PRODUCT_OUT=/mydroid2.30/mydroid/out/target/product/generic
         //注釋~/Android/out/host/linux-x86/bin有我們要執行的emulator命令,而~/Android/out/target/product/generic是Android鏡像存放目錄,下面執行emulator命令時會用到。
        emulator
 
 
 
8. 源碼中存放app到路徑out/target/product/generic/system/app
   刷機時,該路徑中到apk都會成為系統內建應用。
 
 
 
9. 錯誤:  ./adb devices 提示????????????    no permissions
   ----解決辦法:切換到root使用者,使用adb kill-server,adb start-server 就可以了
   ----原因:adb需要在root許可權時再啟動才有許可權。
 
 
 
10. 錯誤:編譯的源碼apk在真機上安裝時會出現INSTALL_FAILED_OLDER_SDK問題
    ---解決辦法:修改源碼下build/core/version_defaults.mk檔案,將
              PLATFORM_VERSION := 2.3.1
              PLATFORM_VERSION_CODENAME := REL
       然後重新編譯整個源碼。
 
 
 
11. android解析度的修改&& hdpi-mdpi  (來自http://lostghoul.blog.163.com/blog/static/11172199920112842738688/)
    在檔案 夾build\target\product\generic.mk加入
    CUSTOM_LOCALES:= hdpi mdpi ldpi
 
 
 
12. 錯誤:root使用者使用gedit和emacs帶圖形介面的都出錯
   在終端切換至root,然後gedit某檔案,結果報錯:
   (gedit:4987): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported**
   GLib-GIO:ERROR:gdbusconnection.c:2270:initable_init: assertion failed: (connection->initialization_error == NULL)
   Aborted (core dumped)
    -----解決方案:就是在管理使用者的.bashrc 檔案尾部添加:
        export DBUS_SESSION_BUS_ADDRESS=""
 
 
 
13. 錯誤:進不了系統。修改了profile檔案後,可能導致進不了系統(輸入密碼後,又返回輸入密碼的介面)
    解決辦法:a.在輸入密碼介面,按ctrl+alt+F1 鍵,進入命令列模式
            b. 輸入使用者名稱和密碼login
            c. 執行命令/usr/bin/sudo vi /etc/profile
            d. 將檔案修改回來後,重啟電腦即可

摘自 mmvc2010的專欄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.