如何让Android Studio运行Eclipse结构的工程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让Android Studio运行Eclipse结构的工程相关的知识,希望对你有一定的参考价值。

步骤如下:
点击open一个ExistingProject(非import)
File—>Project Structure
选择sdk,这里选择个androidSdk,编译输出里选[工程目录]/bin
2.配置Modules.
选中Modules.先把右边的Content Root删掉再重新导入一次,不然看不到目录列表 点击AddContentRoot,选择工程目录,发现右边的多了个SourceFolers ,接着右键工程Add一个Android结构 ,发现Structure里的地址和Eclipse的结构不对应,改成对应的即可(GeneratedSources和ProGuard选项同理,其实也就去掉个/.idea/目录即可)
参考技术A

步骤如下:

    点击open一个ExistingProject(非import)

    File—>Project Structure 

选择sdk,这里选择个AndroidSdk,编译输出里选[工程目录]/bin 

2.配置Modules.

选中Modules.先把右边的Content Root删掉再重新导入一次,不然看不到目录列表 
点击AddContentRoot,选择工程目录,发现右边的多了个SourceFolers ,接着右键工程Add一个Android结构 ,发现Structure里的地址和Eclipse的结构不对应,改成对应的即可(GeneratedSources和ProGuard选项同理,其实也就去掉个/.idea/目录即可) 

3.选择library

点+进行添加library.把工程libs选中即可 

4.Facets选项配置

Facets选项配置里跟之前Modules一样(包括Generated Sources, ProGuard) 

5.最后配置debug环境

点击Edit Configurations 

添加一个Android Application 

选中刚刚创建的工程,确定!运行! 

如何让 Android Studio 将文件识别为源(测试)

【中文标题】如何让 Android Studio 将文件识别为源(测试)【英文标题】:How to get Android Studio to recognize file as source (test) 【发布时间】:2014-03-22 13:19:48 【问题描述】:

我正在尝试为一个 android 项目创建 Robolectric 测试(哎呀,我什至很乐意让它们进行单元测试)

我的文件夹目录为:

MyApp
    - app
        - src
            - main
                - java
                    - com.myapp
                        HelloWorld
            - test
                - java
                    - com
                        - myapp
                            HelloWorldTest.java

问题是HelloWorldTest.java 无法运行,因为它未被识别为源。我如何设置它以便我可以运行这个类作为测试?????

如果我尝试执行 CMD + SHIFT + T(创建测试的快捷方式),它会提示在与我的源文件相同的目录下创建测试,我不希望这样做

【问题讨论】:

【参考方案1】:

在 Android Studio 1.0 中,方案发生了一些变化。

你的路径应该是 (app)/src/androidTest/java/com/myapp/HelloWorldTest.java

这是我在一个新的 Android Studio 项目中设置单元测试的方法:

在 Android Studio 中打开应用。 将项目浏览器(左侧窗口)设置为显示“项目”模式。点击左上角的小下拉菜单并选择“项目”。 右键单击“src”目录,“新建 -> 目录”。 调用新目录androidTest 右键单击 androidTest 并添加一个“java”目录。它将显示为绿色(表示它是一个测试 src 目录)。 现在再次右键单击并添加一个包,例如com.mycompany.myapp.tests 添加一个扩展 AndroidTestCase 的新类。

现在添加一个新的配置进行测试:

编辑配置 点击左上角的+ 选择 Android 测试 在“常规”选项卡中选择您的主模块。 点击确定

现在您可以运行测试了。

【讨论】:

【参考方案2】:

在 Android Studio 1.3 中:

构建 > 选择构建变体

在 Build Variants 窗口中,选择 Unit Tests 作为测试工件。

【讨论】:

选择构建变体后,该文件夹将作为有效的源 java 文件夹“激活”。【参考方案3】:

遵循此处提供的指南:

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing

这里

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Configuring-the-Structure

总结:

正如第一个链接所说,您必须将 test 目录重命名为 instrumentTest,以便 Studio 可以自动检测您的测试项目的源集

另一种方法是,您可以将 tests 目录放在根目录(与您的主目录一起),并以 tests/java 之类的方式获取源,如第二个链接所述

instrumenttest.setRoot("tests")

在android标签下的sourceSets配置中

来自文档

注意:setRoot() 将整个 sourceSet(及其子文件夹)移动到一个 新建文件夹。这会将 src/instrumentTest/* 移动到 tests/* 这是 Android 特定的,不适用于 Java 源集。

【讨论】:

感谢您的来信。我尝试了第一种方法,但我仍然不断收到!!! JUnit version 3.8 or later expected:java.lang.RuntimeException: Stub!。 *** 上的大多数答案告诉我只需在项目模块设置中向上移动 JUnit,但这并不能解决问题:/ 您能否在您的问题中包含File > Project Structure > yourmodule > Dependencies 的屏幕截图以及build.gradle 文件? 对于 Android Studio 1.0 及更高版本已更改 - 该文件夹现在称为 androidTest。请看我的回答【参考方案4】:

类似的问题困扰了很久,终于解决了。

要让 Android Studio 将 src/test 目录识别为源,您必须在“Build Variants”->“Test Artifact:”中选择“Unit Tests”

但是,在我的项目中,我没有“单元测试”,而只有“Android 仪器测试”。这是 Android 中两种不同类型的单元测试。

见:http://developer.android.com/training/testing/unit-testing/index.html 1。单元测试 - 本地单元测试 2。 Android Instrumentation 测试 - Instrumented 单元测试

这一点都不明显,但在“构建变体”->“测试工件:”中,当您的项目中有多个模块时,您没有“单元测试”选项。

我的项目目录如下所示: :项目 -:模块1 -:模块2 -:模块3 -:模块4 -:模块5 -settings.gradle -> 包括 ':module1',':module2', ... 这些模块并没有真正相互链接,但对于许多其他来自 Eclipse 的开发人员来说,这就是必须的。那是个问题。

然后我只为我的模块创建了单独的项目: :项目 -:模块1 -settings.gradle -> 包含':module1'

在“构建变体”->“测试工件:”中出现“单元测试”之后,我现在可以在本地单元测试和 Android 仪器测试之间进行选择。

【讨论】:

以上是关于如何让Android Studio运行Eclipse结构的工程的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 php 在 android studio 中使用 GCM 实现推送通知?

安卓studio已经成功在机子上运行了一个app,怎么让代码第二次运行安装时不是覆盖已经有的app。

Android Studio - 我们如何让应用程序编译得更快? [复制]

如何在android studio运行toast

Android Studio getActionBar() 返回 null?

Android Studio 自动修复