Tôi đang cố gắng FTP APK đã ký sau khi xây dựng Gradle. Tôi đã thêm cấu hình xây dựng mới sẽ ký APK, nhưng tôi đang cố gắng tìm ra cách gọi một tác vụ FTP.Làm thế nào để FTP một tập tin từ một Android Gradle xây dựng?
Tôi tìm thấy mẫu tìm kiếm chính thức tại section 59.6, tuy nhiên, nó phàn nàn rằng nó không thể giải quyết sự phụ thuộc org.apache.ant: ant-commons-net: 1.8.4. Vì vậy, dường như tôi đang thiếu một cái gì đó hiển nhiên ở đây, giống như nơi để đặt một tập tin jar hoặc tham khảo nó, mặc dù tôi nghĩ rằng maven sẽ xử lý loại điều này?
Để tham khảo, đây là mẫu liên kết mà không thành công với một thông điệp về sự phụ thuộc:
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: "[email protected]") {
fileset(dir: "htdocs/manual")
}
}
}
này không thành công với thông điệp:
> Could not find org.apache.ant:ant-commons-net:1.8.4.
Dưới đây là hoàn toàn tập tin gradle.build của tôi, với một số thông tin nhạy cảm bị xóa:
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)")
}
}
}
}
Cảm ơn, nhưng, tôi có điều đó trong tệp xây dựng của mình. Tôi đã cập nhật câu hỏi của mình. –
Không, bạn chỉ cần khai báo một kho lưu trữ cho các plugin gradle của bạn (khối kho lưu trữ trong phần buildscript), bạn cần một cái khác trên toplevel như tôi đã thực hiện nó trong đoạn mã của tôi. Có những kế hoạch để làm cho dễ dàng hơn để áp dụng các plugin trong tương lai và làm cho điều này dễ dàng hơn. –
Bạn đúng ... đã sửa nó. cảm ơn –