1. 程式人生 > >Ubuntu12.04環境下的android原始碼編譯

Ubuntu12.04環境下的android原始碼編譯

sudo apt-get install libncurses5-dev:i386

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libncurses5-dev:i386 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  ncurses-doc libtinfo-dev

E: Package 'libncurses5-dev:i386' has no installation candidate

 出現這種問題,是因為使用64位系統,不能用i386,這是32bit的,網上沒有成功例子,所以嘗試了sudo apt-get install libncurses5-dev:amd64..竟然可以安裝,所以其他i386問題都可以這樣解決吧。

if you are setting up an environment for android source code in 64 bits system, the official command may be wrong , use this

$ sudo apt-get install git gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:amd64 x11proto-core-dev \
  libx11-dev:amd64 libreadline6-dev:amd64 libgl1-mesa-glx:amd64 \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:amd64
$ sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so (注意是/usr下的lib)

java安裝錯誤

先參考http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html配置。然後報錯,系統已經自帶openJDK1.6.0_27

Your version is: java version "1.6.0_27".

The correct version is: Java SE 1.6.

通過這篇方法解決:


gedit ~/.bashrc
檔案末尾新增如下描述資訊:
export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_17
export JRE_HOME=/usr/lib/jdk/jdk1.7.0_17/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib


同步一下:
. ~/.bashrc

update-alternatives --install /usr/bin/java java /usr/lib/jdk/jdk1.7.0_17/bin/java 300

update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/jdk1.7.0_17/bin/javac 300

確認一下路徑:
printenv JAVA_HOME


java -version
列印:
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) Server VM (build 23.7-b01, mixed mode)

Could not create the Java virtual machine.

Header: out/target/product/rk30sdk/obj/include/libwpa_client/wpa_ctrl.h
make: *** [out/host/common/obj/JAVA_LIBRARIES/jsr305lib_intermediates/javalib.jar] Error 41
make: *** Waiting for unfinished jobs....
Import includes file: out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/import_includes

這是因為java的執行程式配置正確,根據修改

http://paddy-w.iteye.com/blog/958062

http://developer.51cto.com/art/200906/129515.htm

繼續編譯發現以下錯誤

找不到libz.so.1

經過本節分析,是缺少了lib32z1-dev這個庫,安裝即可。

以下為分析過程,僅供參考:

Refference link :

1、檢視庫檔案是由哪個軟體包提供的
空閒時開啟/usr/lib目錄(因為我知道這個目錄下放著一些庫檔案,是我們開發者可以利用的)想看看我的系統中有哪些庫。
看到一個libz.so,於是用命令檢視:

dpkg -S /usr/lib/libz.so
此命令輸出如下資訊:
zlib1g-dev: /usr/lib/libz.so
即我的系統中軟體包zlib1g-dev提供了libz.so這個庫檔案。
2、檢視軟體包的詳細資訊
可以用下列命令檢視此軟體包是幹什麼的:
apt-cache show zlib1g-dev
輸出內容一部分為:
Description: compression library - development
zlib is a library implementing the deflate compression method found
in gzip and PKZIP. This package includes the development support
files.
Bugs: mailto:[email protected]
Origin: Ubuntu
顯然這個軟體包提供了用gzip和PKZIP壓縮演算法進行開發的相關東西。

繼續用下面的命令檢視zlib1g-dev軟體包的詳細資訊:
dpkg -L zlib1g-dev

10.04安裝正常版本的分析結果

dpkg -S libz.so

結果:
  lib32z1-dev: /usr/lib32/libz.so
  zlib1g: /lib/libz.so.1.2.3.3
  lib32z1: /usr/lib32/libz.so.1
  lib32z1: /usr/lib32/libz.so.1.2.3.3
  zlib1g-dev: /usr/lib/libz.so
  zlib1g: /lib/libz.so.1

12.04安裝錯誤的分析結果

locate -b 'libz.so*'
  /lib/x86_64-linux-gnu/libz.so.1
  /lib/x86_64-linux-gnu/libz.so.1.2.3.4
  /usr/lib/libz.so.1
  /usr/lib/x86_64-linux-gnu/libz.so

Server:/$ dpkg -S libz.so
  zlib1g: /lib/x86_64-linux-gnu/libz.so.1.2.3.4
  zlib1g: /lib/x86_64-linux-gnu/libz.so.1

根據10.04安裝lib32z1-dev後

Server:/$ dpkg -S libz.so
  lib32z1-dev: /usr/lib32/libz.so
  lib32z1: /usr/lib32/libz.so.1
  lib32z1: /usr/lib32/libz.so.1.2.3.4
  zlib1g-dev: /usr/lib/x86_64-linux-gnu/libz.so
  zlib1g: /lib/x86_64-linux-gnu/libz.so.1.2.3.4
  zlib1g: /lib/x86_64-linux-gnu/libz.so.1

再次編譯,問題解決!真是感謝周立發先生。

PS:我本來想試試看1bi64z1-dev:i386的,但是裝完這個後就可以了,就不嘗試了,交給後人把。

相關推薦

Ubuntu12.04環境android原始碼編譯

sudo apt-get install libncurses5-dev:i386 Reading package lists... Done Building dependency tree        Reading state information... Don

Ubuntu 14.04 搭建MTK Android原始碼編譯環境搭建

安裝必備的工具: BuildEnvironment Requirement ============================================================= * ********* Suggested OS and Tool Cha

Ubuntu14.04搭建android原始碼編譯環境

在下載完了Android原始碼後,當然下一步工作就是編譯原始碼了。然而目前我們手頭只有一個裝載著原始碼卻沒有編譯環境的Ubuntu系統,所以還是先把編譯環境給搞定吧。 同樣的,Google官方也提供了非常詳盡的文件,英語水平過關的朋友可以參考https://source.android.com/source

Android 原始碼編譯環境搭建

我這邊自己使用Ubuntu 14.04 搭建了一個android原始碼的編譯環境,並打包成系統映象,送給不會搭建編譯環境的同學們。 連結:https://pan.baidu.com/s/1boDx

android原始碼編譯(ubuntu16.04 64位)

編譯步驟 1. 原始碼下載; 2. 構建編譯環境; 3.編譯原始碼; 4.執行. 編譯之前首先要下載和安裝repo和gitt工具。 repo和git Google採用Git對AOSP專案進行多倉庫管理. 為了方便需要,對git語句進行了封裝,也就形成了repo.

ubuntu14.04系統mips交叉編譯環境搭建

1.安裝必要軟體 2.下載解壓buildroot 3.配置編譯 4.設定環境變數 1.安裝必要軟體    sudo apt-get install build-essential bison flex 2.下載解壓 buildroot    http://buildro

Android原始碼編譯環境搭建問題及解決方案小結

1. ImportError: No module named bz2 for Python 2.7.2 (1)$ source build/envsetup.sh (2)$ lunch aosp_arm-eng (3)$ mak

window環境使用ndk編譯android studio/Eclipse能使用的ffmpeg動態庫

window環境下使用ndk編譯出android studio 能使用的ffmpeg動態庫 目錄 ffmepg介紹 FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。採用LGPL或GPL許可證。它提供了錄製、轉

ubuntu 16.04 環境編譯S3C2440平臺總結

1. 使用openocd燒寫S3C2440的nandflash     a) 準備工作:sudo apt-get install openocd     b) openocd 需要配置自己的openocd.cfg,配置檔案可以放在當前執行openocd的目錄,也可以是用引數

史上最簡單Android原始碼編譯環境搭建方法(基於Docker)

利用Docker映象確實可以簡化編譯環境的配置,現在Docker的用處還是挺多的,例如TensorFlow也可以在Docker上玩。有史以來,Android原始碼編譯環境的搭建始終是一件麻煩事兒。網上有數不清的文章介紹如何編譯Android原始碼,但是他們要麼方法複雜、步驟太

完整版linuxandroid原始碼下載、編譯、模擬器啟動執行

一、環境說明: 1、VMware版本:8.0.3 build-703057 2、liunx系統:Ubuntu10.10 3、jdk:sun-java6-jdk 二、Ubuntu 10.10更新源列表       由於Ubuntu 10.10版本的源已經過期了,所以,需要

ubuntu18.04環境編譯安裝opencv3.4

ubuntu18.04由於出來沒多久,很多應用也沒有很快就適配,而且由於系統配置環境的不熟悉,經常會出現一些不可預知的錯誤。下面記錄的是我電腦上安裝opencv3.4.0的安裝過程,網上這類教程很多,但是由於自己安裝過程中出現了幾個自己無法找到的問題,所以還是想記錄一下。

使用docker搭建android原始碼編譯環境

說明  由於工作原因要對android原始碼進行編譯,用於修改底層驅動,對系統進行定製。但是編譯過程中要使用特定ubuntu版本和gcc版本,所以會比較麻煩。當時第一反映是安裝VMware虛擬機器,裝一個指定版本然後將原始碼拷貝進去再編譯,該方法是可行的。後來

Android原始碼編譯環境的配置以及原始碼編譯(find7)

PS:首先,我們在準備編譯環境之前,為了防止網路出錯的問題(需要翻牆),請在終端下輸入:sudo gedit /etc/hosts;開啟hosts檔案,然後新增: 192.30.252.129  github.com 74.125.31.82    www.googleso

在Ubuntu 11.04環境搭載Android開發環境若干錯誤的解決方案

1、問題一:手動安裝JDK,需要手動環境變數,配置方法如下(以root使用者名稱的方式進入Ubuntu環境):                         (1)開啟Terminal(終端),執行cd /,然後執行cd etc/                    

Android 開發之Windows環境Android Studio安裝和使用教程(圖文詳細步驟)

9.png 虛擬機 jdk版本 編寫 clip 開發平臺 集成開發 arc 電腦安裝 鑒於谷歌最新推出的Android Studio備受開發者的推崇,所以也跟著體驗一下。 一、介紹Android Studio Android Studio 是一個Android

Teamcity集成環境的Agent編譯節點安裝說明

teamcity持續集成 安裝多個agent 引言 在引入Teamcity持續集成編譯軟件後,可以幫助各角色人員協同進行軟件的開發集成工作,其中主要是進行編譯、發布、歸檔等操作。這些操作需要使用到Agent(也就是操作執行的客戶端)功能,如果你有足夠的機器,可以安裝多個Agent, 這樣整體集成的

Android 原始碼編譯make的錯誤處理

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android原始碼編譯之Nexus5真機編譯

轉載:https://blog.csdn.net/liu1075538266/article/details/51272398 1.   前言 在Android安全的研究工作中,我們時常要對Android進行改進並對其進行原始碼編譯,由於目前幾乎所有的手機廠商均

python 自動操作 android原始碼編譯某一個apk

import os def getCmdEexcuteResult(cmd): tmp = os.popen(cmd).readlines() return tmp def doWork(): cmdList=['adb root', '