场景

现在的开发大多是在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站点访问不到,进入到系统桌面

结论

Android可以在虚拟机上进行开发和编译,但运行的话,需要安装物理机下的windows版本的android环境或者linux版本

Android x86是一个选择,不过有些复杂,待有空再探探

centos 7 64位虚机上android4环境运行的更多相关文章

  1. 腾讯云申请的64位ubuntu服务器配置php环境

    腾讯云申请的64位ubuntu服务器配置php环境 一.首先还是安装Lamp组合 Linux+Apache+Mysql+php 直接命令 sudo apt-get install apache2 su ...

  2. 64位Ubuntu配置android环境报错(...adb": error=2, 没有那个文件或目录)

    Failed to get the adb version: Cannot run program "/home/jayhomzhou/android/android-sdk/platfor ...

  3. [转]win7 64位下android开发环境的搭建

    本文转自:http://www.cfanz.cn/index.php?c=article&a=read&id=65289 最近换了新电脑,装了win7 64位系统,安装了各种开发环境, ...

  4. Ubuntu14(64位) 集群环境下安装Hadoop2.4

    经过前边的积累,今天最终实现了集群环境下部署Hadoop.并成功执行了官方的样例. 工作例如以下: 两台机器: NameNode:上网小本,3G内存.机器名:YP-X100e,IP:192.168.1 ...

  5. Windows 64 位系统下 Python 环境的搭建

    Windows 64 位开发环境 注意:本教程适用于 Windows 7 64 位操作系统 及 Windows 10 64 位操作系统,其他系统尚未经过校验. 安装 IDE PyCharm 下载:ht ...

  6. win7 64位下android开发环境的搭建

    本文转自:http://www.cfanz.cn/index.php?c=article&a=read&id=65289 最近换了新电脑,装了win7 64位系统,安装了各种开发环境, ...

  7. Win7+Qt5.6.0(64位)+msvc2015编译器 环境配置

    根据“Qt简介,Qt 5.6.0-VS2015 版本安装配置图文教程”安装第二套IDE,使用Qt官方的集成开发环境 QtCreator + 微软的WinDbg调试器(内含命令行调试器为CDB)的组合. ...

  8. win7旗舰版64位java的jdk环境变量的配置(2012-12-26-bd 写的日志迁移

    首先到oracle的官方网站http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html下个JDK比如下图: 必须是win ...

  9. Windows10 64位部署odoo12开发环境

    预装Windows10 64位家庭版电脑一台 2019年7月 安装Python,这里的版本选择上有个坑,不要装最新的Python 3.7.x,原因是odoo12依赖pillow 4.0.0库,而这个4 ...

随机推荐

  1. jQuery 2.0.3 源码分析 样式操作

    根据API分类 CSS addClass() jQuery.cssHooks .hasClass() .removeClass() .toggleClass() .addClass() 对元素的样式操 ...

  2. ios语音输入崩溃

    游戏中任何可以输入的地方,只要调用语音输入,必然会导致app崩溃,解决方法如下: ok, so essentially the gist of it is that siri wants gl con ...

  3. Spark中决策树源码分析

    1.Example 使用Spark MLlib中决策树分类器API,训练出一个决策树模型,使用Python开发. """ Decision Tree Classifica ...

  4. 前端学PHP之函数

    × 目录 [1]函数定义 [2]函数参数[3]返回值[4]变量函数[5]回调函数[6]递归函数[7]加载函数[8]匿名函数 前面的话 PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数 ...

  5. 深入理解CSS Media媒体查询

    × 目录 [1]媒介类型 [2]媒体属性 [3]语法[4]方法 前面的话 一说到响应式设计,肯定离不开媒体查询media.一般认为媒体查询是CSS3的新增内容,实际上CSS2已经存在了,CSS3新增了 ...

  6. jquery EasyUI的formatter格式化函数代码

    要格式化数据表格列,需要设置formatter属性,该属性是一个函数,它包含两个参数:  value: 对应字段的当前列的值  record: 当前行的记录数据  复制代码 代码如下: $('#tt' ...

  7. 【记录】SqlBulkCopy 跨数据库,表自定义导入

    使用场景: 一个数据库中的表数据,导入到另一个数据库中的表中,这两个表的表结构不一样,如果表结构一样的时候,导入非常简单,直接读取导入就行了,表结构不一样,就意味着需要加入一些判断,SqlBulkCo ...

  8. Hibernate之加载策略(延迟加载与即时加载)和抓取策略(fetch)

    假设现在有Book和Category两张表,表的关系为双向的一对多,表结构如下: 假设现在我想查询id为2的那本书的书名,使用session.get(...)方法: Session session=H ...

  9. WCF局域网内使用代理无法访问解决方法

    问题描述 在大部分事业单位上网都是需要使用代理的,前几天带着一个同事写的程序过来部署,部署以后各个客户端通过WCF相互通讯,那么其中一个地方在本地局域网测试是没有问题的. 后发现一部分是原因是由于代理 ...

  10. learn shell

    the basic shell skills.   Bourne shell sh ksh Bash psh zsh C shell csh tcsh   [root@bogon temp]# cat ...