Android новичок в студии :( В этой сборке использовались устаревшие функции Gradle, что делает его несовместимым с Gradle 6.0 - PullRequest
0 голосов
/ 30 января 2020
  1. Привет, я новичок в кодировании и android студия. Я написал просто простое сообщение PSVM SOUT, и код верен, но это то, что он показывает в моем терминале (кстати, это бесплатная sh новая установка):

    Initialization script 'C:\Users\Dom\AppData\Local\Temp\MainActivity_main__.gradle' line: 20
    
    * What went wrong:
    A problem occurred configuring project ':app'.
    > Could not create task ':app:MainActivity.main()'.
    > SourceSet with name 'main' not found.
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more 
    log 
    output. Run with --scan to get full insights.
    
    *     Get more help at https://help.gradle.org
    
    Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
    Use '--warning-mode all' to show the individual deprecation warnings.
    See https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings
    

    Файл Gradle, которым он является это выглядит следующим образом:

    def gradlePath = ':app'
    def runAppTaskName = 'MainActivity.main()'
    def mainClass = 'com.example.myapplication.MainActivity'
    def javaExePath = 'S:/Program files (x86)/androidStudio/jre/bin/java.exe'
    def _workingDir = 'C:/Users/Dom/AndroidStudioProjects/MyApplication'

    def sourceSetName = 'main'
    def javaModuleName = null





    allprojects {
      afterEvaluate { project ->
        if(project.path == gradlePath && project?.convention?.findPlugin(JavaPluginConvention)) {
          project.tasks.create(name: runAppTaskName, overwrite: true, type: JavaExec) {
            if (javaExePath) executable = javaExePath
            classpath = project.sourceSets[sourceSetName].runtimeClasspath
            main = mainClass

            if(_workingDir) workingDir = _workingDir
            standardInput = System.in
            if(javaModuleName) {
              inputs.property('moduleName', javaModuleName)
              doFirst {
                jvmArgs += [
                  '--module-path', classpath.asPath,
                  '--module', javaModuleName + '/' + mainClass
                ]
                classpath = files()
              }
            }
          }
        }
      }
    }

Я пытался обновить версию Gradle, но когда я обновил ее до 6, он сказал, что он не совместим с Gradle 7. Он говорит запустить с параметром --stacktrace, но на что он ссылается? где я могу запустить эту строку кода?

1 Ответ

0 голосов
/ 30 января 2020

Вы говорите gradle использовать исходный набор main, который обычно используется по умолчанию, но действительно ли у вас есть папка с именем main?

Я ожидаю, что у вас есть папка такого типа?

C:/Users/Dom/AndroidStudioProjects/MyApplication/src/main

Какую версию Java вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...