【问题标题】:How to change the default output folder for generated apk files?如何更改生成的 apk 文件的默认输出文件夹?
【发布时间】:2017-03-23 22:21:01
【问题描述】:

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

当我在 Eclipse 中导出 jar 时,我可以指定一个目标文件夹。我如何也可以使用 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.**.*'
        ]
    }
}

【问题讨论】:

  • 你试过this吗?
  • @MiroMarkaravanes 谢谢,但语法似乎与我所拥有的不同。你能帮我转换一下吗?我添加了我的 gradle 文件。

标签: android eclipse gradle gluon-mobile buildship


【解决方案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,如果存在,并在每次运行时再次创建它)。所以你必须自己做,否则任务会跳过它。

编辑

如果需要,打算修改的全局变量列表是here,但插件中当前包含的变量的完整列表可以在插件source code 中找到。

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

【讨论】:

  • 谢谢。是否应该在此处列出该选项docs.gluonhq.com/charm/4.1.0/#_properties_3
  • 不,它没有在此处列出,因为它最初并不打算被覆盖。这就是为什么你必须小心删除它的内容。
  • 好的。那么在某个地方是否有所有选项的列表?比如你是怎么知道那个的?我更喜欢阅读而不是问每一件事。
  • 去源头...它是开放的! Here 您可以在脚本中找到可以在外部修改的所有全局变量。其中一些是为此而设计的,并列在文档中。
【解决方案2】:

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

android {
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFile = file("/some/dir/" + variant.name + "/" + archivesBaseName + ".apk")
        }
    }
}

【讨论】:

  • 这不是有效的语法。请参阅有关问题的 cmets。不过谢谢。
猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 2017-11-05
  • 2023-04-09
  • 2016-05-30
  • 2016-03-28
  • 1970-01-01
  • 2018-04-09
  • 2015-03-19
相关资源
最近更新 更多