对于那些想要隔离Java并对其进行快速测试的时期。.

可以像在Eclipse中那样在Android Studio中运行非Android Java项目吗?

评论

Android studio基于intelliJ。因此可以肯定,它肯定可以运行“标准” java代码。但是为什么需要它呢?

@vmironov我同意你的看法。

@vmironov本质上就是他们在做什么。 Android功能是IntelliJ插件,它们只是将其打包在一起以用于Android Studio。我没有特别使用Android Studio,但是已经有一段时间使用IntelliJ了,在其中运行标准Java项目应该没有问题。

@kcoppock,是的,但是不能将该插件添加到“常规” IntelliJ IDEA中(我已经购买了Ultimate版本,并且我真的不想切换回Community Edition)。好消息是JetBrains宣布可以在Intellij IDEA 13中使用Android Studio的功能。

有没有简单的方法可以使它与Gradle一起使用?我一直崩溃,因为它在运行时看不到我的gradle库。

#1 楼

在Android Studio 0.8.6-3.5上进行了测试。

使用此方法,您可以在同一项目中拥有Java模块和Android模块,还可以像独立的Java项目一样编译和运行Java模块。 br />

在Android Studio中打开您的Android项目。如果没有,请创建一个。
单击文件>新建模块。选择“ Java库”,然后单击“下一步”。
输入软件包名称,等等,然后单击“完成”。现在,您应该在Android项目中看到一个Java模块。
将代码添加到刚创建的Java模块中。
单击运行按钮左侧的下拉菜单。单击“编辑配置...”。在新窗口中,单击窗口左上方的加号,然后选择“应用程序”。

应出现一个新的应用程序配置,然后输入详细信息,例如模块的主类和类路径。
单击确定。

现在,如果单击运行,这将编译并运行Java模块。

如果收到错误Error: Could not find or load main class...,即使该字段已经填写,也只需再次输入您的主类(如在步骤7中所做的那样)即可。单击“应用”,然后单击“确定”。

我的使用案例:
我的Android应用依赖于一些预先计算的文件才能运行。这些预先计算的文件是由某些Java代码生成的。由于这两件事是并行的,因此将这两个模块都放在同一个项目中是最有意义的。

NEW-如何在独立项目中启用Kotlin

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



从上面的最后一步继续,将以下代码添加到项目级别build.gradle(行要添加的由>>>表示:

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
    }
}
...



将以下代码添加到模块级别build.gradle(要添加的行由>>>表示):

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)
}
...



奖励步骤:将您的主要功能转换为Kotlin!只需将您的主类更改为:

object Main {
    ...
    @JvmStatic
    fun main(args: Array<String>) {
        // do something
    }
    ...
}




评论


我可以在Android Studio 0.8.14中确认这一功能。我使用了一个基本的Hello World项目,并添加了一个包含main方法的Custom类。我删除了MainActivity.java文件。在第2步中,我需要显示“更多模块”窗格(“创建新模块”窗口的左下方),然后向下滚动以找到“ Java库”项。在第6步中,我为应用程序命名,选择Custom作为我的主类,并选择app作为模块的类路径。注意:如果按照@simonp的解决方案删除应用程序模块,则您的应用程序将运行,但会出现错误。

–詹姆斯·牛顿
2014年11月21日13:52

第2步之后应该再有一个步骤:向类添加代码,或者至少使其成为Hello-World代码:docs.oracle.com/javase/tutorial/getStarted/application

– Android开发人员
2014年12月21日23:10

但是,如何将桌面项目导出到.jar文件?我在任何地方都找不到该选项:/

–克里斯
15年8月13日在16:16

在2.2.2中工作! :)

– Pavel Biryukov
16-10-27在13:50

很棒!我使用的是Android Studio 3.1.4。感谢分享 !

– Birender Singh
18-11-27在4:02

#2 楼

编辑:在问了这个问题后很多月了,是的,现在显然可以了。

否,但这是基于Intellij IDEA的。

该社区版本是免费的下载,但不支持大多数需要外部数据库或应用程序服务器的内容。 Java的代码行差不多是JavaSE代码可以愉快地使用Community。

如果您想要(或正在使用JavaEE),则需要非免费的Ultimate版本或EAP通常要等一个月才能发布另一个版本。

基本上可以像这样

Android Studio只是Android,是IDEA 13社区的Android Stuff。 ..

...这是免费的,并且是IDEA 13 Ultimate中的任何内容...

...不需要数据库或应用程序服务器。

http://www.jetbrains.com/idea/

IDEA 12社区不具有导入已分级项目的功能,并且也无法导入已分级项目您可以立即在其中进行Android开发(我愿意),不要指望它具有与Android Studio相同的功能。 Android中有很多不错的新东西,即将投入使用13。

评论


乐于帮助!我个人很喜欢IDEA,讨厌Eclipse。这是我第一次使用EAP,因为我显然需要与迁移到Android Studio的每个人兼容。

–JoeHz
13年5月20日在11:12

从AS 0.5.8开始,这不再正确。您绝对可以在AS中运行标准Java SE代码。至少我成功导入了一个Swing项目,并进行了开发和运行。不幸的是,在撰写本文时,您不能创建“常规” Java项目,至少我不知道。

–代码学徒
2014年5月14日下午2:53

从0.6.1开始,您可以。请参阅下面的答案。

– SIMONP
2014年6月17日在23:03

请删除/编辑此答案,因为它不再正确。 Android Studio现在可以构建Java模块并在本地JRE中运行它们。

– Navin
15年6月30日在10:47

因此,最好将Android-Studio用于android设备,将IntelliJ用于Java和其他设备? IntelliJ的SWT支持如何?您知道适合它的UI设计器吗?我主要需要UI预览。

– Android开发人员
16 Mar 20 '16 at 8:29

#3 楼

在Android Studio中运行Java程序的简单方法是,


在Android Studio中创建一个Java类,提示"Test.java"


编写代码例如,要测试的Hello World程序。


右键单击Java类,然后:



选择选项Run 'Test.main()'




按CTRL + SHIFT + F10(在Windows上)或按Control + R(在Mac上)

Java代码在下面运行。

评论


这有效-谢谢!就我而言,第一次尝试运行gradle构建时,我遇到了崩溃的问题。所以我做了一个Android Studio>“文件”>“使缓存无效/重新启动”,然后问题就解决了

– Gene Bo
17年2月20日在19:29

@Shruti从运行应用程序切换到运行test.java后,第一次编译需要一段时间。您是否知道所创建的可执行文件是否已添加到APK大小中?

–帕特里克(Patrick)
17年8月25日在6:54

对于Kotlin:单击main()旁边的箭头,请勿右键单击文件或方法名称

– xjcl
20-11-23在23:23

#4 楼

使用Android Studio 0.6.1+(可能还有更早的版本),您可以轻松开发标准Java(非Android)应用。

此方法已在0.8.2上进行了测试:

首先,使用文件>新建项目,创建一个普通的Android Phone应用。然后添加一个Java库模块来保存您的Java应用程序代码。 (即使正在构建应用程序,也请选择“ Java库”)。您会发现可以使用main()方法,Swing应用程序等来构建和运行Java应用程序。

您将要删除未使用的自动生成的Android“应用程序”模块。转到文件->项目结构,并将其删除(在左侧框中选择“应用”模块,然后单击框上方的“减号”图标)。现在,当您重新打开文件->项目结构->项目时,您将看到用于选择项目SDK和语言级别的选项,以及许多其他先前隐藏的选项。您可以继续从磁盘中删除“ app”模块。

在0.6.1中,您可以避免首先创建android模块:

转到文件>新项目。填写您的应用程序名称。在“外形尺寸”选择页面上,在其中声明您的最低Android SDK,取消选中“移动”复选框,然后继续创建项目。

创建项目后,转到文件->项目结构->项目,并将您的JDK设置为“项目SDK”。添加一个Java库模块来保存上述应用程序代码。

评论


那我在哪里可以找到版本?如果我单击Build-> Make Project或Build-> Compile'PureJava.java',则android studio会说“编译成功完成”。但是我找不到任何构建文件。我删除了应用程序模块以及应用程序文件夹。

– AndiPower
2014年8月1日23:19

您是否能够调试那些项目?

–MLProgrammer-CoM
2014-09-19 12:49

@ MLProgrammer-CiM是的,这是可能的。我碰巧在调试时,IDE在“更新索引”阶段中停滞了一点,我不知道是什么原因,我曾尝试清理缓存并重新启动。

–Shujito
17年3月14日在19:57

#5 楼

这就是设置的样子。



编辑配置>'+'>应用程序:


评论


嗨,亚当,我知道它是否仍然有效?为何我们需要此应用程序的gradle?是否可以进一步清理项目,以便仅显示最少的文件?

– Harsha
20 Mar 7 '20 at 9:32



@Harsha,您好,我在2016年将其实现为实验。由于我在后端Kotlin / Java应用程序中使用独立的IntelliJ,因此最近尚未实现。随时使用更新的发现来更新评论/帖子。

–亚当·赫维兹(Adam Hurwitz)
20-3-7在17:24



#6 楼

我发现了一个有点笨拙,烦人且不能完全确保始终有效的解决方案。我想分享一下,以防别人发现它有用。

在Android Studio中,您可以使用main方法右键单击一个类,然后选择“ Run .main()”。这将为YourClass创建一个新的Run配置,尽管它不会完全起作用:它将丢失一些类路径条目。

为了修复丢失的类路径条目,请进入“项目结构”并手动进行添加模块和所需的任何其他模块依赖项的输出文件夹位置,如下所示:


文件->项目结构...
在菜单中选择“模块”左列面板上的“项目设置”面板
在中间列面板中的模块列表中选择您的模块
在右列面板中选择“ Dependencies”选项卡

然后对于拥有Java应用程序的模块以及所需的每个模块依赖项:
-单击右列面板最右端的“ +”->“ Jars或目录”
-导航到模块的输出文件夹(例如:my_module / build / classes / main / java),然后单击“确定”。
-在“依赖关系”列表的新条目上,在最右边,改变自我选择框,从“编译”到“运行时”

之后,您应该能够执行刚刚创建的运行配置,以运行简单的Java应用程序。

需要注意的是,对于我特定的[相当多的] Android Studio项目设置,我必须从Android Studio外部使用gradle手动构建项目,以便在运行应用程序之前构建简单的Java Application类。 -我认为这是因为类型为“应用程序”的运行配置未触发相应的Gradle构建。

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

我希望其他人觉得它有用。我也希望Google尽快支持该功能。

评论


我必须从Android Studio外部使用Gradle手动构建项目,该怎么做?

–凯迪拉尔·皮永(Katedral Pillon)
15年10月24日在16:31

#7 楼

我从http://www.jetbrains.com/idea/download/

安装了IntelliJ IDEA社区版本,我尝试打开在Android Studio中启动的项目,但在构建gradle时失败。相反,我同时打开了android studio和intellij,并将一个屏幕紧挨着打开,然后将我的java文件,xml布局,可绘制对象拖放到以IntelliJ开始的新项目的项目结构中。它解决了gradle构建问题,现在我可以在IntelliJ中启动一个新项目,并设计一个android应用程序或一个基本Java应用程序。值得庆幸的是,这很有用,因为我讨厌PC上有这么多的IDE。

#8 楼

我已经可以使用以下步骤进行操作:


打开Android Studio并选择“导入项目”。
浏览到浏览窗口中的项目文件夹并选择它。


#9 楼

在Android Studio 0.8.14中进行了测试:
我能够以这种最少的步骤运行一个标准项目:


在打开的Android Studio项目中,点击文件>新模块。

单击“更多模块”>“ Java库”>“下一步”,然后填写您喜欢的名称。

新模块将显示为同一级别的文件夹作为项目结构中的“ app”文件夹。打开它并打开新的Java类文件。然后,您可以添加代码,然后选择Build> Run'YourClassName'。 presto,您的代码在没有Android设备的情况下运行!


评论


这个答案与@idunnololz的答案有什么不同?您的gradle是否可以使用gradle而无需任何其他步骤?

–凯迪拉尔·皮永(Katedral Pillon)
15年10月24日在16:36

#10 楼

如果执行File> Open ...,然后选择pom.xml文件,它将非常完美。请确保将侧栏左上角显示为“ Android”的下拉菜单更改为“ Project”,以查看所有文件。如果您的pom.xml文件所在的文件夹位于名为“ app /”的文件夹中,我也认为这会有所帮助。

免责声明:我的Java项目是由Google App Engine生成的。

评论


您是否必须将依赖项移至pom或它将看到gradle的东西?

–凯迪拉尔·皮永(Katedral Pillon)
15年10月24日在16:28

#11 楼

花了一天的时间找到最简单的方法。目的是找到实现此目标的最快方法。我无法像从终端运行javac命令,从netbeans或sublime text 3进行编译一样快。但是android studio的运行速度仍然不错。

这看起来有些曲折,但是由于我们不每天都在启动项目,所以我可以这样做。

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

然后我将所有Java文件通过Mac OS Finder复制到src文件夹中。而且我能够编译任何我想要的东西。

与Gradle或Android没有任何关系,并且编译速度还不错。

感谢朋友

#12 楼

要在Android中运行Java文件,请确保您的类具有main方法。在Android Studio 3.5中,只需右键单击文件内部,然后选择“运行'Filename.main()'”,或在菜单上单击“运行”,然后从出现的下拉菜单中选择“运行文件名”。

#13 楼

在Android Studio 4.0及更高版本上,您会在IDE上轻松获得一个选项,一个绿色的运行图标,用于运行相关的main()类。