如何安装apk应用到虚拟机安装应用程序

内容字号:
段落设置:
字体设置:
精准搜索请尝试:
Win10运行安卓应用?装个Chrome浏览器就够了
来源:作者:郝影责编:刀马
想在、、等桌面系统上运行安卓应用,有人说需要装安卓虚拟机,其实以后不必那么麻烦了,装个Chrome浏览器就好。Google让Chrome OS运行Android app的想法早已有之,并在去年的9月份付诸行动,推出了&App Runtime for Chrome,简称ARC,是一个运行在Chrome OS上的Android虚拟机,它本身是一个Chrome Web商店的应用程序,名为&ARC Welder。在此前,这个功能只开放给了部分与Google合作密切的开发者,不过,大神们很快挖掘出了ARC的巨大潜力:可以运行在所有桌面版的Chrome上,包括Chrome OS,Windows,Mac OS X以及Linux。这也就意味着,Google在规划着将Android app运行在所有的计算平台之上。经过数月的前期准备之后,Google终于决定迈出这一步了。Google日前已经决定将&ARC&开放给所有开发者使用,并且ARC在Chrome OS和Chrome浏览器中均可以运行。对于PC用户来说,Chrome浏览器版本在40.0以上的用户都可以使用,原则上任何人都可以提交一个APK文件到&ARC Welder&上,然后生成一个Chrome app,但是我在将微信和爱范儿客户端安装包上传时,尝试多次都失败了,ARC Welder直接闪退。从&Ars Technica&的文章中我们也了解到,ARC功能的实现,以及Chrome app和插件的流畅运行要归功于Chrome的&NaCL沙箱技术――Native Client,可以让app和插件以近似于本地应用的方式去调用系统的CPU和GPU资源,同时也把Chrome变成了一个开发平台。Google为NaCL灌入了完整的Android堆栈,这让Chrome浏览器运行Android app成为可能。Chrome浏览器运行Android app,最大的挑战在于兼容Android应用所依赖的Google Play服务API。从官方公布的信息中来看,ARC并未实现对全部API接口的兼容,不过主要的几项已经得到了支持:Auth (OAuth2)GCMGoogle+ sign-inMapsLocationAds此外,为了防止像我这样玩心很重的用户,Google在开发者控制面板中设置了ARC Google Play服务选项,让开发者去决定是否开启。简单了解ARC之后不难发现,它可以实现Android app的跨平台运行,这一点甚至要比Windows 10所支持的Universal Windows App走得更远。借着Chrome浏览器,ARC已经将触角伸到了几乎所有的平台之上,与此同时,它也利用了庞大的Android生态激活Chrome Web Store,为Chrome用户带来更多的扩展程序,用户在多平台间的体验也会更加顺畅和无缝化。不过,ARC目前处在开放测试阶段,还有不少需要改进的地方,比如ARC是基于之前版本使用的Dalvik虚拟机,而不是Android 5.0所启用的ART,Google Play服务的API接口支持还不够丰富,不支持应用内购等重要功能。微信搜索“IT之家”关注抢6s大礼!下载IT之家客户端()也可参与评论抽楼层大奖!
软媒旗下软件:||||||||
IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。
Copyright (C) , All Rights Reserved.
版权所有 鲁ICP备号 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
教你如何在Android虚拟机上安装软件
下载积分:200
内容提示:android
文档格式:PDF|
浏览次数:296|
上传日期: 22:50:24|
文档星级:
该用户还上传了这些文档
教你如何在Android虚拟机上安装软件
官方公共微信2349人阅读
1、下载安装android SDK,可通过浏览器或者相关手机软件下载软件下载需要安装的apk安装文件,把apk文件放到android-sdk-windows\platform-tools下
2、可通过adb相关的命令来启动或者在Eclipse下启动虚拟机,或者通过USB与真机连接&
3、使用cmd进入android-sdk-windows\platform-tools目录
4、输入 adb install xxx.apk 如果有开启多个虚拟机或者连接了真机,可使用adb devices显示当前android的机器和abd -s emulator 555XX install xxx.apk进行安装
5、在CMD提示SUCEESS后,可在android虚拟机可找到安装成功的应用
我在安装的时候就遇过以中文名称的apk,安装时报错了Segmentation fault, pm install /data,把apk的文件名改为英文名称,就成正常安装了
把apk安装文件放到进入android-sdk-windows\platform-tools目录,能防止在CMD上安装显示成功,但在虚拟器上未能看到已经安装
下面为网上收集的相关资料:
apk安装常见出错解决方法:
1. 无法识别设备
adb kill-server
然后再adb start-server
2. Segmentation fault, pm install /data…
直接使用adb向模拟器中安装app时报这个错误。
原因很简单,使用豌豆荚下载下来的app很多是用中文命名的,改成英文名重新adb install. 至于为什么,我想设计adb的工程师们根本没有考虑中文支持吧。
3.Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
这个问题出现的背景要说明一下:下载了某app,往里面加了点东西,然后重新打包使用adb install安装。
这是由于Android应用程序的自签名机制导致的。
Android 系统不会安装运行任何一款未经数字签名的apk程序,无论是在模拟器上还是在实际的物理设备上。Android的开发工具(ADT插件和Ant)都可以协 助开发者给apk程序签名,它们都有两种模式:调试模式(debug mode)和发布模式(release mode)。
如果要正式发布 一个Android App,必须使用一个合适的私钥生成的数字证书来给程序签名 ,而不能使用adt插件 或者ant工具 生成的调试证书来发布。
签名的作用
1. 发送者的身份认证。由于开发商可能通过使用相同的 Package Name 来混淆替换已经安装的程序,以此保证签名不同的包不被替换
2. 保证信息传输的完整性。签名对于包中的每个文件进行处理,以此确保包中内容不被替换。
要解决这个错误,需要点专用工具,看雪上比较多,我就不再此贴出来了。
4.Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
在“卸载”app时,没有通过应用程序管理器卸载,而是直接通过adb删除了/data/app中的相应包。这中方式“卸载”是不彻底的,因为程序安装后还会在其他地方,比如/data/data中建立相关的目录和文件。
在设置-应用程序-管理应用程序里,找到要卸载的app,进行卸载。卸载后再次安装,就不会再出现这个错误了。
5. Failure [INSTALL_FAILED_DEXOPT]
在android4.0源码里面编译出来apk后,用adb install 安装时,报错[INSTALL_FAILED_DEXOPT]。
z:\ics-android\ics-src\out\target\product\generic\system\app&adb install NativeTimer.apk
28 KB/s (10166 bytes in 0.344s)
&&&&&&& pkg: /data/local/tmp/NativeTimer.apk
Failure [INSTALL_FAILED_DEXOPT]
原来在system\app下面的apk是经过优化的,而dex文件不会打包到apk中,dex文件会被优化后,生成odex文件。
z:\ics-android\ics-src\out\target\product\generic\system\app\NativeTimer.apk
z:\ics-android\ics-src\out\target\product\generic\system\app\NativeTimer.odex
这样安装apk时,就会缺少dex文件,导致报错[INSTALL_FAILED_DEXOPT]。
解决办法:
找到未优化过的apk,即
z:\ics-android\ics-src\out\target\product\generic\obj\APPS\NativeTimer_intermediates&adb install package.apk.unaligned
70 KB/s (138806 bytes in 1.912s)
&&&&&&& pkg: /data/local/tmp/package.apk.unaligned
SuccessFailure
6.adb push out of memory
最近做个东西,要修/system/etc/下的hosts文件,目的是通过域名访问内网的服务器,进行手机与内网的测试,这里要说的是如果是连接外网,并不需要如此做法,正因为我们要做测试,不可能用外网,是测成功了再连外网
做法是先在电脑上写好hosts文件内容,如下:
127.0.0.1&&&&& localhost
192.168.0.100&&&&&&
保存好文件后,通过如下命令进行上传(要有Root权限,即你曾刷过ROM):
adb&remount
adb push d:\hosts&& /system/etc
之后进入shell模式下&查看是否上传成功
如果出现的IP地址是&192.168.0.100表示上传hosts文件成功了。
说到这里,大家可能很想骂我,与题目不符,现在就是出现问题的时候了,
这个文件是上传了,当我每次修改代码再装到手机上运行时,就连不上&了,搞了半天,原来上传的hosts文件其实并没有持久化到手机系统上的,只是内容载到内存中,装新应用或者重启机子后,就没了。好!那我再次上传hosts文件,就报出:
out of memory 这样的错了,必须要重启手机,才能再次push,这真是太麻烦了,改一次代码就要重启,这算什么嘛
在网上找了几天了,解决办法都是针对模拟器的,真机上出的还是没找到,今天看了论坛上有人要删除系统下的文件,我就看看了,有收获,
解决办法是:
&&&在recovery状态下连接手机,并进入advance& -mount/system,在PC端CMD中输入以下命令:
adb&remount
adb push d:\hosts&& /system/etc
之后重新启动,
启动之后进入shell
cd& /system/etc
OK,成功打出了修改过的内容,而不会再丢失了,是真得改到手机的Linux系统上了。
看了论坛的内容也贴出来&,是讲删除系统文件
&在recovery状态下连接手机,并进入advance& -mount/system,在PC端CMD中输入以下命令:
&&&adb shell
& & cd /system/app
& & 查找到你要删除的文件(如Talk.apk)将其删除之:
& &rm&&Talk.apk(如果还有同名的只是后缀不同,也可以用Talk.*)
& &重启手机就OK了
7. 系统文件删除无权限
mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
chmod 777/system/app
今天下午,我在打开whatsapp的时候,破玩意儿又提示我有新版本要不要更新,于是我选择了Yes。经过缓慢的安装之后,忽然提示我installed
unsuccessful。我一下脑袋就大了,我是安装的没有修改的官方包,更新又是自动下载的,为什么还会出现这种情况?
于是我怀疑可能是官方更改了证书,所以需要卸载之后重新安装。于是我打开Drawer准备重新启动whatsapp。没想到虽然whatsapp的图标出现在drawer里面,但是启动的时候却提示我没有安装这个app!
我靠,这还了得,于是我将whatsapp卸载了,然后试图重新安装新版。还是提示我不能安装!
于是我使用adb再次尝试安装,提示我[INSTALL_FAILED_DEXOPT],Google之后发现dexopt根本就不是一个单词,应该是dex和optimize的合成缩写。那么有可能是apk文件包里面的dex文件损坏,于是我把它反编译了出来,尝试重新编译。但是不知道这个东西是用什么编译的,smali根本就不能重新编译回去……只能作罢。
所以假设问题还是出现在手机端。Google了一下,发现这个问题应该是出现在生成dex文件时候发生的错误,但是能搜索到的结果有许多是说由于G1机身空间太小导致的,显然同样的问题不可能出现在刚刚做完app2sd的milestone上面。但是我搜索到了一个如果强制完全卸载app的文章,里面介绍了安装app之后,相关文件分布的路径。
所以我的思路就很清晰了,首先完全卸载,再行安装。
经过试验,发现果然可行!那么提炼一下,可以得出这类问题的通用解决思路。
假设该app名为ketech,安装包名为ketech.apk。
查看/data/app里面是否有名称包含ketech的apk或zip包,有可能为类似com.android.ketech.apk或com.android.ketech.zip的形式,有则删掉。查看/data/app-priviate里面是否有名称包含ketech的apk,名称形式同上,有则删掉。(做了app2sd的朋友可能还需要查看一下app2sd文件夹里面是否含有此apk包)查看/data/data下面是否有名称包含ketech的文件夹,名称形式类似于com.android.ketech,有则删掉。查看/data/system下面的package.xml文件,将包含ketech的项目删掉。Wipe Dalvik缓存。(方式多样,有些openrecovery自带,就不进行详细解释了)重新安装即可。
单改单个模块下的Android.mk
LOCAL_DEX_PREOPT := false
在out目录下找到相应apk
直接push到/system/app
当然之前要删除要替换的的*.apk *.odex
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:85040次
积分:1043
积分:1043
排名:千里之外
原创:17篇
转载:19篇
评论:10条
(1)(1)(2)(1)(1)(1)(1)(1)(3)(1)(1)(1)(2)(1)(2)(1)(2)(1)(2)(2)(1)(6)(1)天天模拟器怎么安装apk,天天模拟器使用教程
14:48 & 作者:小思 & 来源:本站整理 & 浏览:28493 & 评论: &
天天模拟器可以让你在电脑上直接运行apk文件,这样就可以实现一些安卓游戏在电脑上运行了:
安卓模拟器下载
1、首先大家去网上下载自己想要安装的安卓apk,这个就不多说了,大家应该都会;
2、然后运行天天模拟器,如下图,先点击左上角的【启动】;
3、然后会进入下图所示的界面,接下来就是天天模拟器怎么安装apk的详细方法了;
4、找到你下载好的安卓apk,如下图所示,比如这里想要安装全民烽火这款游戏,就用鼠标将这个程序直接拖动到第三步所示的画面中;
5、然后就会提示你【正在传输文件】,文件传输完毕后天天模拟器会自动安装并打开apk的,大家耐心等待即可;
  6、这样我们就成功在天天模拟器中安装了apk程序哦。
顶一下(464)
踩一下(83)
&&网友评论
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

我要回帖

更多关于 应用宝apk安装器 的文章

 

随机推荐