android另类工具,[置顶] android应用程序开发另解及Android SDK工具集的另类用法

转载请注明出处:

LouisWang http://blog.csdn.net/louiswangbing/article/details/6606865

相信对于广大Android应用开发爱好者来说,Android SDK工具集的大家都已经能够很熟练的使用,但是我这里要介绍的是SDK工具集的非常用使用方法,即“另类用法”。

首先要说的是,大部分的Android应用程序开发者是基于Android模拟器来开发应用程序的,这种开发方式虽然很方便,直接用Eclipse就可以集成开发环境,基本上不需要手动去设置或者操作什么,但是同时也有几点很大的弊端:

1、Android模拟器的内存有限,如果开发相对比较耗资源的应用程序,就比较头疼了--模拟器运行的十分缓慢;而且随着模拟器分辨率设置的变化,分辨率越大模拟器就越卡也给应用开发带来了不小的困扰。这时候有些通报可能就会选择购买开发板或者用买个Android手机来进行应用的开发。但是其实,我们是有更好的方式来做Android的应用开发,这里先卖个关子。

2、通常来说,大家进行Android应用程序的开发都是在本机上实现的,也就是说代码编辑和模拟器运行是在同一台机器上实现的,但是有没有想过将这两者分别在两个机器上进行,或者说用虚拟机来实现Android系统的模拟呢?

说到这里,大家是不是觉得很有意思呢?

其实,Android不止是提供了arm版的!!!这里要隆重介绍一下Android—x86版,有不了解的朋友可以百度一下。

其实说起来很简单,使用android-x86进行应用程序的开发需要经历一下几个步骤:

1、找一台linux主机或者装一个虚拟机

2、下载android-x86源代码并进行编译(这部分本人就不再这里详细介绍了,百度一下大把大把的)

3、将编译生成的android镜像(一般名为generic-x86.iso)用虚拟机运行

经过一下几步,大家就可以看到一个类似操作系统的android系统了,它的好处是,你可以随意设置这个系统的内存大小,flash大小,CPU频率等各种硬件属性,使得你的应用程序开发不需要再考虑各种硬件资源对模拟器的影响,你不用再喝着咖啡吃着面包看着模拟器缓慢的运行心里干着急了!!!甚至,你完全可以找一台主机,把android系统装到台式机或者笔记本上!!

写到这里,关键的问题就来了,可能有些朋友就要问了,这样的话,要怎么样把应用程序开发与android-x86这个系统联系起来呢?

这就涉及到本文的第二部分了,即android sdk工具集的另类用法。

首先说一种比较傻瓜式的方式:你可以将编译成的android apk应用程序通过U盘挂载到andriod-x86系统上,然后通过U盘对应用进行安装。不过显然,如果只能用这种方式的话,我也不会写这篇文章里。

其实android sdk工具集本身已经做得够强大了,只要大家细心看看sdk各工具的使用说明就能发现,这里鄙人做下简单的说明:

adb工具的使用其实并不只局限于对模拟器的使用,它还有更强大的用法。

adb connect使用说明:

按照刚才说的,你已经将android-x86通过虚拟机运行起来了,或者你资源比较丰富,一不做二不休已经将这个系统装到另外一个系统上来,那么接下来,就说一下实现的详细步骤。

首先,在虚拟机或者装有android系统的主机上用ALT+F1,你会惊奇的发现,原来这个系统还有提供命令行界面!其实想想这也没什么好奇怪的,因为android使用的是linux内核,而linux内核的ALT+F1就是切入命令行界面的快捷键,同样的,要重新回到图形界面,ALT+F7就行了,这和linux系统也是一致的。

进入命令行界面之后,敲入netcfg命令,我们可以看到这个系统的ip,比如说这里我们看到的是192.168.1.160。

接下来,就是adb工具的另类用法了:adb connect 192.168.1.160:5555(冒号前面的参数是你android-x86系统的ip,后面那个参数是端口号,不可变)。

当显示连接成功的时候,所有的猪呢比工作都已经准备完成了。

接下来,就是见证奇迹的时刻:

在windows主机下使用adb install命令将你主机上有的apk应用程序安装一下,你就会惊喜的发现,这个应用程序居然被安装到了android-x86系统上,并且运行的飞快,比那什么什么模拟器快了不知道多少倍!!!

更有甚者,你会发现,怎么你通过Eclipse运行应用程序之后,模拟器并没有打开,而这个应用程序已经神奇的运行到了android-x86系统上来!!!

这是怎么回事呢?

其实原理很简单,之所以起初你使用adb install和用Eclipse运行程序的时候程序会装到模拟器上,是因为adb这时候模拟连接的就是模拟器,而当你使用adb connect连接上了android-x86系统上的时候,这个“默认的模拟器”就变成了你的虚拟机或者另外一个anddroid主机了,这样一来,所以对“模拟器”的操作都将会在android-x86系统上执行。

是不是很神奇呢?

如果有兴趣的话,不妨一试哦!虽然可能起初会花费你一些时间,但是带来的快乐和之后开发的高效,一定会给你意想不到的收获的!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌2007年上交大考试最后一题解答

N个整数,求其中任意N-1个数的乘积中的最大的一个。 例如 3,2,1,则最大的是3*26 提示:整数包括0和负数 要求给出个比较有效率的算法 ,不能用除法,只能用乘法。 从网上找一了一个解答比较好:http://bbs.csdn.net/topic…

Dynamic Web Module 3.0 requires Java 1.6 or newer报错

在项目的pom.xml的<build></build>标签中加入&#xff1a; <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> &…

STL学习笔记5--map and multimap

Maps是一种关联式容器&#xff0c;包含“关键字/值”对。 Multimaps和maps很相似&#xff0c;但是MultiMaps允许重复的元素。 简单介绍&#xff1a; 1、声明&#xff0c;首先包含头文件 “map” map <int,string> test1,test2;//map <int,string>::iterator it1,it…

android让文件按顺序列表,Java/Android 获取文件夹的文件列表(file.listFiles())并按名称排序,中文优先...

排序规则由于是中国人&#xff0c;习惯性看中文文件夹放前面比较顺眼&#xff0c;因此在别人博客(https://blog.csdn.net/da_caoyuan/article/details/56664673)的基础上&#xff0c;加上了本身的排序规则。算法默认排序规则是按照ASCII码表排序(http://ascii.911cha.com/),排序…

用C语言写解释器(一)——我们的目标

声明为提高教学质量&#xff0c;我所在的学院正在筹划编写C语言教材。《用C语言写解释器》系列文章经整理后将收入书中“综合实验”一章。因此该系列的文章主要阅读对象定为刚学完C语言的学生&#xff08;不要求有数据结构等其它知识&#xff09;&#xff0c;所以行文比較罗嗦&…

【详解Java中格式化处理】

在Java中我们需要对一个数字进行四舍五入处理或者是对一个字符串进行格式化处理&#xff0c;我们需要使用String.Format方法或者其他格式化方法 一、Format方法 比如&#xff1a;DecimalFormat df new DecimalFormat&#xff08;"#.00"&#xff09;&#xff1b;S…

HDU4506 小明系列故事——师兄帮帮忙

问题链接&#xff1a;HDU4506 小明系列故事——师兄帮帮忙。 问题描述&#xff1a;参见上述链接。 问题分析&#xff1a;&#xff08;略&#xff09;。 程序说明&#xff1a;函数powermod()是快速模幂函数。 AC的C语言程序如下&#xff1a; /* HDU4506 小明系列故事——师兄帮帮…

1_MVC+EF+Autofac(dbfirst)轻型项目框架_core层(以登陆为例)

前言 在上一篇0_MVCEFAutofac(dbfirst)轻型项目框架_基本框架中&#xff0c;我已经介绍了这个轻型框架的层次结构&#xff0c;在下面的这篇文章中&#xff0c;我将以教师登陆功能为例&#xff0c;具体来扩充下我的core层的代码。 在这之前&#xff0c;我想先补充讨论下是否有必…

文字转语音+html5,JS实现文字转语音并播放

html&#xff1a;div>audio>div>js&#xff1a;function doTTS() {var ttsDiv document.getElementById(bdtts_div_id);var ttsAudio document.getElementById(tts_autio_id);var ttsText document.getElementById(ttsText).value;// 文字转语音ttsDiv.removeChild…

字符串的全排列和组合算法

全排列在笔试面试中很热门&#xff0c;因为它难度适中&#xff0c;既可以考察递归实现&#xff0c;又能进一步考察非递归的实现&#xff0c;便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了&#xff0c;因此本文对全排列作下总结帮助…

设计模式基于C#的工程化实现及扩展

设计模式基于C#的工程化实现及扩展 转载于:https://www.cnblogs.com/gzmg/p/3344833.html

Python实现atm机的功能

主要还是参考网上内容&#xff0c;自己做了修改。虽然代码有小bug&#xff0c;但是不影响学习和测试。功能&#xff1a;1.额度&#xff1a;80002.可以提现&#xff0c;手续费5%3.每月最后一天出账单&#xff0c;写入文件4.记录每月日常消费流水5.提供还款接口1.atm的脚本[rootp…

Direct ByteBuffer学习

ByteBuffer有两种一种是heap ByteBuffer,该类对象分配在JVM的堆内存里面&#xff0c;直接由Java虚拟机负责垃圾回收&#xff0c;一种是direct ByteBuffer是通过jni在虚拟机外内存中分配的。通过jmap无法查看该快内存的使用情况。只能通过top来看它的内存使用情况。 JVM堆内存大…

魔兽争霸Ⅲ运行时不能初始化directX的错误解决

运行魔兽争霸3不能初始化DirectX错误这样解决&#xff1a; 1&#xff1a;在运行中输入(winr)&#xff1a;dxdiag&#xff0c;查看显示栏&#xff0c;确定电脑已安装好directx 8.1以上&#xff0c;且下面的三个加速都已开启。 2&#xff1a;如果没有安装directx就下载安装一个&a…

Android7.0占用空间,Android7.0 开发者注意事项

1、当设备处于充电状态且屏幕已关闭一定时间后&#xff0c;设备会进入低电耗模式并应用第一部分限制&#xff1a;关闭应用网络访问、推迟作业和同步。如果进入低电耗模式后设备处于静止状态达到一定时间&#xff0c;系统则会对 PowerManager.WakeLock、AlarmManager 闹铃、GPS …

Android探索之旅 | 面向对象和Java基础

-- 作者 谢恩铭 转载请注明出处 上一篇 Android探索之旅 | Android简介 中说到&#xff1a; "Android的默认开发语言是Java&#xff0c;入门简单。而且&#xff0c;你的Java水平不需要多好就可以上手开发Android App了。" 不少朋友说看到后很是心安。 不过小编也不想…

DataGirdView 编辑项时的验证

dgvConfig.DataSource CreateTable();dgvConfig.Columns["编号"].ReadOnly true; //只读dgvConfig.AllowUserToAddRows false; //不允许添加新行dgvConfig.EditingControlShowing new DataGridViewEditingControlShowingEventHandler(dgvConfig_EditingControlS…

使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)

前言 本章将实现非常实用的功能——下载在线视频。涉及到多线程、线程更新UI等技术&#xff0c;还需思考产品的设计&#xff0c;如何将新加的功能更好的融入到现有的产品中&#xff0c;并不是简单的加一个界面就行了&#xff0c;欢迎大家交流产品设计和技术细节实现&#xff01…

生成0到1之间随机数的C代码

#include <stdlib.h>#include <stdio.h>#include <time.h>int main(){srand((unsigned)time(NULL));int i;double r;for(i0;i<50;i){r(float)rand()/RAND_MAX; printf("%f\n",r);}return 0;}

HTML声明文档类型后样式出错,doctype如何声明

如何doctype声明&#xff0c;新增的结构元素和功能元素HTML5已形成了最终的标准&#xff0c;概括来讲&#xff0c;它主要是关于图像&#xff0c;位置&#xff0c;存储&#xff0c;多任务等功能的增加。 新增的元素有绘画 canvas &#xff0c;用于媒介回放的 video 和 audio 元素…