Android Studio "Build - make project"不创建jar

标签 android android-studio gradle

我是第一次在 Android Studio 中开发一个应用程序,我希望该应用程序连接到我也将开发的服务器。此服务器将在 Java 运行时环境而不是 Android 上运行,但如果我可以在同一个项目和 IDE 中与应用程序一起开发它,我更愿意。

到目前为止我做了什么:

  • 添加了 server根目录下的文件夹(与 /app 文件夹相同级别)
  • 添加了 server/src/java/main/Hello.java文件开始
  • 添加了 server/build.gradle包含以下内容的文件:
    apply plugin: 'java'
    jar {
        manifest {
            attributes 'Main-Class': 'Hello'
        }
    }
    
  • 更新 settings.gradle像这样包含服务器模块:
    include ':app', ':server'
    

  • 以上足以让这个工作:
  • 执行gradle build现在在命令行上创建一个可执行的 server.jar。
  • 服务器代码显示在 Android Studio 中。如果我单击 Build - Make Project,它也会被构建。 .

  • 但是,Build - Make project出于某种原因只编译 Hello.java文件转换为 .class 文件。它没有创建 server.jar文件。为什么它与 gradle build 不一样? ?我该如何解决?

    最佳答案

    所有可用的 gradle 任务都可以从 Android Studio 右侧的“Gradle 项目”工具窗口中探索,尽管您可能必须先单击“刷新”按钮才能显示它们。 jar 任务应该出现在那里,双击将构建 server.jar 文件。

    但是,从 Android Studio 快速启动服务器不需要创建 jar 文件。更改server/build.gradle如下:

    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = "Hello"
    

    在“Gradle Projects”工具窗口中再次刷新后,这应该使“运行”任务可用。右键单击它并单击“运行...”菜单项以将此任务转换为运行配置。现在,可以使用 IDE 顶部的运行按钮轻松启动应用程序。

    关于Android Studio "Build - make project"不创建jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33828819/

    相关文章:

    android - 是否建议更改app中的targetSdkVersion?

    java - 如何将点击从 Activity 用户界面传递到 map fragment 以将 map 更改为 MAP_TYPE_HYBRID

    android - 如何停止 JSoup/OkHttpClient : A connection was leaked?

    android - 如何对洛蒂的动画进行更改

    android-studio - Android Studio 运行时错误 stub !在 com.amazon.device.messaging.ADMMessageReceiver.<init>()

    android - Gradle 同步失败 : ERROR: Expected ':' at line 1 column 11 path $. 请

    android - 无法解析 React Native 中配置 ':app:debugCompileClasspath' 的所有文件

    android - 尝试对已绑定(bind)的 ID 0 使用 @BindView

    android - MaterialDrawer 在构建时崩溃

    build - gradle 构建失败连接到 https ://repo1. maven.org 被拒绝