android 編譯過程及錯誤處理

來源:互聯網
上載者:User

1、下載核心安裝jdk後,make出現:/android/prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gcc: 許可權不夠,

可以看到是許可權不夠,因為在編譯完成arm-linux-androideabi-gcc檔案後,並沒有設定為可執行(具體看Linux許可權),樓主開啟命令列,切換到檔案所在目錄,chmod 777 file,就可以了。

/bin/bash: build/core/find-jdk-tools-jar.sh: Permission denied

同上,為了防止出現同樣錯誤,將android全部檔案加上執行權利。

2、ld/core/base_rules.mk:479: warning: ignoring old commands for target `out/target/product/msm7627a/system/etc/permissions/platform.xml'
No private recovery resources for TARGET_DEVICE msm7627a
host Java: apicheck (out/host/common/obj/JAVA_LIBRARIES/apicheck_intermediates/classes)
/bin/bash: jar: command not found
make: *** [out/host/common/obj/JAVA_LIBRARIES/apicheck_intermediates/javalib.jar] Error 127

mediates/sh_static)
Target buildinfo: out/target/product/msm8625/system/build.prop
host Java: dumpkey (out/host/common/obj/JAVA_LIBRARIES/dumpkey_intermediates/classes)
system/core/libmincrypt/tools/DumpPublicKey.java:27: warning: sun.misc.BASE64Encoder is Sun proprietary API and may be removed in a future release
import sun.misc.BASE64Encoder;
               ^
1 warning
/bin/bash: jar: command not found
make: *** [out/host/common/obj/JAVA_LIBRARIES/dumpkey_intermediates/javalib.jar] Error 127
/bin/bash: jar: command not found
解決辦法:

cd /usr/bin

必須先進入/usr/bin,下同

sudo ln -s -f /usr/lib/jvm/jdk1.6.0_30/bin/jar

我的jdk是安裝在/usr/lib/jvm/jdk1.6.0_30/目錄下的

如果提示javah:commond not found,於是照葫蘆畫瓢,輸入命令

cd /usr/bin
ln -s -f /usr/lib/jvm/jdk1.6.0_30/bin/javah

        && mkdir -p out/target/common/docs/doc-comment-check/assets-sdk \
        && cp -fr build/tools/droiddoc/templates/assets/* out/target/common/docs/doc-comment-check/assets/ \
        && cp -fr build/tools/droiddoc/templates-sdk/assets-sdk/* out/target/common/docs/doc-comment-check/assets-sdk/ \
        && touch -f out/target/common/docs/doc-comment-check-timestamp \
    ) || (rm -rf out/target/common/docs/doc-comment-check out/target/product/msm7627a/obj/JAVA_LIBRARIES/doc-comment-check_intermediates/droiddoc-src-list; exit 45)
/bin/bash: line 1: javadoc: command not found
make: *** [out/target/common/docs/doc-comment-check-timestamp] Error 45

 在編譯android環境時,java -version 命令明明能夠正確表示java已經安裝成功,環境設定正確。但是,在編譯android時,檢查java版本卻通不過去:提示/bin/bash: java: command not found  問題,

重裝jdk幾次仍是出現這種問題,沒辦法只好做個軟連結了。

 

   sudo ln -s /jdk1.6.0_21/bin/jar /bin/jar

   sudo ln -s /jdk1.6.0_21/bin/java /bin/java

   sudo ln -s /jdk1.6.0_21/bin/javac /bin/javac

   sudo ln -s /jdk1.6.0_21/bin/javah /bin/javah

   sudo ln -s /jdk1.6.0_21/bin/javadoc /bin/javadoc

 

------------------------------------------------------------

終於:可以編譯通過了。。。

3、

編譯android時
lzop: error while loading shared libraries: liblzo2.so.2: cannot open shared object file: No such file or directory
    安裝:liblzo2-2-32bit-2.06-6.1.2.x86_64.rpm(apt-get install liblzo2-2)

sudo apt-get install liblzo2-dev
sudo apt-get install lzop
sudo apt-get install alien #alien預設沒有安裝,所以首先要安裝它
sudo alien liblzo2-2-32bit-2.06-6.1.2.x86_64.rpm
#將rpm轉換位deb,完成後會產生一個同名的xxxx.deb(http://rpmfind.net/linux/rpm2html/search.php?query=liblzo2.so.2)
sudo dpkg -i liblzo2-2-32bit-2.06-6.1.2.x86_64.deb #安裝

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.