Android Studio 可以用来运行标准的 Java 项目吗?

Posted

技术标签:

【中文标题】Android Studio 可以用来运行标准的 Java 项目吗?【英文标题】:Can Android Studio be used to run standard Java projects? 【发布时间】:2013-05-13 16:05:39 【问题描述】:

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

您能否像在 Eclipse 中一样在 android Studio 中运行非 Android Java 项目?

【问题讨论】:

Android studio 基于 intelliJ。可以肯定的是,它肯定能够运行“标准”Java 代码。但是你为什么需要它呢? @vmironov 我同意你的看法。 @vmironov 这就是他们正在做的事情。 Android 功能是一个 IntelliJ 插件,它们只是为 Android Studio 打包在一起。我没有特别使用过 Android Studio,但我使用 IntelliJ 已经有一段时间了,在其中运行标准 Java 项目应该没有问题。 @kcoppock,是的,但是这个插件不能添加到“普通”的 IntelliJ IDEA 中(我有购买的 Ultimate 版本,我真的不想切换回社区版)。好消息是 JetBrains 宣布将有可能在 Intellij IDEA 13 中拥有 Android Studio 的功能 有没有一种简单的方法可以让它与 Gradle 一起使用?我一直在崩溃,因为它在运行时看不到我的 gradle 库。 【参考方案1】:

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

【讨论】:

如果我们运行这样的 java 应用程序,如何查看日志?【参考方案2】:

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

    在 Android Studio 中创建一个名为 "Test.java" 的 java 类。

    编写你的代码,例如一个Hello World 程序来测试。

    右键单击 Java 类并:

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

CTRL + SHIFT + F10(在 Windows 上)或 control + R kbd>(在 Mac 上)

你的 Java 代码在下面运行。

【讨论】:

这行得通 - 谢谢!就我而言,当我第一次尝试运行它时,我遇到了 gradle build 崩溃的问题。所以我做了一个Android Studio > File > Invalidate Caches / Restart 然后问题就解决了 @Shruti 从运行app切换到运行test.java后第一次编译需要一段时间。你知道它创建的可执行文件是否完全添加到 APK 大小吗? 对于 Kotlin:单击 main() 旁边的箭头,不要右键单击文件或方法名称【参考方案3】:

在 Android Studio 0.8.6 - 3.5 上测试

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

    在 Android Studio 中打开您的 Android 项目。如果您没有,请创建一个。 点击文件>新建模块。选择Java Library,然后点击下一步。 填写包名等,点击完成。您现在应该会在您的 Android 项目中看到一个 Java 模块。 将代码添加到刚刚创建的 Java 模块中。 单击运行按钮左侧的下拉菜单。点击编辑配置... 在新窗口中,点击窗口左上角的加号并选择Application 应该会出现一个新的应用程序配置,输入详细信息,例如您的主类和模块的类路径。 点击确定

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

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

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

新功能 - 如何在您的独立项目中启用 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)
    
    ...
    

    额外步骤:将您的 main 函数转换为 Kotlin!只需将您的主类更改为:

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

【讨论】:

我可以确认这在 Android Studio 0.8.14 中有效。我使用了一个基本的 Hello World 项目,并添加了一个包含 main 方法的自定义类。我删除了 MainActivity.java 文件。在第 2 步,我需要打开 More Modules 窗格(Create New Module 窗口的左下方)并向下滚动以找到 Java Library 项。在第 6 步,我命名了我的应用程序,选择 Custom 作为我的主类,并选择 app 作为模块的类路径。注意:如果您按照@simonp 的解决方案删除应用程序模块,您的应用程序将运行,但会出现错误。 在第 2 步之后应该还有一个步骤:向类添加代码,或者至少将其设为 Hello-World 代码:docs.oracle.com/javase/tutorial/getStarted/application 但是如何将桌面项目导出为 .jar 文件?我在任何地方都找不到该选项:/ 在 2.2.2 中工作! :) 效果很好!我使用的是 Android Studio 3.1.4。感谢分享!【参考方案4】:

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

【讨论】:

【参考方案5】:

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

不,但它基于 Intellij IDEA。

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

如果您想要(或正在使用 JavaEE),那么您要么需要 Ultimate 版本,它不是免费的,要么需要下一个版本的 EAP,通常可以使用一个月,直到他们发布另一个版本。

基本上是这样的

Android Studio 就是来自 IDEA 13 Community 的 Android 的 Android Stuff...

...这将是免费的,并且来自 IDEA 13 Ultimate...

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

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

IDEA 12 Community 没有导入渐变项目的能力,它不会,所以虽然你现在可以在其中进行 Android 开发(我可以),但不要期望它具有与 Android 相同的功能工作室。里面有很多不错的 Android 新东西,即将进入 13 年。

【讨论】:

乐于助人!我个人喜欢 IDEA,讨厌 Eclipse。这是我第一次使用 EAP,因为我显然需要与所有迁移到 Android Studio 的人兼容。 从 AS 0.5.8 开始,这不再正确。您绝对可以在 AS 中运行标准的 Java SE 代码。至少我成功地导入了一个 Swing 项目,开发并运行了它。不幸的是,在撰写本文时,您无法创建“常规”Java 项目,至少我所知道的情况并非如此。 从 0.6.1 开始可以。请参阅下面的答案。 请删除/编辑此答案,因为它不再正确。 Android Studio 现在可以构建 Java 模块并在本地 JRE 中运行它们。 所以最好将 Android-Studio 用于 android 的东西,而将 IntelliJ 用于 Java 等等? IntelliJ 上的 SWT 支持怎么样?你知道一个很好的 UI 设计师吗?我主要需要它来预览 UI。【参考方案6】:

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

这看起来很草率,但由于我们不每天启动项目,所以我可以这样做。

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

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

和 Gradle 或 Android 无关,编译速度还不错。

谢谢朋友

【讨论】:

【参考方案7】:

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

    打开 Android Studio 并选择“导入项目”。

    在浏览窗口中浏览到您的项目文件夹并选择它。

【讨论】:

【参考方案8】:

这正是设置的样子。

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

【讨论】:

嗨亚当,我能知道它是否仍然有效吗?为什么我们需要 gradle 这个应用程序?是否可以进一步清理项目,以便仅存在最少的文件? 嗨@Harsha,我在 2016 年将它作为一个实验实现。我最近没有实现这个,因为我使用独立的 IntelliJ 用于后端 Kotlin/Java 应用程序。随时用您的最新发现更新 cmets/post。 我也是这样做的。它仍在工作。我想从命令行启动它,但我找不到如何指示 Gradle 使用应用程序配置。【参考方案9】:

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

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

【讨论】:

您是否必须将您的依赖项移动到 pom 或者它会看到 gradle 的东西?【参考方案10】:

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

在打开的 Android Studio 项目中,单击文件 > 新建模块。 单击更多模块 > Java 库 > 下一步,然后填写您喜欢的名称。 新模块将显示为与项目结构中的“app”文件夹处于同一级别的文件夹。打开它并打开新的 Java 类文件。

然后您可以添加代码,并选择构建 > 运行“YourClassName”。 Presto,您的代码在没有 Android 设备的情况下运行!

【讨论】:

这个答案与@idunnololz 的答案有何不同?你的可以在没有任何额外步骤的情况下使用 gradle 吗?【参考方案11】:

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

此方法已在 0.8.2 上测试过:

首先使用“文件”>“新建项目”创建一个普通的 Android 手机应用。然后添加一个 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 会显示“编译成功完成”。但我找不到任何构建文件。我删除了应用程序模块以及应用程序文件夹。 你调试过那些项目了吗? @MLProgrammer-CiM 是的,这是可能的。我遇到过调试时,IDE 在“更新索引”阶段的某个时间点停顿,我不知道是什么原因造成的,我尝试清理缓存并重新启动。【参考方案12】:

我从http://www.jetbrains.com/idea/download/安装了IntelliJ IDEA社区版

我尝试打开我在 Android Studio 中开始的项目,但在 gradle build 时失败了。相反,我同时打开了 android studio 和 intellij,并将一个屏幕并排放置,然后简单地将我的 java 文件、xml 布局、drawable 和清单拖放到在 IntelliJ 中启动的新项目的项目层次结构中。它解决了 gradle 构建问题,现在我可以在 IntelliJ 中启动一个新项目并设计一个 android 应用程序或一个基本的 Java 应用程序。值得庆幸的是,这很有效,因为我讨厌在我的电脑上有这么多 IDE。

【讨论】:

【参考方案13】:

我发现了一个有点 hacky、烦人且不完全确定它总是有效的解决方案。我想分享一下,以防其他人觉得它有用。

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

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

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

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

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

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

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

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

【讨论】:

I have to manually build the project with gradle, from outside Android Studio 你是怎么做到的?

以上是关于Android Studio 可以用来运行标准的 Java 项目吗?的主要内容,如果未能解决你的问题,请参考以下文章

Android studio运行流畅,需要啥电脑配置?

Android 环境搭建资料及启动过程中问题汇总

用android studio 编写的程序可以在ios上运行吗

Android Studio控件设置样式怎么设置

怎么解决android studio 中selector无法用的问题

Android Studio 运行终端可以运行,但点击'run'报错的问题