Объединение двух проектов

217
10 декабря 2021, 10:20

У меня есть рабочий проект1. К нему нужно подключить другой проект2 (игра типа Flappy Bird с gdx) так, чтобы при нажатии кнопки в проект1 запускался проект2. Пробовал создавать новый модуль (File - new - new module - import gradle project), но выдает ошибку:
ERROR: Could not find method android() for arguments [build_7d6l7zj9vf20cw94f5sw0836x$_run_closure1@1055f1ff] on project ':android' of type org.gradle.api.Project.
Вот где это:

android {
    buildToolsVersion "29.0.2"
    compileSdkVersion 29
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }
    }
    packagingOptions {
        exclude 'META-INF/robovm/ios/robovm.xml'
    }
    defaultConfig {
        applicationId "com.mygdx.game"
        minSdkVersion 14
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
task copyAndroidNatives {
    doFirst {
        file("libs/armeabi/").mkdirs()
        file("libs/armeabi-v7a/").mkdirs()
        file("libs/arm64-v8a/").mkdirs()
        file("libs/x86_64/").mkdirs()
        file("libs/x86/").mkdirs()
        configurations.natives.files.each { jar ->
            def outputDir = null
            if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
            if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
            if(jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
            if(jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
            if(jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
            if(outputDir != null) {
                copy {
                    from zipTree(jar)
                    into outputDir
                    include "*.so"
                }
            }
        }
    }
}
tasks.whenTaskAdded { packageTask ->
    if (packageTask.name.contains("package")) {
        packageTask.dependsOn 'copyAndroidNatives'
    }
}
task run(type: Exec) {
    def path
    def localProperties = project.file("../local.properties")
    if (localProperties.exists()) {
        Properties properties = new Properties()
        localProperties.withInputStream { instr ->
            properties.load(instr)
        }
        def sdkDir = properties.getProperty('sdk.dir')
        if (sdkDir) {
            path = sdkDir
        } else {
            path = "$System.env.ANDROID_HOME"
        }
    } else {
        path = "$System.env.ANDROID_HOME"
    }
    def adb = path + "/platform-tools/adb"
    commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.mygdx.game/com.mygdx.game.AndroidLauncher'
}  

Пробовал, как в
Как в Android Studio подключить в один проект другой, независимый от текущего
но изменений в структуре проект1 не наблюдал.

Подскажите, пожалуйста, как это осуществить!

READ ALSO
В чём ошибка? Почему не работает? [закрыт]

В чём ошибка? Почему не работает? [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

254
Как правильно написать условие для сравнения строки класса StringBuilder с её реверсом и поместить это в цикл?

Как правильно написать условие для сравнения строки класса StringBuilder с её реверсом и поместить это в цикл?

Суть задачи: дана строкаИз неё нужно сделать палиндром (когда слово читается одинаково и с начала и с конца) минимально возможной длины

214
Как работает <? extends SomeClass> в Map<K,V>?

Как работает <? extends SomeClass> в Map<K,V>?

Есть два класса EJPlayer (Интерфейс) и EPlayer (Дочерний)

104