0

当我使用 gradle 任务创建一个 android.apk文件时,它会将其输出build\javafxports\android到项目的文件夹(常规文件和未对齐文件)。我找不到更改输出文件夹的设置。

当我jar在 Eclipse 中导出时,我可以指定一个目标文件夹。我怎么能用apk文件做到这一点?

这是我的build.gradle文件:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.1.1'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
    maven {
        url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
    }
}

mainClassName = 'com.gluonapplication.GluonApplication'

dependencies {
    compile 'com.gluonhq:charm:4.0.1'
}

jfxmobile {
    downConfig {
        version = '3.0.0'
        plugins 'display', 'lifecycle', 'statusbar', 'storage'
    }
    android {
        compileSdkVersion = 24
        manifest = 'src/android/AndroidManifest.xml'
        androidSdk = 'C:/Users/Mark/AppData/Local/Android/sdk'
    }
    ios {
        infoPList = file('src/ios/Default-Info.plist')
        forceLinkClasses = [
                'com.gluonhq.**.*',
                'javax.annotations.**.*',
                'javax.inject.**.*',
                'javax.json.**.*',
                'org.glassfish.json.**.*'
        ]
    }
}
4

2 回答 2

1

jfxmobile 插件允许更改创建 apk 的路径。

使用installDirectory

jfxmobile {
    downConfig {
        version = '3.0.0'
        plugins 'display', 'lifecycle', 'statusbar', 'storage'
    }
    android {
        installDirectory = file('/full/path/of/custom/folder')
        manifest = 'src/android/AndroidManifest.xml'
    }
}

请注意,该文件夹应该在运行android任务之前存在。目前,该插件管理默认安装文件夹(删除它和 apk,如果存在,并在每次运行时再次创建它)。所以你必须自己做,否则任务会跳过它。

编辑

如果需要,可以修改的全局变量列表在这里,但当前包含在插件中的变量的完整列表可以在插件源代码中找到。

像这样的变量installDirectory由插件内部使用,它们使用默认值初始化,执行一些操作,例如删除以前的目录并再次创建它(因此 Gradle 执行任务)。在覆盖的情况下,这些操作将不会被执行,因此您应该自己处理(或为此创建任务)。

于 2016-11-10T10:19:35.903 回答
0

这适用于标准android 插件来更改生成的 APK 的目录:

android {
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFile = file("/some/dir/" + variant.name + "/" + archivesBaseName + ".apk")
        }
    }
}
于 2016-11-10T04:57:00.683 回答