如何更改生成的 apk 文件的默认输出文件夹?
Posted
技术标签:
【中文标题】如何更改生成的 apk 文件的默认输出文件夹?【英文标题】:How to change the default output folder for generated apk files? 【发布时间】: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 文件。 【参考方案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。不过谢谢。以上是关于如何更改生成的 apk 文件的默认输出文件夹?的主要内容,如果未能解决你的问题,请参考以下文章