Ubuntu 系统下安装Android开发环境 Android Studio 1.0 步骤

 更新时间:2016年9月20日 19:58  点击:2828
Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试,可以在Linux,Mac OS X,Windows 系统上使用。

Android Studio 是一个谷歌Android开发环境,类似于Eclipse开发和调试,是一款工具开发软件。Android Studio 1.0 最近已经发布。更多信息,查看该页面。

 

Android Studio

 

使用PPA进行安装,非常方便,打开终端,输入以下命令:

sudo add-apt-repository ppa:paolorotolo/android-studio

sudo apt-get update

sudo apt-get install android-studio

移除PPA并删除软件:

sudo apt-get install ppa-purge

sudo ppa-purge ppa:paolorotolo/android-studio

Android x86 即运行于 x86 PC上的Android操作系统,目前已经支持大部分安卓程序。本文我们来分享一下ndroid X86 4.4 使用体验组图,有兴趣的朋友可以去官方下载安装。

Android X86 4.4 不久前发布,这是正式发布版本,官方网址:http://www.android-x86.org/,有兴趣的朋友可以去下载(官网好像被墙了,唉)

1

2

3

4

7

5

6

8

9

10

12

11

13

本文我们来介绍一款Ubuntu系统下的anroid 应用开发工具 Ubuntu Developer Tools。此工具是命令行的开源软件,最新版本为1.0,下面是安装步骤。

Ubuntu Developer Tools 是一款命令行式的开源工具软件,主要用于用户为 android 开发应用软件。目前最新的版本为 Ubuntu Developer Tools Center 0.1 最近已经发布。

本文将教大家如何在 Ubuntu 15.04、14.10、14.04 及衍生版本系统上安装。

Ubuntu 15.04 因为在软件中心已经有最新的 0.1 版本,直接输入以下命令就可以安装了:

sudo apt-get update

sudo apt-get install ubuntu-developer-tools-center

Ubuntu 14.10、14.04 用户使用以下命令,添加 PPA 进行安装:

sudo add-apt-repository ppa:didrocks/ubuntu-developer-tools-center

sudo apt-get update

sudo apt-get install ubuntu-developer-tools-center

Ubuntu Developer Tools Center 成功安装之后,使用以下命令来安装 Android Studio 和 Android SDK:

udtc android

安装 eclipse 软件:

udtc ide eclipse

Android ADT 需要通过 Eclipse 运行:

udtc android eclipse-adt

有时也会需要获取一下Android手机的内存、CPU信息,获取这些硬件信息主要是用到adb命令工具,以下是本人总结的方法。


偶尔还是要dump一些手机的内存、CPU信息,自己看或者给RD们提供信息,所以对于Android一些基本的adb命令还是要熟悉一下。

查看内存用命令:

1、top
2、ps
3、procrank
4、dumpsys meminfo

四个命令都是shell命令,所以如果直接运行需要adb shell。嵌入程序,如果使用ddmlib来驱动他们,可以使用IDevice.executeShellCommand(command)。

输入这些命令之后,会发现得到的结果是所有进程……一句一句来看是很麻烦的事。所以需要使用一些方法处理一下……

之前讲过android手机的shell是半残,好些有用的命令都不支持,不过这次要用到的grep除外。在以上四个命令后面添加上package Name即可,例如

Procrank com.tencent.mobileqq,即可过滤出来所有包含此字段的数据。

至于为什么有四个命令,是因为他们分工和使用场合不同。

前两个命令只能查到VSS RSS内存占用信息,而后面两个命令可以查出 PSS USS内存占用。
dumpsys meminfo 可以查出native和dalvik分别占用多少内存,dumpsys 用来给出手机中所有应用程序的信息,并且也会给出现在手机的状态。

    VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
    RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)
    PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
    USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
    一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS

附:

dumpsys [Option]
option可以为:
dumpsysmeminfo 显示内存信息
cpuinfo 显示CPU信息
account 显示accounts信息
activity 显示所有的activities的信息
window 显示键盘,窗口和它们的关系
wifi 显示wifi信息

Espresso是一个API精确,简洁小巧,容易学习的针对APP的UI测试代码的小工具,可以用来测试Android开发,本文我们来介绍一下Espresso及Espresso的安装使用。

Espresso是一个新工具,相对于其他工具,API更加精确。并且规模更小、更简洁并且容易学习。它最初是2013年GTAC大会上推出的,目标是让开发者写出更简洁的针对APP的UI测试代码。

虽然针对的是开发者(Developer),但是对于测试人员来说也是可以用的。因为它有一些Robotiun和Selendroid缺乏的关键特征。

关键特征

1、快速;

2、代码快速上手;

3、容易扩展;

4、无需考虑复杂的多线程测试;

5、有Google做靠山。

Espresso的主要组件

Espresso – 与视图(views)交互的入口,并暴露了一些视图(views)无关的API(例如回退按钮)。

ViewMatchers – 实现匹配器的一组对象。允许可以通过多次的onView方法,在层次图中找到目标视图(views)。

ViewActions – 对视图触发动作(例如点击)。

ViewAssertions – 用于插入测试关键点的一组断言,可用于判断某视图(view)的状态。

例子

onView(withId(R.id.my_view))      // withId(R.id.my_view) 是匹配器
  .perform(click())               // click()事件
  .check(matches(isDisplayed())); // matches(isDisplayed())是断言

对于同样UI的代码复杂性对比

UiAotomator:

UiObject setnum = UiUtil.findByResourceId("android:id/edtno1");
setnum.click();
setnum.setText("10");

Robotium:

EditText txtVal1 = (EditText) solo.getView(R.id.edtno1);
solo.clearEditText(txtVal1);
solo.enterText(txtVal1, "12");

Espresso:

onView(withId(R.id.edtno1)).perform(clearText()).perform(typeText("12"));

可以看出,与其他框架相比,Espresso代码集成度更高,功能分块更加集中:onView用于定位视图,perform用于产生事件,check用于检测checkpoint。

Espresso的使用

setup

1、首先下载Espresso的独立jar包,之后在建立好的Android Test Project里引用这个jar包。

2、在AndroidManifest.xml里包含users-library和instrumentation字段,用于指明测试库和被测目标:

Espresso

3、在项目名称上右键->Run->Run Configurations,把Instrumentation Runner设置为如下:

Espresso

接着点击apply,run就可以开始测试。

可能遇到的问题:

Test run failed: Instrumentation run failed due to ‘java.lang.ClassNotFoundException’”

遇到这个问题,需要在项目->properties,左侧选择Java Build Path,然后在最后一个选项卡Order and Export中勾选espresso的jar包。如下:

Espresso

可以看到,由于espresso是基于Instrumentation的(继承ActivityInstrumentationTestCase2),所以在项目的建立和代码编写上,都与Instrumentation是一脉相承的。

Writing Case

建立的测试项目内容如下,主要实现对默认的hello world字段查找、点击、判断的功能,可以粗略看到espresso的代码结构和执行过程:

public void testHelloWorldTextClicked()
{
  // Find
  ViewInteraction helloWorldText = onView(withText("Hello world!"));
 
  // Action
  helloWorldText.perform(click());
 
  // Check
  helloWorldText.check(ViewAssertions.matches((isDisplayed())));
}

Run Test

开始执行时,底部console区域会输出带有espresso标签的log,同时,安装完apk并开始测试后,会在LogCat中显示内容,方便查看运行状态和调试。

运行结果:

Espresso

同时,由于是基于Instrumentation的,所以也摆脱不了框架本身的限制:

1.无法控制app process以外的activity

2.无法在ui线程进行动画时控制操纵activity

总结

目前,Espresso还处于开发人员预览状态,在Google Code上提供。但思路是,等到它足够成熟和稳定以后,将其迁移到Android SDK中。Google使用Espresso测试了他们自己的超过30个应用程序,包括G+、Maps和Drive。

[!--infotagslink--]

相关文章

  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • Android模拟器上模拟来电和短信配置

    如果我们的项目需要做来电及短信的功能,那么我们就得在Android模拟器开发这些功能,本来就来告诉我们如何在Android模拟器上模拟来电及来短信的功能。 在Android模拟...2016-09-20
  • 夜神android模拟器设置代理的方法

    夜神android模拟器如何设置代理呢?对于这个问题其实操作起来是非常的简单,下面小编来为各位详细介绍夜神android模拟器设置代理的方法,希望例子能够帮助到各位。 app...2016-09-20
  • android自定义动态设置Button样式【很常用】

    为了增强android应用的用户体验,我们可以在一些Button按钮上自定义动态的设置一些样式,比如交互时改变字体、颜色、背景图等。 今天来看一个通过重写Button来动态实...2016-09-20
  • Android WebView加载html5页面实例教程

    如果我们要在Android应用APP中加载html5页面,我们可以使用WebView,本文我们分享两个WebView加载html5页面实例应用。 实例一:WebView加载html5实现炫酷引导页面大多...2016-09-20
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • 深入理解Android中View和ViewGroup

    深入理解Android中View和ViewGroup从组成架构上看,似乎ViewGroup在View之上,View需要继承ViewGroup,但实际上不是这样的。View是基类,ViewGroup是它的子类。本教程我们深...2016-09-20
  • Android自定义WebView网络视频播放控件例子

    下面我们来看一篇关于Android自定义WebView网络视频播放控件开发例子,这个文章写得非常的不错下面给各位共享一下吧。 因为业务需要,以下代码均以Youtube网站在线视...2016-10-02
  • vscode安装git及项目开发过程

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • Android用MemoryFile文件类读写进行性能优化

    java开发的Android应用,性能一直是一个大问题,,或许是Java语言本身比较消耗内存。本文我们来谈谈Android 性能优化之MemoryFile文件读写。 Android匿名共享内存对外A...2016-09-20
  • Android设置TextView竖着显示实例

    TextView默认是横着显示了,今天我们一起来看看Android设置TextView竖着显示如何来实现吧,今天我们就一起来看看操作细节,具体的如下所示。 在开发Android程序的时候,...2016-10-02
  • mac下Apache + MySql + PHP搭建网站开发环境

    首先为什不自己分别搭建Apache,PHP和MySql的环境呢?这样自己可以了解更多知识,说起来也更酷。可也许因为我懒吧,我是那种“既然有现成的,用就是了”的人。君子生非异也,善假于物也。两千年前的荀子就教导我们,要善于利用工具...2014-06-07
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • Node调试工具JSHint的安装及配置教程

    现在我们介绍一种在Node下检查简单错误的JS代码验证工具JSHint。  JSHint的具体介绍参考http://www.jshint.com/about/,说直白点儿,JSHint就是一个检查JS代码规范与否的工具,它可以用来检查任何(包括server端和client端...2014-05-31
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15