当前位置: 首页 > 知识库问答 >
问题:

如何从Android Gradle构建FTP文件?

贺功
2023-03-14

我试图在Gradle构建后FTP签名的APK。我已经添加了将签署APK的新构建配置,但是我一直在试图弄清楚如何调用FTP任务。

我在第59.6节找到了一个官方的示例,但是它抱怨说它无法解决依赖关系。阿帕奇。蚂蚁:蚂蚁公地网:1.8.4。很明显,我在这里遗漏了一些明显的东西,比如把一个给定的jar文件放在哪里或者引用它,尽管我认为maven会处理这类事情?

作为参考,以下是链接的示例,该示例失败时会显示一条关于依赖关系的消息:

configurations {
    ftpAntTask
}

dependencies {
    ftpAntTask("org.apache.ant:ant-commons-net:1.8.4") {
        module("commons-net:commons-net:1.4.1") {
            dependencies "oro:oro:2.0.8:jar"
        }
    }
}

task ftp << {
    ant {
        taskdef(name: 'ftp',
                classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP',
                classpath: configurations.ftpAntTask.asPath)
        ftp(server: "ftp.apache.org", userid: "anonymous", password: "me@myorg.com") {
            fileset(dir: "htdocs/manual")
        }
    }
}

这在消息中失败:

> Could not find org.apache.ant:ant-commons-net:1.8.4.

这是我的全集。生成文件,删除了一些敏感信息:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}

apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 17
    }

    signingConfigs {
        signed {
            storeFile file("(removed)")
            storePassword "(removed)"
            keyAlias "(removed)"
            keyPassword "(removed)"
        }
     }

    buildTypes {
        signed {
            debuggable false
            jniDebugBuild false
            signingConfig signingConfigs.signed
        }
    }
}

configurations {
    ftpAntTask
}

dependencies {
    ftpAntTask("org.apache.ant:ant-commons-net:1.8.4") {
        module("commons-net:commons-net:1.4.1") {
            dependencies "oro:oro:2.0.8:jar"
        }
    }
}

task ftp << {
    ant {
        taskdef(name: 'ftp',
                classname: 'org.apache.tools.ant.taskdefs.optional.net.FTP',
                classpath: configurations.ftpAntTask.asPath)
        ftp(server: "(removed)", userid: "(removed)", password: "(removed)", remoteDir: "(removed)") {
            fileset(dir: "(removed)") {
                include(name: "(removed)")
            }
        }
    }
}

共有2个答案

李昱
2023-03-14

您还可以使用本机ant get任务,该任务支持FTP,无外部依赖项:

  ant {
    get(src: "ftp://<hostname>/remote/path/to/file.jar", dest: "/local/path/to/file", username: 'anonymous', password: 'anonymous')
  }
汪坚
2023-03-14

您尚未声明可用于解析已声明工件的存储库。尝试将以下代码段添加到生成中。渐变文件:

repositories{
    mavenCentral()
}

干杯

勒内

 类似资料:
  • 我想从OkHttp库源代码构建一个jar文件,以便在我的android应用程序中使用快照版本。我不知道怎么做。 欢迎任何帮助。谢了。

  • 我有2个数据文件: 1个文件是头文件,另一个是数据文件。头文件有2列(Id,标记):头。txt文件 现在我试图创建一个dataFrame Schema头文件:(我必须使用这种方法,因为在实时,有1000列header.txtdata.txt.所以,手动创建1000列的案例类是不可能的。 但是上面的行失败了,无法解决重载方法结构类型。 有人能帮忙吗

  • 本文向大家介绍java实现ftp上传 如何创建文件夹,包括了java实现ftp上传 如何创建文件夹的使用技巧和注意事项,需要的朋友参考一下 java如何实现ftp上传?如何创建文件夹? 最佳答案: 准备条件:java实现ftp上传用到了commons-net-3.3.jar包 首先建立ftphost连接 然后再利用ftpclient的makeDirectory方法创建文件夹 断开host连接 最后

  • 问题内容: 我正在考虑将我用Eclipse编写的Web服务部署到EAR文件。我可以将其导出为WAR,并很好地将其部署在Tomcat上,但是最终产品将不在Tomcat上,也不会是WAR文件。我需要将Websphere用作服务器,我可以访问它并可以部署有效的EAR文件……如果我要部署EAR文件。 简而言之,我如何从Eclipse中的Dynamic Web Project导出EAR文件? 问题答案: 您

  • 问题内容: 我有一个简单的python脚本,它导入了我编写的其他各种模块(依此类推)。由于我的环境,我的PYTHONPATH很长。我也在使用Python 2.4。 我需要做的是以某种方式打包我的脚本和所有不属于标准python的依赖项,以便可以将单个文件通过电子邮件发送到要执行该文件的另一个系统。我知道python的目标版本是相同的,但是在Windows上的linux上。否则,我只会使用py2ex

  • 我遵循了关于创建Android库的官方指南,但有些东西似乎不太适合我。 我的项目由两个模块组成。一个名为“app”的app模块和一个名为“BFSDK”的库模块。在我的应用程序的文件中,我包含了库,如下所示: 然后在我的库模块中,my在第一行指定它是库: 在Project窗口中选择库模块,然后单击Build>Build APK 这将构建AAR文件。然而: 当我点击这个并等待整个构建过程完成时,我在任