对于那些时候,当你想要隔离Java并给它一个快速测试。

你能像在Eclipse中一样在Android studio中运行非Android Java项目吗?


当前回答

我找到了一个有点俗气、烦人且不完全确定它总是有效的解决方案。我想分享一下,以防别人觉得有用。

在Android Studio中,你可以右键单击带有main方法的类并选择“Run .main()”。这将为YourClass创建一个新的Run配置,尽管它并不完全有效:它将丢失一些类路径条目。

为了修复缺少的类路径条目,进入项目结构,手动添加模块的输出文件夹位置和其他模块依赖项,如下所示:

文件->项目结构… 在左列面板的Project Settings面板中选择“Modules” 在中间列面板中的模块列表中选择您的模块 选择右列面板上的“Dependencies”选项卡

然后对于你的Java应用程序所在的模块以及你需要的每个模块依赖项: —单击右侧栏面板最右侧的“+”->“jar或目录” -导航到模块的输出文件夹(例如:my_module/build/classes/main/java),然后点击“确定” 在依赖项列表的新条目中,在最右边,将选择框从“Compile”更改为“Runtime”

在此之后,您应该能够执行刚才为运行简单Java应用程序而创建的Run配置。

需要注意的一件事是,对于我特殊的Android Studio项目设置,在我运行应用程序之前,我必须从Android Studio外部手动用gradle构建项目,以便让我的简单Java应用程序类构建-我认为这是因为“Application”类型的运行配置没有触发相应的gradle构建。

最后,这是在Android Studio 0.4.0上完成的。

我希望其他人觉得它有用。我也希望谷歌能很快支持这个功能。

其他回答

如果你做File>Open…然后选择pom.xml文件。确保将侧边栏左上角的“Android”下拉框改为“Project”,以查看所有文件。此外,我认为如果你的pom.xml文件在一个名为“app/”的文件夹中,这将会有所帮助。

免责声明:我的java项目是由谷歌应用程序引擎生成的。

在Android Studio 0.8.6 - 3.5上测试

使用这种方法,你可以在同一个项目中拥有Java模块和Android模块,还可以将Java模块作为独立的Java项目编译和运行。

Open your Android project in Android Studio. If you do not have one, create one. Click File > New Module. Select Java Library and click Next. Fill in the package name, etc and click Finish. You should now see a Java module inside your Android project. Add your code to the Java module you've just created. Click on the drop down to the left of the run button. Click Edit Configurations... In the new window, click on the plus sign at the top left of the window and select Application A new application configuration should appear, enter in the details such as your main class and classpath of your module. Click OK.

现在,如果单击run,应该会编译并运行Java模块。

如果你得到错误错误:无法找到或加载主类…,只需再次输入你的主类(就像你在步骤7中所做的那样),即使字段已经填写。单击Apply,然后单击Ok。

我的用例: 我的Android应用程序依赖于一些预先计算好的文件来运行。这些预计算文件是由一些Java代码生成的。由于这两件事是相辅相成的,所以在同一个项目中同时拥有这两个模块是最有意义的。

新-如何在你的独立项目中启用Kotlin

如果希望在独立项目中启用Kotlin,请执行以下操作。

Continuing from the last step above, add the following code to your project level build.gradle (lines to add are denoted by >>>): buildscript { >>> ext.kotlin_version = '1.2.51' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.3' >>> classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } ... Add the following code to your module level build.gradle (lines to add are denoted by >>>): apply plugin: 'java-library' >>> apply plugin: 'kotlin' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) >>> implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" >>> runtimeClasspath files(compileKotlin.destinationDir) } ... Bonus step: Convert your main function to Kotlin! Simply change your main class to: object Main { ... @JvmStatic fun main(args: Array<String>) { // do something } ... }

花了一天时间才找到最简单的方法。目的是找到实现这一目标的最快方法。我不能让它像从终端运行javac命令或从netbeans或sublime text3编译一样快。但在android studio中仍然有不错的速度。

这看起来很粗糙,但因为我们不启动项目在日常的基础上,这就是为什么我可以这样做。

我下载了IntelliJ IDEA社区版,并创建了一个简单的java项目。我添加了一个主类并测试了一次运行。然后简单地关闭IntelliJ IDEA并打开Android Studio并在那里打开相同的项目。然后我必须简单地附加JDK, IDE通过显示可用的JDK列表来帮助我,我选择了1.8,然后它编译得很好。我现在可以打开任何主文件并按Control+Shift+R来运行该主文件。

然后我把我所有的Java文件复制到Mac OS Finder的src文件夹中。我可以编译任何我想编译的东西。

它与Gradle或Android无关,编译速度也相当不错。

谢谢朋友

我已经能够使用以下步骤做到这一点:

打开Android Studio,选择“Import Project”。 在浏览窗口中浏览到您的项目文件夹并选择它。

在Android Studio 4.0及以上版本上,你会在IDE上得到一个选项,一个绿色的运行图标来运行相关的main()类。