如何更改生成的apk文件的默认输出文件夹?
当我使用gradle任务创建一个android .apk
文件时,它会输出项目的build\javafxports\android
文件夹(常规和未对齐文件)。我无法找到更改输出文件夹的设置。如何更改生成的apk文件的默认输出文件夹?
当我在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.**.*'
]
}
}
的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执行任务)。在重写的情况下,这些动作不会被执行,所以你应该自己照顾(或者为此创建一个任务)。
这适用于标准Android插件改变所产生的APK的目录:
android {
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = file("/some/dir/" + variant.name + "/" + archivesBaseName + ".apk")
}
}
}
这不是有效的语法。看到关于这个问题的评论。谢谢。 – Mark
你有没有试过[这](http://stackoverflow.com/questions/22833297/how-to-define-apk-output-directory-when-using-gradle#23280937)? –
@MiroMarkaravanes谢谢,但语法似乎与我有什么不同。你能帮我转换吗?我添加了我的gradle文件。 – Mark