Как упаковать сгенерированные файлы kotlin / js в каталог ресурсов приложения android? - PullRequest
0 голосов
/ 04 марта 2020

Я хотел бы использовать сгенерированные javascript из kotlin / js внутри веб-просмотра приложения android.

Я пытаюсь использовать сгенерированные файлы kotlin / js, находящиеся здесь:

https://github.com/darran-kelinske-fivestars/cordova-alternative-pattern/tree/kotlin_multiplatform/js/src/main/kotlin

Внутри папки активов приложения android здесь:

https://github.com/darran-kelinske-fivestars/cordova-alternative-pattern/tree/kotlin_multiplatform/app/src/main/assets

Каков наилучший способ упаковать сгенерированный js и поместить его в папку активов, чтобы я мог сослаться на него и отправить его с приложением android?

Мои первоначальные мысли таковы: сделать что-то вроде обработки iOS в примере проекта.

https://github.com/kotlin-hands-on/mpp-ios-android/blob/step-006/SharedCode/build.gradle.kts#L35 -L56

val packForXcode by tasks.creating(Sync::class) {
    group = "build"

    //selecting the right configuration for the iOS framework depending on the Xcode environment variables
    val mode = System.getenv("CONFIGURATION") ?: "DEBUG"
    val framework = kotlin.targets.getByName<KotlinNativeTarget>("ios").binaries.getFramework(mode)

    inputs.property("mode", mode)
    dependsOn(framework.linkTask)

    val targetDir = File(buildDir, "xcode-frameworks")
    from({ framework.outputDirectory })
    into(targetDir)

    doLast {
        val gradlew = File(targetDir, "gradlew")
        gradlew.writeText("#!/bin/bash\nexport 'JAVA_HOME=${System.getProperty("java.home")}'\ncd '${rootProject.rootDir}'\n./gradlew \$@\n")
        gradlew.setExecutable(true)
    }
}

tasks.getByName("build").dependsOn(packForXcode)
...