如何 运行 来自 github 的 android studio 应用程序?

How to run this android studio app from github?

我下载了这个 git 存储库:https://github.com/jitsi/libjitsi

它包含两个示例,但是当我尝试 运行 它们时,运行 按钮被禁用:

当我在菜单 "Run" -> "Run" 中 select 时,它告诉我为应用程序添加 edit configurations 并且此 window 打开,但我不知道 select 那里有什么:

我发现这个额外的网站引用了示例(当您在 examples and API 下向下滚动时): https://desktop.jitsi.org/Projects/LibJitsi

它们是为 JVM 使用而设计的,例如在台式机或服务器上。它们包含与 java 命令一起使用的 main() 方法。它们不是 Android 应用程序,不能在 Android 设备上的 Android Studio 中 运行。

似乎该项目没有像 Android 项目那样以良好的方式导入,原因是,它不是 Android 项目它只是一个基本的 java图书馆。

如果您想添加此功能,您可以导出 JAR,然后将其作为库添加到您现有的 Android 项目中。

如果您想从 GitHub 克隆一些项目,更好的方法可能是: 文件 -> 新建 -> 来自版本控制的项目 -> 添加 Git Repo Link

这似乎是一个通常作为依赖项添加到另一个应用程序的库。然而,这个库也可以 运行 作为一个独立的 Java 应用程序。我会留给你这是否是使用这个库的理想方式,你也可以查阅库文档。

您可以在此处的文档中找到如何在 IntelliJ IDEA 中 运行 Java 应用程序:

https://www.jetbrains.com/help/idea/running-applications.html

https://www.jetbrains.com/help/idea/run-debug-configuration.html

我会用我的方式解释的。

要在 IntelliJ IDEA 中启动一个独立的 Java 应用程序,您需要使用 public static void main(String[] args) 函数 "Run" class。在这个项目中有几个,每个都有不同的目的。使用项目文档和他们的 JavaDoc 来找出你想要的。

对于这个答案,我将使用 org.jitsi.sctp4j.SampleClient,根据它的 JavaDoc,它是:

Sample SCTP client that uses UDP socket for transfers.

有两种方法可以实现 运行。我先从我常用的方式说起吧

在IDEA中打开class。您将在 class 名称旁边以及 main 函数旁边看到一个绿色三角形。两者做同样的事情。

单击它,然后从下拉菜单中 select "Run 'SampleClient.main()'":

您可以在 "Run" 选项卡底部看到结果。就是这样,至少对于这个 class。应用程序应该成功启动。您可以像在 Android Studio 中一样停止它,使用 运行 选项卡中或导航栏右上角的红色方块。有些应用程序只会执行一个操作并自行停止。

此 class 的 main() 方法不需要任何参数。如果需要它们,我们必须将它们添加到 运行 配置中...

这就是我们运行应用程序的第二种方式。

如果 main() 方法需要任何参数,您将需要这种方式。您也可以使用它而不是首先打开 class 文件。

如果您使用第一种方法启动应用程序,您将看到已为 SampleClient class 创建的 运行 配置。您可以使用它从导航栏 运行 应用程序,就像在 Android Studio 中一样。也可以打开下拉菜单select"Edit Configurations"进行修改或者添加新的运行配置:

您可以修改为 SampleClient 创建的配置 - 添加程序参数、环境变量等。

要创建新配置,请单击“+”图标并(在我们的例子中)select "Application" 类型。其他类型的 运行 配置包括 JUnit 测试、Maven 任务、服务器部署等:

在 "Main class" 字段中,手动输入合格的 class 名称(代码完成也可以),或者单击右侧的“...”并 select class 来自具有 main() 方法的 classes 列表:

您可以再次添加程序参数等。完成后,您可以使用导航栏中的配置。