如何更改生成的 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 文件的默认输出文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

“app-release.apk”如何更改这个默认生成的apk名称,允许之后安装?

如何更改apk文件的名称?

Android如何生成签名文件

Android Studio打包生成APK教程

android如何生成签名apk文件

如何通过编辑清单文件来更改 apk 名称?