當前位置:首頁 » 安卓系統 » android安裝ubuntu

android安裝ubuntu

發布時間: 2023-09-10 16:57:46

『壹』 ubuntu下如何給android虛擬機安裝apk軟體

ubuntu下給android
虛擬機
安裝apk軟體
前段時間在window下做
android開發
,可以用adb命令給android虛擬機安裝apk軟體,
這段時間轉到了linux下來,我用的是ubuntu,搭建好android開發環境的之後,我開始給
android虛擬機安裝一些常用的軟體,比如
文件瀏覽器
什麼的。
首先打開終端,cd到android
SDK所在的目錄下,然後進入platform-tools文件夾,ls顯示
文件後,你會發現有個名為adb的可執行文件,就是用這個adb命令來為android虛擬機安裝
apk軟體的。
特別說明,我看見網上說的關於在linux下給android虛擬機安裝apk軟體的做法都不怎麼適合我,
adb可執行文件根本不在android
SDK/tools/
目錄下,而是在android
SDK/platform-tools/目錄下。

『貳』 怎樣在Ubuntu下安裝Android SDK/ADB

Ubuntu電腦安裝Android SDK/ADB

第一步,你要下載Linux版Android SDK的安裝或文件包,然後你需要從Android SDK Manager內下載Platform Tools
Package

請從Google官方獲取Android
SDK安裝或文件包,通常情況,你下載的文件名為android-sdk_rxx-linux.tgz的形式,rxx代表版本,比如,r16版,即android-sdk_r16-linux.tgz,r24版,即android-sdk_r24-linux.tgz

請放置Android SDK安裝或文件包在你的用戶主目錄

在你的Ubuntu電腦上打開終端窗口

解壓Android SDK文件:
cd ~
tar -zxvf android-sdk_r16-linux.tgz

在~/android-sdk-linux/tools字目錄,有一個叫做android的可執行文件,盡管名字是android,但它實際上是Android
SDK Manager

運行Android SDK Manager:
./~/android-sdk-linux/tools/android

選擇Android SDK
Tools與Android SDK Platform-tools項,點Install
packages安裝Platform Tools
Package工具包。包括ADB與Fastboot可執行的文件在內的工具包都會被下載,由於下載的文件較多而需要一定的時間,你能去喝點東西

你下載的Platform Tools
Package工具包文件將位於新創建的~/android-sdk-linux/platform-tools目錄

第二步,修改ADB與Fastboot可執行文件的默認PATH路徑環境。PATH環境變數可以是在~/.profile(或~/.bash_profile)或者~/.bashrc文件內修改,~/.profile文件是讀取所有互動式Shell的登錄,~/.bashrc文件讀取所有非互動式Shell的登錄(如sftp),在大多數默認情況下,~/.profile文件導入所有~/.bashrc文件的設置。PATH命令設定的改變必須包括/android-sdk-linux/tools與/android-sdk-linux/platform-tools目錄

kevdog的PATH命令設定通過Ubuntu系統內初始的默認編輯器Gedit在~/.bashrc文件底部增加了一行:
export
PATH=${PATH}:${HOME}/android-sdk-linux/tools:${HOME}/android-sdk-linux/platform-tools

第三步,我們需要為Ubuntu創建udev設備管理規則,從而讓設備在通過USB埠連接到電腦時能被正確地識別

將設備連接到電腦,然後執行命令:
lsusb

你會看到類似於下面的輸出信息:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation
2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004
Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001:
ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 063: ID 04e8:6860
Samsung Electronics Co., Ltd

由於kevdog的設備是Samsung的某款設備,因此你能看到相應的識別信息:
Bus 001 Device 063: ID
04e8:6860 Samsung Electronics Co., Ltd

我們來解釋下上面的識別信息:

Bus 001 Device
063,設備端的名稱是/dev/bus/usb/001/063,即這個信息可以幫助我們確定設備端的名稱

04e8,vendorID,即供貨商編號

6860,proctID,即產品編號

使用設備端的名稱/dev/bus/usb/001/063可以讓我們查詢設備的屬性,查詢這些屬性有時很有必要,因為udev設備管理匹配設備是基於特定標準的。為此,我們需要一個正確的udev設備匹配規則集,這個過程的第一步就是查詢能被連接或插入到我們規則集的准則,這可以通過udevadm程序來實現,並且有兩種方式現,它們生成的輸出信息為我們的設備構建udev設備管理規則:

udevadm查詢udev設備管理規則方法1:
udevadm info -q all -n <name of device
node>
根據原作者的實際情況,設備端名稱是/dev/bus/usb/001/063,因此命令是:

udevadm info -q all -n /dev/bus/usb/001/063
你會看到類似於下面的輸出信息:

$ udevadm info -q all -n /dev/bus/usb/001/063
P:
/devices/pci0000:00/0000:00:1d.7/usb1/1-8
N: bus/usb/001/063
S:
libmtp-1-8
S: GalaxyNexus
E: UDEV_LOG=3
E:
DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-8
E: MAJOR=189
E:
MINOR=62
E: DEVNAME=/dev/bus/usb/001/063
E: DEVTYPE=usb_device
E:
DRIVER=usb
E: PRODUCT=4e8/6860/216
E: TYPE=0/0/0
E: BUSNUM=001

E: DEVNUM=063
E: SUBSYSTEM=usb
E: ID_MTP_DEVICE=1
E:
ID_MEDIA_PLAYER=samsung_galaxy-s2
E: ID_VENDOR=samsung
E:
ID_VENDOR_ENC=samsung
E: ID_VENDOR_ID=04e8
E: ID_MODEL=Galaxy
E:
ID_MODEL_ENC=Galaxy
E: ID_MODEL_ID=6860
E: ID_REVISION=0216
E:
ID_SERIAL=samsung_Galaxy_0146B06501005018
E:
ID_SERIAL_SHORT=0146B06501005018
E: ID_BUS=usb
E:
ID_USB_INTERFACES=:ffff00:ff4201:
E: DEVLINKS=/dev/libmtp-1-8
/dev/GalaxyNexus
E: TAGS=:udev-acl:
我們使用的規則從有E:(E=ENV=Device
Property設備屬性值)的行開始

udevadm查詢udev設備管理規則方法2:
udevadm info -a -p $(udevadm info -q path
-n <name of device node>)

根據原作者的實際情況,設備端名稱是/dev/bus/usb/001/063,因此命令是:
udevadm info -a -p
$(udevadm info -q path -n /dev/bus/usb/001/063)
你會看到類似於下面的輸出信息:

$ udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/001/063)

Udevadm info starts with the device specified by the devpath and then

walks up the chain of parent devices. It prints for every device
found,
all possible attributes in the udev rules key format.
A rule to match, can
be composed by the attributes of the device
and the attributes from one
single parent device.
looking at device
'/devices/pci0000:00/0000:00:1d.7/usb1/1-8':
KERNEL=="1-8"

SUBSYSTEM=="usb"
DRIVER=="usb"
ATTR{configuration}==""

ATTR{bNumInterfaces}==" 2"
ATTR{bConfigurationValue}=="1"

ATTR{bmAttributes}=="80"
ATTR{bMaxPower}=="500mA"
ATTR{urbnum}=="29"

ATTR{idVendor}=="04e8"
ATTR{idProct}=="6860"

ATTR{bcdDevice}=="0216"
ATTR{bDeviceClass}=="00"

ATTR{bDeviceSubClass}=="00"
ATTR{bDeviceProtocol}=="00"

ATTR{bNumConfigurations}=="1"
ATTR{bMaxPacketSize0}=="64"

ATTR{speed}=="480"
ATTR{busnum}=="1"
ATTR{devnum}=="63"

ATTR{devpath}=="8"
ATTR{version}==" 2.00"
ATTR{maxchild}=="0"

ATTR{quirks}=="0x0"
ATTR{avoid_reset_quirk}=="0"

ATTR{authorized}=="1"
ATTR{manufacturer}=="samsung"

ATTR{proct}=="Galaxy"
ATTR{serial}=="0146B06501005018"

looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1':

KERNELS=="usb1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"

ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"

ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="e0"

ATTRS{bMaxPower}==" 0mA"
ATTRS{urbnum}=="1403"

ATTRS{idVendor}=="1d6b"
ATTRS{idProct}=="0002"

ATTRS{bcdDevice}=="0300"
ATTRS{bDeviceClass}=="09"

ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"

ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"

ATTRS{speed}=="480"
ATTRS{busnum}=="1"
ATTRS{devnum}=="1"

ATTRS{devpath}=="0"
ATTRS{version}==" 2.00"
ATTRS{maxchild}=="8"

ATTRS{quirks}=="0x0"
ATTRS{avoid_reset_quirk}=="0"

ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Linux 3.0.0-14-generic
ehci_hcd"
ATTRS{proct}=="EHCI Host Controller"

ATTRS{serial}=="0000:00:1d.7"
ATTRS{authorized_default}=="1"

looking at parent device '/devices/pci0000:00/0000:00:1d.7':

KERNELS=="0000:00:1d.7"
SUBSYSTEMS=="pci"
DRIVERS=="ehci_hcd"

ATTRS{vendor}=="0x8086"
ATTRS{device}=="0x27cc"

ATTRS{subsystem_vendor}=="0x103c"
ATTRS{subsystem_device}=="0x3010"

ATTRS{class}=="0x0c0320"
ATTRS{irq}=="20"
ATTRS{local_cpus}=="ff"

ATTRS{local_cpulist}=="0-7"
ATTRS{dma_mask_bits}=="32"

ATTRS{consistent_dma_mask_bits}=="32"
ATTRS{broken_parity_status}=="0"

ATTRS{msi_bus}==""
ATTRS{companion}==""
looking at
parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"

SUBSYSTEMS==""
DRIVERS==""
我們使用的規則從有ATTRS(ATTRS=Device
Attributes設備屬性)的行開始

不管是ENV,還是ATTRS,我們可以構建一個udev設備管理規則集。規則集的名稱可以隨意,根據原作者的意圖,我們叫做51-android.rules:

你能這樣建立規則集文件:
gksu gedit /etc/udev/rules.d/51-android.rules

之後,請在規則集文件中加入相關的規則,以原作者的規則來看,注意是一行一個:
SUBSYSTEM=="usb",
ENV{ID_VENDOR_ID}=="04e8", ENV{ID_MODEL}=="Galaxy", MODE="0666",
SYMLINK+="GalaxyNexus"
SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="04e8",
ENV{ID_MODEL_ID}=="6860", MODE="0666", SYMLINK+="GalaxyNexus"

SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProct}=="6860",
ATTR{proct}=="Galaxy" MODE="0666", SYMLINK+="GalaxyNexus"

如上面所加的規則,這些規則匹配准則是SUBSYSTEM,
ENV,ATTR,它只會修改設備的模式MODE(0666=rw-rw-rw-)與創建鏈接於/dev/GalaxyNexus的GalaxyNexus標識。當然,更多的指令可以分配給設備,如插入或移除設備時的執行命令,你能這樣指定指令:

ACTION=="add", RUN+="<name of action>"
ACTION==」remove」,
RUN+="<name of action>"
例如,我們要設定設備在插入或彈出時播放一個聲音或MP3文件,可以如下指令設定:

ACTION=="add", RUN+="/usr/local/bin/NexusMount.sh"

ACTION==」remove」, RUN+="/usr/local/bin/NexusUnmount.sh"

需要注意的是,每個ACTION指令設定必須在它自己的命令行;目錄必須正確;指令可以是多重設定

一旦規則構建完成,我們需要保存/etc/udev/rules.d/51-android.rules規則文件

在你執行規則集前,測試一下通常是一個好主意,因為那樣你能很容易地找出編寫規則集的錯誤:

你能使用udevadm工具簡單地完成規則集的測試:
udevadm info -q path -n d=<device
name>
根據原作者的設備端名/dev/bus/usb/001/063,測試行為:

udevadm test --action="SUBSYSTEM=="usb", ENV{ID_VENDOR_ID}=="04e8",
ENV{ID_MODEL}=="Galaxy" MODE="0666", SYMLINK+="GalaxyNexus"" $(udevadm info -q
path -n /dev/bus/usb/001/063)
雖然測試輸出行相當長,兩行輸出信息正確地識別規則集的指令設定:

udev_rules_apply_to_event: MODE 0666
/etc/udev/rules.d/51-android.rules:1
udev_rules_apply_to_event: LINK
'GalaxyNexus' /etc/udev/rules.d/51-android.rules:1

一旦你確認了規則集正確,請重啟udev設備管理服務:
sudo service udev restart

第四步,退出電腦的登錄,然後重新登錄回

在設備插入的情況下,執行ADB命令,如確認設備連接:
$ adb devices

你會看到設備識別號信息,根據原作者的設備,它是
0146B06501005018 device

如果你的設備已啟動在Fastboot模式,許多設備不啟動可能也行,你能執行Fastboot命令,如標準的Fastboot設備:
$
fastboot devices

『叄』 如何在 Android 手機上安裝 Ubuntu 1

首先您的手機需要獲取root許可權,root是前提。沒人獲取root許可權以下都不能完成。
下載Ubuntu 的啟動腳本bootscript.sh訪問sourceforge.net網站在網站上找到一個叫 Linux-on-Android 的項目的Home目錄下可以下載到
下載Ubuntu 的映像文件,在Linux-on-Android 的項目在其中找到Ubuntu / 12.04這里我們選擇12.04 full下載最新的版本ubuntu1204-v4-full.zip.下載的文件是1.4G解壓後有3G多。
在這里簡單介紹一下其他版本:
full 映像包含了完整的 Ubuntu 系統,其中包括 Unity 桌面,還有很多如GIMP等常用軟體,非常齊全。需要 3.5G 以上空間。
small 映像包含了的基本的 Ubuntu 系統,其中包括 LXDE 桌面,需要 2G 以上空間。
core 映像包含了基礎的 Ubuntu 系統,不過這個沒有GUI的,也就是沒有桌面只有命令行。
在手機上安裝Android Terminal Emulator 終端模擬器軟體,可以在Google Play上搜索安裝。通過終端我們可以用來執行很多命令和腳本。
在手機上安裝BusyBox,BusyBox它可以使得你可以在 Terminal 中運行很多命令,比如 cp、mv、cut 等,如果不能運行這些命令而執行腳本的話,會提示 **: not found 這樣的提示。所以安裝 BusyBox 可以使得這些命令都能夠在終端裡面執行。可以在Google Play上搜索安裝BusyBox。安裝好後,打開BusyBox點擊 Install 開始安裝,如果彈出需要ROOT許可權,點下一步允許就行.
安裝BusyBox以及後面我們在Terminal中都需要 root 許可權
安裝 ubuntu
首先把之前下載好的bootscript.sh和ubuntu解壓復制到內存卡新建ubuntu目錄下,打開 終端模擬器(Terminal) ,在游標處輸入 cd /sdcard/ubuntu然後回車進入到ubuntu目錄了。
然後我們可以輸入命令 「ls」 然後回車,就可以看到文件了。

bootscript.sh腳本需要root許可權來運行,在終端中使用命令 「su」 來切換至 root 用戶許可權,如果彈出授權信息點擊下一步允許就行了,成功後如圖之前的「$」變成了「#」,這就說明已經獲得Root許可權了.
然後運行啟動腳本sh bootscript.sh

然後腳本為你建立了一個名字為「ubuntu」的帳號,這里提示你需要為你的帳號設置一個密碼,這個密碼會在以後你操作 Ubuntu 的時候一些授權應用到,比如我在這里設置密碼為:「ubuntu」,這里注意的是在終端裡面輸入密碼是不會顯示出來的,你看見游標沒有動靜,但實際上你已經輸入進去了。回車後提示再次輸入密碼以保證你兩次密碼一樣,如圖:

密碼設置完成後,提示是否啟動VNC服務和SSH服務,我們只要輸入「y」然後回車,開啟了這兩個服務後我們才能通過遠程連接來連上系統,如圖:

然後提示我們輸入設備屏幕的尺寸,我的屏幕是854×480的,所以我輸入「852×480」。注意:這里兩個數字之間的不是乘號,而是字母「xyz」的「x」,輸錯了不能遠程連接的,如圖:
如圖的提示已經啟動了一個新的桌面,提示是否保存你剛才的設置為默認設置,只要輸入「y」即可

遠程桌面連接
遠程連接工具來連接登錄桌面就能看到完整的桌面系統了。這時候我們就要用到前面安裝的 Android VNC Viewer 了。按手機的 Home 鍵回到手機桌面,保持終端還在後台運行。找到 Android VNC 並且打開,然後進行一些簡單的配置。Nickname,為你的連接去一個名字如「ubuntu」。Password 為 「ubuntu」 。Address是ip地址,這里我們是在同一台手機上連,所以我們填寫「localhost」,當然你想在別的設備上連接當前的設備那就要填寫啟動時提示的地址。Port 是段口號,默認 5900。還有這里比較重要的是 Color Format,這個是連接的色彩設置,建議設置成「24-bit color (4 bpp)」,要不然畫質太低的話畫面就慘不忍睹了。
全部設置好以後,點擊 Connect 就可以連接上我們本地已經在運行的 Ubuntu系統了

另外,友幫拓系統在手機上運行,沒什麼大用。。

『肆』 如何在Ubuntu下配置Android開發環境

一共分為3步走:
1.配置JDK,安裝Open jdk
$sudo apt-get install openjdk-7-jdk或從oracle官網下載從官網下載JDK 解壓安裝,將解壓出的文件用最高許可權復制到/usr/lib/jvm里。
sudo cp -r ~/jdk1.7/ /usr/lib/jvm
(中間兩個「/」沒有連起來,有空格),修改環境變數
sudo gedit ~/.profile
在末尾加上
export java_HOME=/usr/lib/jvm/jdk1.7
然後保存關閉,使用source更新一下
$ source ~/.profile
配置默認的JDK版本
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7/bin/java 300
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
確認JDK是否安裝成功
$ java -version
如果看到java version "1.7.XXXX",那麼就表明安裝成功了。
2.安裝ADT Bundle for Linux
從谷歌官網下載ADT Bundle for Linux,這個包包含了android sdk和eclipse,並且也已經安裝好了adt,下載完成後直接解壓到安裝目錄。
前面的也許和32位的ubuntu安裝大同小異,但是接下來這是在64位系統上必須做的,否則會出現(...adb": error=2, 沒有那個文件或目錄)這樣的錯誤。原因是Android sdk只有32bit的程序,需要安裝ia32-libs,才能使用。
$ sudo apt-get install ia32-libs
注意:ia32-libs比較大。

『伍』 如何在Ubuntu下配置Android開發環境

配置開發環境具體步驟如下:


一、設置root密碼。

因為ubuntu下為了安全,一般都是以普通用戶進入系統。運行一些命令都需要root許可權,如果之前沒有設置root密碼,只需要在終端運行:sudopasswdroot命令即可,要輸入兩次密碼,密碼不會回顯出來。


二、安裝JDK

1)首先下載JDK,下載頁面:http://www.oracle.com/technetwork/java/javase/downloads/index.html(JDK6:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.html),下載下來的是bin文件(系統是64位的話,下載linux64位的安裝包)。將在/usr/lib目錄下新建一個java目錄,然後將文件拷貝到該java目錄,給予可執行許可權,然後再安裝。以下是命令:

cd/usr/lib

sudomkdirjava

cdjava

cp~/jdkxxx.bin/usr/lib/java/

sudochmoda+xjdkxxx.bin

sudo./jdkxxx.bin


jdkxxx.bin是下載的文件名,~/jdkxxx.bin是下載文件的保存路徑。第一次執行sudo的時候需要輸入root密碼,輸入就是了。

到最後會看到一個Done.表示安裝完成了。


2)配置環境變數:打開/etc/profile文件,在文件的最下面加上下面一段內容:

exportJAVA_HOME=/usr/lib/java/jdk1.6.0_29

exportPATH=$JAVA_HOME/bin:$PATH

exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH

其中/usr/lib/java/jdk1.6.0_29是JDK的安裝根目錄。命令:

sudogedit/etc/profile


ctrl+s保存關閉,接著:

sudosource/etc/profile


使環境變數配置生效,這樣就不用重啟。但只在當前終端有效,如果再打開一個終端,則需要再執行一次。

最後輸入命令檢查一下是否配置成功:

java-version


如果配置成功,會出現JDK的版本號,如下圖所示:

熱點內容
c語言稀疏矩陣轉置矩陣 發布:2025-02-01 03:47:57 瀏覽:530
坦克世界掛機腳本有哪些 發布:2025-02-01 03:07:41 瀏覽:133
串口編程at 發布:2025-02-01 03:06:05 瀏覽:908
合資汽車配置有什麼 發布:2025-02-01 02:56:07 瀏覽:78
wifi共享精靈源碼 發布:2025-02-01 02:40:15 瀏覽:973
java軟體怎麼安裝 發布:2025-02-01 02:40:09 瀏覽:549
河北稅務局電子密碼是什麼 發布:2025-02-01 02:40:07 瀏覽:835
檢查伺服器設置是什麼意思 發布:2025-02-01 02:31:26 瀏覽:185
神偷四第四章密碼是多少 發布:2025-02-01 02:07:29 瀏覽:13
qq登錄在哪個文件夾 發布:2025-02-01 01:57:59 瀏覽:627