如何让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 - 我们如何让应用程序编译得更快? [复制]