centos 7 64位虛機上android4環境運行


場景

現在的開發大多是在linux的虛擬機上進行,現在有些工作和android有關,因此初步嘗試了一下是否可以和目前的場景進行統一。

系統是在vmware workstaion上的centos 7的64位版本的虛擬機上

SDK/Studio

http://yun.baidu.com/share/home?uk=67915989&view=share#category/type=0

國內的一個鏡像,可下載SDK和Studio

JDK

Centos默認帶的openjdk需要替換成Oracle標准JDK,如下是多個版本的腳本例子

#!/bin/bash

JDK=(jdk1.7.0_25 jdk1.8.0_25 jdk1.7.0_51)

JDK_TAR=(server-jre-7u25-linux-x64.tar.gz jdk-8u25-linux-x64.tar.gz jdk-7u51-linux-x64.gz)

appDir=/home/csbit/

#if [ ! -s jdk/jdk-7u51-linux-x64.gz ]; then

# ln -s ../../../../../ide/share/jdk-7u51-linux-x64.gz jdk/jdk-7u51-linux-x64.gz

#fi

#param: index of $JDK's array

function instJDK()

{

#old jdk version

for j in ${JDK[@]}

do

if [ -d /usr/lib/jvm/$j ]; then

echo "rm old $j"

sudo rm -r -f /usr/lib/jvm/$j

fi

done;

sudo rm -f /usr/bin/java

sudo rm -f /usr/bin/javac

###update JDK

sudo mkdir -p /usr/lib/jvm

sudo tar -xzf jdk/${JDK_TAR[$1]} -C /usr/lib/jvm

echo 'JDK install done'

#ENV

#set binary

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/${JDK[$1]}/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/${JDK[$1]}/bin/javac 300

echo 'JDK env done'

sudo update-alternatives --set java /usr/lib/jvm/${JDK[$1]}/bin/java

sudo update-alternatives --set javac /usr/lib/jvm/${JDK[$1]}/bin/javac

}

instJDK 0

設置好后,JAVA_HOME環境變量設置上

32位包

sudo yum install -y glibc.i686

sudo yum install -y glibc-devel.i686

sudo yum install -y libstdc++.i686

sudo yum install -y zlib.i686

centos7 下仍有問題,運行android studio會提示mksdcard不能運行的情況,通過查看ldd mksdcard,缺少相關的庫文件

通過尋找,可以在 vmware tools拷貝,即把包libgcc_s.so libstdc++.so等拷貝到/usr/lib/gcc/x86_64-redhat-linux/4/8.2/32目錄下

在/etc/ld.so.conf中加入 /usr/lib/gcc/x86_64-redhat-linux/4/8.2/32,執行ldconfig -v更新庫路徑,然后再執行 ./mksdcard 就可正常運行

運行

./studio 就可以進行工程的建立和編譯等,由於采用的是gradle進行構建的,因此需要需要把這個環境拷貝到其他的脫機的機器上,需要把當前用戶的.gradle等目錄一並拷貝就行

~/Android/Sdk 是安裝的SDK

模擬器運行

編譯好后,運行時提示

Android/Sdk/tools/emulator -avd Nexus_5_API_21_x86 -netspeed full -netdelay none
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure KVM is properly installed and usable.
CPU acceleration status: KVM is not installed on this machine (/dev/kvm is missing).

參考這個

http://www.111cn.net/sys/CentOS/66219.htm

[root@361way ~]# yum -y install qemu-kvm libvirt virt-install bridge-utils

[root@361way ~]# lsmod | grep kvm  # make sure modules are loaded

kvm                   441119  0

[root@361way ~]# systemctl start libvirtd

[root@361way ~]# systemctl enable libvirtd

注:centos7上服務的管理方式換成了systemctl

在VMware虛擬機上安裝不上。

通過搜索可見涉及Intel HAXM的問題,在虛擬機上估計是運行不了

通過看到有個android x86項目,進行了如下嘗試

Android X86

Android x86 即運行於 x86 PC上的Android操作系統,目前已經支持大部分安卓程序。Android X86平台是由Beyounn和Cwhuang主持設計的。項目的主要目的在於為X86平台提供一套完整的Android 系統解決方案。

http://baike.baidu.com/link?url=Uw1vMI5RKZluaaGBajP8zBynMdblupV8BXJQCGI37RO10KaVVLgvQv2OmPqLnu3HGSDrDuJ1W7-w11xYtWYg3K

http://www.android-x86.org 官方被牆了,可以看中文的地址http://www.x86android.com/forum-2-1.html

http://www.x86android.com/thread-57744-1-1.html 4.4版本下載

Vmware中安裝Android4的安裝詳細步驟

http://wenku.baidu.com/link?url=0ch26cweCjqyNySsWENK0Pn8ukCwhc85pjmbgeZnB6jjbEXxGGnV97ALg1EYs_j1N8jhPrSZaQwM0wSGLZnuHbGUtMbEfLKSdt52LiNZY7G

注意:

Ø 第一次開機時,把虛擬機的網卡關閉,否則被牆的google站點訪問不到,進入到系統桌面

wpsE4DB.tmp

wpsE4EC.tmp

wpsE4ED.tmp

結論

Android可以在虛擬機上進行開發和編譯,但運行的話,需要安裝物理機下的windows版本的android環境或者linux版本

Android x86是一個選擇,不過有些復雜,待有空再探探


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM