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://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的安装详细步骤
注意:
Ø 第一次开机时,把虚拟机的网卡关闭,否则被墙的google站点访问不到,进入到系统桌面



结论
Android可以在虚拟机上进行开发和编译,但运行的话,需要安装物理机下的windows版本的android环境或者linux版本
Android x86是一个选择,不过有些复杂,待有空再探探
centos 7 64位虚机上android4环境运行的更多相关文章
- 腾讯云申请的64位ubuntu服务器配置php环境
腾讯云申请的64位ubuntu服务器配置php环境 一.首先还是安装Lamp组合 Linux+Apache+Mysql+php 直接命令 sudo apt-get install apache2 su ...
- 64位Ubuntu配置android环境报错(...adb": error=2, 没有那个文件或目录)
Failed to get the adb version: Cannot run program "/home/jayhomzhou/android/android-sdk/platfor ...
- [转]win7 64位下android开发环境的搭建
本文转自:http://www.cfanz.cn/index.php?c=article&a=read&id=65289 最近换了新电脑,装了win7 64位系统,安装了各种开发环境, ...
- Ubuntu14(64位) 集群环境下安装Hadoop2.4
经过前边的积累,今天最终实现了集群环境下部署Hadoop.并成功执行了官方的样例. 工作例如以下: 两台机器: NameNode:上网小本,3G内存.机器名:YP-X100e,IP:192.168.1 ...
- Windows 64 位系统下 Python 环境的搭建
Windows 64 位开发环境 注意:本教程适用于 Windows 7 64 位操作系统 及 Windows 10 64 位操作系统,其他系统尚未经过校验. 安装 IDE PyCharm 下载:ht ...
- win7 64位下android开发环境的搭建
本文转自:http://www.cfanz.cn/index.php?c=article&a=read&id=65289 最近换了新电脑,装了win7 64位系统,安装了各种开发环境, ...
- Win7+Qt5.6.0(64位)+msvc2015编译器 环境配置
根据“Qt简介,Qt 5.6.0-VS2015 版本安装配置图文教程”安装第二套IDE,使用Qt官方的集成开发环境 QtCreator + 微软的WinDbg调试器(内含命令行调试器为CDB)的组合. ...
- win7旗舰版64位java的jdk环境变量的配置(2012-12-26-bd 写的日志迁移
首先到oracle的官方网站http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html下个JDK比如下图: 必须是win ...
- Windows10 64位部署odoo12开发环境
预装Windows10 64位家庭版电脑一台 2019年7月 安装Python,这里的版本选择上有个坑,不要装最新的Python 3.7.x,原因是odoo12依赖pillow 4.0.0库,而这个4 ...
随机推荐
- jQuery 2.0.3 源码分析 样式操作
根据API分类 CSS addClass() jQuery.cssHooks .hasClass() .removeClass() .toggleClass() .addClass() 对元素的样式操 ...
- ios语音输入崩溃
游戏中任何可以输入的地方,只要调用语音输入,必然会导致app崩溃,解决方法如下: ok, so essentially the gist of it is that siri wants gl con ...
- Spark中决策树源码分析
1.Example 使用Spark MLlib中决策树分类器API,训练出一个决策树模型,使用Python开发. """ Decision Tree Classifica ...
- 前端学PHP之函数
× 目录 [1]函数定义 [2]函数参数[3]返回值[4]变量函数[5]回调函数[6]递归函数[7]加载函数[8]匿名函数 前面的话 PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数 ...
- 深入理解CSS Media媒体查询
× 目录 [1]媒介类型 [2]媒体属性 [3]语法[4]方法 前面的话 一说到响应式设计,肯定离不开媒体查询media.一般认为媒体查询是CSS3的新增内容,实际上CSS2已经存在了,CSS3新增了 ...
- jquery EasyUI的formatter格式化函数代码
要格式化数据表格列,需要设置formatter属性,该属性是一个函数,它包含两个参数: value: 对应字段的当前列的值 record: 当前行的记录数据 复制代码 代码如下: $('#tt' ...
- 【记录】SqlBulkCopy 跨数据库,表自定义导入
使用场景: 一个数据库中的表数据,导入到另一个数据库中的表中,这两个表的表结构不一样,如果表结构一样的时候,导入非常简单,直接读取导入就行了,表结构不一样,就意味着需要加入一些判断,SqlBulkCo ...
- Hibernate之加载策略(延迟加载与即时加载)和抓取策略(fetch)
假设现在有Book和Category两张表,表的关系为双向的一对多,表结构如下: 假设现在我想查询id为2的那本书的书名,使用session.get(...)方法: Session session=H ...
- WCF局域网内使用代理无法访问解决方法
问题描述 在大部分事业单位上网都是需要使用代理的,前几天带着一个同事写的程序过来部署,部署以后各个客户端通过WCF相互通讯,那么其中一个地方在本地局域网测试是没有问题的. 后发现一部分是原因是由于代理 ...
- learn shell
the basic shell skills. Bourne shell sh ksh Bash psh zsh C shell csh tcsh [root@bogon temp]# cat ...