2013-06-19 14 views
7

Bir Gradle oluşturulduktan sonra imzalı APK'yı FTP'ye deniyorum. APK'yı imzalayacak yeni yapı yapılandırmasını zaten ekledim, ancak bir FTP görevini nasıl çağıracağımı anlamaya çalışıyorum. karınca Commons-net: 1.8.4 Android Gradle derlemesinden bir dosyaya nasıl dosya yollanır?

Ben ancak bunun bağımlılık org.apache.ant çözemezse mızmızlanır section 59.6 resmi bir seyir örneği buldu. Görünüşe göre, belli bir kavanoz dosyasını nereye koyacağımı ya da referans verdiğim gibi, burada bariz bir şeyi kaçırıyorum, ancak maven'in bu tür bir şeyi halledeceğini düşündüm.

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") 
     } 
    } 
} 

Bu mesajla başarısız:

Başvuru için, burada bağımlılık bir mesajla başarısız bağlantılı örneğidir İşte

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

benim tam gradle.build dosyasıdır, Bazı hassas bilgiler kaldırıldı:

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)") 
      } 
     } 
    } 
} 

cevap

1

Bu c beyan edilen eserleri çözmek için kullanılır. hiçbir dış bağımlılıkları ile çalışır,

+0

Teşekkürler, ancak yapı dosyamda var. Sorumu güncelledim. –

+0

Hayır, yalnızca pasaj eklentileriniz için bir depo (buildscript bölümündeki depo bloğu) ilan ettiniz, pasajımda yaptığım gibi bir üst seviyeye ihtiyacınız var. Gelecekte eklentileri uygulamak daha kolay hale getirmek ve bunu daha kolay hale getirmek için planlar vardır. –

+0

Haklısın ... bu düzeltildi. Teşekkürler –

0

Ayrıca FTP destekler yerli karınca olsun görevi kullanabilirsiniz

repositories{ 
    mavenCentral() 
} 

alkış

René: senin build.gradle dosyasına aşağıdaki pasajı eklemeyi deneyin

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