GVKun编程网logo

无法在Android Studio上运行Robotium(android studio无法run)

11

对于想了解无法在AndroidStudio上运行Robotium的读者,本文将是一篇不可错过的文章,我们将详细介绍androidstudio无法run,并且为您提供关于AndroidAddThissd

对于想了解无法在Android Studio上运行Robotium的读者,本文将是一篇不可错过的文章,我们将详细介绍android studio无法run,并且为您提供关于Android AddThis sdk Facebook sdk无法在Android Studio中构建、Android Emulator未在Android Studio 3.0上运行、Android studio 下的robotium自动化测试和持续集成、Android Studio无法在res / drawable中检测到源文件 Android Studio的有价值信息。

本文目录一览:

无法在Android Studio上运行Robotium(android studio无法run)

无法在Android Studio上运行Robotium(android studio无法run)

在Robotium的描述中,它表示它只能用APK测试 Android项目.我能够在Eclipse中执行此操作,但我似乎无法在Android Studio中执行此操作.从Eclipse中获取相同的代码并在Android Studio中使用它时,我无法加载我试图测试的应用程序的启动器类.

有人对这个有了解吗?

解决方法

我建议你试试Android Studio的Robotium Recorder.它将为APK创建测试项目.您可以检查它是如何做到的,然后以与自己相同的方式进行.

Android AddThis sdk Facebook sdk无法在Android Studio中构建

Android AddThis sdk Facebook sdk无法在Android Studio中构建

我有一个正在Android Studio中处理的项目,当前使用Facebook SDK来检索有关Facebook用户的一些信息.效果很好.

我还需要实现AddThis,但是当我尝试同时引用两个SDK编译该项目时,出现错误消息:

Android Dex: [<removed>] com.android.dx.util.DexException: Multiple dex files define Lcom/facebook/android/AsyncFacebookRunner$1;

如预期的那样,在AddThis .jar中,存在com.facebook.android.AsyncFacebookRunner.显然,它也存在于Facebook SDK模块中.我在AddThis中需要的功能在Facebook中不存在,反之亦然.

有谁知道处理这种情况的方法?

解决方法:

我能够解决此问题:

由于Facebook SDK是模块而不是jar,因此我从Facebook SDK模块引用了AddThis0.8.8.jar,并从我的项目中直接删除了对它的引用.

这样做之后,Facebook SDK中的com.facebook.android.*与AddThis jar中的副本(com.facebook.android.*)之间仍然存在冲突.因此,我从Facebook SDK中删除了com.facebook.android程序包及其内容-然后将com.addthis包含在(类路径中,我认为?当我在代码中键入“ ATButton”时,Android Studio建议将其包含在内.说:“哎呀,谢谢JetBrains!”).

现在,我可以使用AddThis以及Facebook SDK,而不会发生任何冲突.

我希望这个过程可以以某种方式帮助某人.

[编辑]

仍然存在问题.我还原了Facebook SDK,并从AddThis jar中删除了Facebook内容.不是100%仍在工作,但将所有Facebook内容保留在Facebook模块中可能是一个更好的主意.如果您有更好的解决方案,请提供答案.

Android Emulator未在Android Studio 3.0上运行

Android Emulator未在Android Studio 3.0上运行

我正在尝试创建一个演示即时应用程序,该应用程序在Google IO 2017上进行了演示.我看到,这需要 Android Studio 3.0和最新的构建工具,并且只有少数设备在白名单中使用这个新引入的概念.

在这里,您可以看到我创建了一台名为Nexus 5X的avd机器,我捕获了已创建机器的详细信息,在这里您可以看到:

Name: Nexus_5X_API_25
cpu/ABI: Google Apis Intel Atom (x86)
Path: C:\Users\williams\.android\avd\Nexus_5X_API_25.avd
Target: google_apis [Google Apis] (API level 25)
Skin: nexus_5x
SD Card: C:\Users\williams\.android\avd\Nexus_5X_API_25.avd\sdcard.img
hw.dPad: no
runtime.network.speed: full
hw.accelerometer: yes
hw.device.name: Nexus 5X
vm.heapSize: 256
skin.dynamic: yes
hw.device.manufacturer: Google
hw.gps: yes
hw.initialOrientation: Portrait
image.androidVersion.api: 25
hw.audioInput: yes
image.sysdir.1: system-images\android-25\google_apis\x86\
tag.id: google_apis
showDeviceFrame: yes
hw.camera.back: emulated
hw.mainKeys: no
AvdId: Nexus_5X_API_25
hw.camera.front: emulated
hw.lcd.density: 420
avd.ini.displayname: Nexus 5X API 25
hw.gpu.mode: guest
hw.device.hash2: MD5:1be89bc42ec9644d4b77968b23474980
hw.ramSize: 1536
hw.trackball: no
PlayStore.enabled: false
hw.battery: yes
hw.cpu.ncore: 2
hw.sdCard: yes
tag.display: Google Apis
runtime.network.latency: none
hw.keyboard: yes
hw.sensors.proximity: yes
disk.dataPartition.size: 800M
hw.sensors.orientation: yes
avd.ini.encoding: UTF-8
hw.gpu.enabled: yes

这是SDK工具快照:

好吧,当我运行这个模拟器时,我正面临一些挑战.当我点击这个模拟器的运行按钮时,它什么也没做.

以下是错误日志:

Emulator: Could not launch 'C:\Users\williams\AppData\Local\Android\Sdk\emulator/qemu/windows-x86_64/qemu-system-i386.exe': No such file or directory

Emulator: [12360]:ERROR:./android/qt/qt_setup.cpp:28:Qt library not found at C:\Users\williams\AppData\Local\Android\Sdk\emulator\lib64\qt\lib

Emulator: Process finished with exit code 2

有人能说出这个配置有什么问题吗?顺便说一句,我已经检查了这些Emulator in Android Studio doesn’t start但没有运气.

解决方法

这个问题有多种原因,不过你可以尝试一下.检查您的计算机上是否安装了Android Emulator.

Android studio 下的robotium自动化测试和持续集成

Android studio 下的robotium自动化测试和持续集成

一、前言

Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。作为官方主推的开发环境和停止对其他开发IDE的支持,Android Studio将成为今后唯一的android开发环境。本文主要介绍在Android Studio环境下的Robotium测试框架使用方法和持续集成。

二、在Android Studio中使用Robotium

2.1 基础环境配置

      先来看一下Android Studio中的工程结构,如下图所示:

Android Studio建立的工程会自带一个测试包,如图所示,androidTest即为测试包,测试用例就放在这个包内。如果项目目录内无此测试包,也可直接在src目录下创建test/java目录。创建完成后,检查build.gradle文件查看是否加入了junit4依赖,如果没有就做加入如下配置:

dependencies {

    compile fileTree(dir: ''libs'', include: [''*.jar''])

    compile ''com.android.support:appcompat-v7:22.1.1''

    testCompile ''junit:junit:4.12''

}

2.2 引入robotium包

将robotiumd 的jar包复制到工程的libs目录下,右键点击jar包,在下拉菜单中点击如下图所示选项:

2.3 创建一个testcase并运行

在测试包内新建一个javaclass,代码内容和eclipse ADT开发模式下的robotium测试case保持一致。点选testcase类,右键后选择run,在设备列表中选择设备后即可运行case。运行过程日志可以在界面下方run页面中看到。

三、持续集成

      经过上面的配置,已经可以在Android Studio 下使用Robotium框架进行自动化测试。下面介绍持续集成。

     3.1  了解gradle

Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。也是Android Studio官方推荐的构建工具。

3.2  使用gradle进行自动构建

3.2.1     gradle命令行环境配置

下载gradle,解压到任意目录。

配置环境变量,在PATH中加入路径”$gradle安装目录/bin”,更新环境变量。

在命令行模式中运行gradle –v,如果出现版本信息,则说明配置成功。

3.2.2     常用命令

下面先介绍一下gradle的几个常用命令

gradle clean:删除build文件夹

gradle build:执行项目编译

gradle installDebug:安装debug版本包到设备

gradle intstallDebugAndroidTest:安装debug测试包到设备

gradle uninstallDebug:卸载debug版本包

gradle unintstallDebugAndroidTest:卸载debug测试包

gradle uninstallAll:卸载所有包

gradle test:执行测试

3.2.3     Build.gradle

build.gradle文件是一个构建脚本,类似于ant中的build.xml。当运行gradle命令的时候会从当前目录查找build.gradle文件来执行构建。从第一节项目目录结构图中可以看到,有两个build.gradle,和app同级的是一个顶级的build配置文件,在这里可以为所有module配置一些常用的配置。如依赖库、classpath。App目录下的为android的build.gradle文件。下面我们来看一个最简单android的build.gradle的例子。

Apply plugin: ‘com.android.application’表示是一个app module,应用了com.android.application插件。其次是基于哪个sdk版本编译和构建工具版本。defaultConfig是默认配置,如果没有其他的配置覆盖,就会使用这里的。看其属性的名字就可以知道其作用,比如applicationId是配置包名的,versionCode是版本号,versionName是版本名称等。

buildTypes是构建类型,常用的有release和debug两种,可以在这里面启用混淆,启用zipAlign以及配置签名信息等。

 

dependencies定义了该module需要依赖的jar,aar,jcenter库信息。

3.2.4     使用gradle命令运行自动化测试

按照以下脚本即可执行自动化测试:

gradle clean

gradle build

gradle uninstallAll

gradle installDebug

gradle insallDebugAndroidTest

adb shell am instrument -e coverage true -e class com.example.chenlei10.myapplication.test.TestSuit -w com.example.chenlei10.myapplication.test/android.test.InstrumentationTestRunner

其中-e 后跟要运行的testsuit或者test类。-w参数后跟测试包名。

将上述命令配置到jenkins中即可实现持续集成

3.2.5     易出现问题

1)Gradle首次编译时出现jar包无法下载的问题。

将build.gradle配置修改一下,把下载依赖包的地址改成maven库,如下:

将repositories中的jcenter()改为mavenCentral()

repositories {

mavenCentral()

}

2)Lint警告导致编译无法完成

在build.gradle内android{}内加入设置

LintOptions{

abortOnError false

}

更多干货分享请关注”百度MTC学院“http://mtc.baidu.com/academy/article

Android Studio无法在res / drawable中检测到源文件 Android Studio

Android Studio无法在res / drawable中检测到源文件 Android Studio

解决方案-第一个问题

资源名称必须以字母(而不是数字)开头。

解决方案-第二个问题

仅使用:

@drawable/039_cloud

代替

@drawable/039_cloud/039_cloud

如此:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/039_cloud" />

Android Studio

Android Studio正在将相同的图像分组,但针对不同的DPI。

选择Android视图时,您将拥有:

enter image description here

但是当您选择Project时,您会看到“真实的”项目结构:

enter image description here

,

复制图像资源并将其直接粘贴到drawable文件夹内。重命名图片,使其不包含数字(例如image_thirty_nine.png)。然后试试这个

 <ImageView
android:id="@+id/image_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image_thirty_nine" />

如果尝试上述步骤后直到遇到相同的错误,请尝试以编程方式添加图像资源

//ensure you assignn an id to your image
   ImageView imageView = findViewById(R.id.image_id);
    imageView.setImageResource(R.drawable.image_thirty_nine);  

然后运行您的代码以查看其是否有效

关于无法在Android Studio上运行Robotiumandroid studio无法run的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Android AddThis sdk Facebook sdk无法在Android Studio中构建、Android Emulator未在Android Studio 3.0上运行、Android studio 下的robotium自动化测试和持续集成、Android Studio无法在res / drawable中检测到源文件 Android Studio的相关信息,请在本站寻找。

本文标签: