场景

现在的开发大多是在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位计算机上安装MapGuide Studio 2010

    MapGuide Studio 是一个32位应用程序,但是能够在64位平台上安装和运行.不知道大家在安装的时候有没有遇到问题,我看到国外同事的一篇博客的介绍,也许会有人遇到不能安装的问题.因为他的博客 ...

  2. arm linux 64位,微软准备让Linux作为64位ARM Hyper-V客户机运行

    原标题:微软准备让Linux作为64位ARM Hyper-V客户机运行 虽然微软的Hyper-V虚拟化管理程序和他们的Azure云在很大程度上是以x86_64为中心的,但随着Linux 5.13内核的 ...

  3. 64位ubuntu12 编译android4.4.2

    2019独角兽企业重金招聘Python工程师标准>>> 64位ubuntu12  ,vmware  10, 编译android4.4.2  (做这件事情的原因是,需要在安卓手机中,自 ...

  4. php5.6 64位配置,centos(64位) 安装PHP5.6,配置LNMP

    下定决心自己整一个LNPM,第一次在Linux上搞开发环境,比win难多了.虚拟机centos6.5,网上搜了一些教程,撸起袖子开干,没想到坑一个接一个,从过年前到过年后,整得我灰头土脸,时不时的挂起 ...

  5. 支持64位的打印服务器,使用环境打印服务器是32位,添加共享的计算机是64位

    使用环境打印服务器是32位,添加共享的计算机是64位. 添加网络打印机 Win +R 输入\\10.199.4.x 进去直接打开或者连接,然后设置为默认打印机.或者从网络共享上查找也可以. (1) 不 ...

  6. 树莓派 + SSD启动 + CentOS 8 64位 + 内网穿透 + 自动温控风扇 + SMB服务 + 文件分类备份

    功能描述 上闲鱼拿下了个树莓派4B 8G,300块,我仿佛听见有人说"哇"?哦,其实它的外显输出有点问题,但我是不关心,真香. 到手之后自然是传统装机,点到为止,64位centos ...

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

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

  8. cocos2dx3.3在Win7(64位)上Android开发环境搭建(提要)

    一.使用的工具 Win7 64位 jdk1.8.0_25 (jdk-8u25-windows-x64.exe) adt-bundle-windows-x86_64-20140702 (adt-bund ...

  9. 在64位虚拟机上编译C程序为32位的可执行文件

    操作系统CentOS-7-x86_64 系统里应该默认是没有安装gcc的,但是有gcc的安装包,可以用yum list|grep gcc查看下. [root@localhost code]# yum ...

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

    最近换了新电脑,装了win7 64位系统,安装了各种开发环境,也安装了android开发环境,与xp下的安装基本一致,记录下简单步骤及可能遇到的问题,供后人参考. 1.jdk 下载地址:http:// ...

最新文章

  1. ASP.NET 制作让搜索引擎可以友好访问的链接
  2. 订单管理之获取订单表表列表数据
  3. 黄仁勋把自己做成了虚拟娃娃
  4. python掌握程度怎么判断-Python数据分析路上,温故而知新
  5. linux下Mplayer安装与设置指南(以及如何加载显示中文字幕)
  6. 共享内存+Shellcode实现跨进程调用3环函数
  7. 物联网通讯协议:MQTT,NB-IOT,Zigbee,CoAP,RFID,BLUETOOTH,NFC,4G,HTTP
  8. P3-weixin 微信插件式开发规范
  9. 浅谈第三方电子支付平台测试方法的研究
  10. Flask 蓝图(Blueprint)
  11. 离线bootstrap_css下载
  12. mysql的脏数据_数据库的脏数据问题
  13. MATLAB曲线平滑的办法
  14. linux基础ppt下载,《Linux基础》PPT课件.ppt
  15. php音乐地址外链,音乐外链地址的获取
  16. 刘乾四川大学计算机学院刘乾,刘乾亮
  17. 【javaScript】原生实现窗口拖动效果
  18. 新浪校招php笔试题,新浪笔试题 PHP
  19. 什么是DCS系统?DCS和SCADA的区别
  20. 影评分析第2篇 《博人传-火影忍者新时代》透过2W条评论看动漫

热门文章

  1. atitit.提升备份文件复制速度(4) ---数据挖掘 获取回收站文件列表
  2. paip.提高开发效率----自动数据库SQL备份
  3. VSCODE: 快速生成html框架
  4. 袁玉玮:简介人工智能在基金界的应用现状(四)
  5. (转)这是券商对金融科技最看重的一年!
  6. 中台,都被你们说糊涂了
  7. 2018 KubeCon + CloudNativeCon成功召开
  8. 英特尔技术领导委员会(GTC) 专题系列之主席致辞
  9. 哈曼基于英特尔计算平台(Apollo Lake和ACRN)展示新一代“智能驾驶舱”
  10. 【路径规划】基于matlab自动化拣货最优路径【含Matlab源码 1713期】