Отладка проекта Java на основе gradle на Android Studio?

Мой текущий проект состоит из двух модулей, одного Android и другого, который может использоваться как автономный рабочий стол java. Я бы хотел запустить этот второй модуль самостоятельно и иметь возможность отлаживать его, не пройдя через устройство. Я не хочу, чтобы вторичная установка IntelliJ менялась под одну или другую.

Есть ли способ в AS подключить отладчик к задаче java gradle?

apply plugin: "java" sourceCompatibility = 1.6 sourceSets.main.java.srcDirs = [ "src/" ] project.ext.mainClassName = "com.project.Desktop.Launcher" project.ext.assetsDir = new File("../android/assets"); task run(dependsOn: classes, type: JavaExec) { main = project.mainClassName classpath = sourceSets.main.runtimeClasspath standardInput = System.in workingDir = project.assetsDir ignoreExitValue = true } task dist(type: Jar) { from files(sourceSets.main.output.classesDir) from files(sourceSets.main.output.resourcesDir) from {configurations.compile.collect {zipTree(it)}} from files(project.assetsDir); manifest { attributes 'Main-Class': project.mainClassName } } dist.dependsOn classes eclipse { project { name = appName + "-desktop" linkedResource name: 'assets', type: '2', location: 'PARENT-1-PROJECT_LOC/android/assets' } } task afterEclipseImport(description: "Post processing after project generation", group: "IDE") { doLast { def classpath = new XmlParser().parse(file(".classpath")) new Node(classpath, "classpathentry", [ kind: 'src', path: 'assets' ]); def writer = new FileWriter(file(".classpath")) def printer = new XmlNodePrinter(new PrintWriter(writer)) printer.setPreserveWhitespace(true) printer.print(classpath) } } 

Solutions Collecting From Web of "Отладка проекта Java на основе gradle на Android Studio?"

http://www.gradle.org/docs/current/userguide/application_plugin.html

Затем вы можете запустить приложение, выполнив прогон градиента. Gradle позаботится о создании классов приложений вместе со своими зависимостями во время выполнения и запуском приложения с правильным пулом классов. Вы можете запустить приложение в режиме отладки с помощью программы gradle run –debug-jvm (см. JavaExec.setDebug ()).

Добавить в ваш build.gradle

 apply plugin:'application' mainClassName = 'my.company.namespace.MainClass' 

Создайте новую конфигурацию Run / Debug Gradle

  1. Бег
  2. Изменить конфигурации
  3. "+" (Добавить)
  4. Gradle

Или, альтернативно, вы можете сделать один [запуск] и дублировать задачу.

  1. Для выполнения задачи используйте run --debug-jvm
  2. Переименуйте его в [debug]

И оттуда приложить отладчик, следуя указаниям IntelliJ:

  1. Бег
  2. Изменить конфигурации
  3. "+" (Добавить)
  4. Дистанционный пульт
  5. Переименуйте в «Прикрепить отладчик»
  6. (Необязательно) Вкл. Перед запуском добавьте еще одну конфигурацию и добавьте [debug]

Теперь вы можете запустить [debug], за которым следует Attach Debugger, или если вы выполните шаг 6, просто нажмите кнопку Stop Debugger один раз, чтобы пройти через Listening for transport dt_socket at address: 5005 message которое можно рассматривать как точку входа.