• 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是一个选择,不过有些复杂,待有空再探探

  • 相关阅读:
    73. Set Matrix Zeroes
    289. Game of Live
    212. Word Search II
    79. Word Search
    142. Linked List Cycle II
    141. Linked List Cycle
    287. Find the Duplicate Number
    260. Single Number III
    137. Single Number II
    Oracle EBS中有关Form的触发器的执行顺序
  • 原文地址:https://www.cnblogs.com/2018/p/4337807.html
Copyright © 2020-2023  润新知