Как разрешить внутренние методы не поддерживаются.Определение метода здесь не ожидается.explodeAar - PullRequest
1 голос
/ 02 июня 2019

после успешного импорта модулей openCV в Android-приложение nativescript на android studio продолжает появляться ошибка запуска при запуске, которая указывает на explodeArr в приложении gradle

пробовал мигрировать на androidx, все равно получена ошибка попытался создать новый класс в соответствии с документацией Groovy, все еще получил ошибку

task runSbg (тип: JavaExec) { зависит от "collectAllJars" if (! findProject (': static-binding-generator'). is (null)) { зависящий от ': статический-связывание-генератор: jar' }

    outputs.dir("$OUTPUT_JAVA_DIR/com/tns/gen")
    inputs.dir(INPUT_JS_DIR)
    inputs.dir(extractedDependenciesDir)

    workingDir "$BUILD_TOOLS_PATH"
    main "-jar"
    args "static-binding-generator.jar"

    doFirst {
        new File("$OUTPUT_JAVA_DIR/com/tns/gen").deleteDir()
    }
}

task ensureMetadataOutDir {
    doLast {
        def outputDir = file("$METADATA_OUT_PATH")
        outputDir.mkdirs()
    }
}

        def explodeAar(File compileDependency, File outputDir) {
            logger.info("explodeAar: Extracting ${compileDependency.path} 
          -> ${outputDir.path}")

            if (compileDependency.name.endsWith(".aar")) {
                java.util.jar.JarFile jar = new 
                java.util.jar.JarFile(compileDependency)
                Enumeration enumEntries = jar.entries()
                while (enumEntries.hasMoreElements()) {
                    java.util.jar.JarEntry file = (java.util.jar.JarEntry) 
                    enumEntries.nextElement()
                    if (file.name.endsWith(".jar")) {
                        def targetFile = new File(outputDir, file.name)
                        InputStream inputStream = jar.getInputStream(file)
                        new File(targetFile.parent).mkdirs()
                        Files.copy(inputStream, targetFile.toPath(), 
                     StandardCopyOption.REPLACE_EXISTING);
                    }
                    if (file.isDirectory()) {
                        continue
                    }
                }
                jar.close()
            } else if (compileDependency.name.endsWith(".jar")) {
                copy {
                    from compileDependency.absolutePath
                    into outputDir
                }
            }
        }


def md5(String string) {
    MessageDigest digest = MessageDigest.getInstance("MD5");
    digest.update(string.bytes);
    return new BigInteger(1, digest.digest()).toString(16).padLeft(32, '0');
}

Я ожидал завершенной сборки но вместо этого получим: запуск не удался: файл сборки '... android / app / build.gradle': 473: определение метода здесь не ожидается. Пожалуйста, определите метод в соответствующем месте или, возможно, попробуйте вместо этого использовать блок / закрытие. на линии: def explodeAar (Файл compileDependency, Файл outputDir) { ^

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