2014-11-26 29 views
5

installDebug adlı gradient görevini düzenlemek istiyorum. Görev (veya komut dosyası) nerede bulunur? Belki bu betik ikili kodda bulunur ve ben bunu değiştirmeyeceğim?Gradle yükleme görevleri nasıl değiştirilir

Gerçekten, adb için bir şey düzenleme seçeneği çalıştırmak istiyorum. Örnek: Benim görevim içermelidir: gibi

  1. Çalıştır adb doğrudan
  2. Çalıştır "debugInstall" gradles görevi "adb 192.168.1.2:5555 bağlamak". Düzenleme debugTask mümkünse:

Ne yapmalıyım .. adb benim adb sunucuda sonra açık apk -

  • gibi bir şey, Do? Veya build.grade'u düzenleyin ve kendi görev betiğini hazırlayın?

  • cevap

    3

    'u kullanabilirsiniz. Tüm görevler, komut dosyasının başlangıcında veya build.gradle betiğinin kendisinde veya eklentinin içinde bulunur.

    installDebug görev bildiğim kadarıyla android eklenti hatırladığınız tarafından sağlanmaktadır. Her bir görev sırayla yürütülen eylemlerden oluşur. Başlamak için Here's yer.

    , dahili eylemler listesinin başlangıcında başlangıcına bir görev ekleme eylemi'u genişletebilirsiniz.

    Yani:

    //this piece of code will run *adb connect* in the background 
    installDebug.doFirst { 
        def processBuilder = new ProcessBuilder(['adb', 'connnect', '192.168.1.2:5555']) 
        processBuilder.start() 
    } 
    
    installDebug.doLast { 
        //Do something, like - adb then open apk on my adb server.. 
    } 
    

    Burada iki işlem installDebug göreve eklenmiştir. gradle installDebug'u çalıştırırsanız, ilk eylemi, ardından görevin kendisini ve son olarak tanımlanan ikinci eylemi çalıştırır. Genel olarak bu kadar.

    +0

    Tek bir görevde birkaç exec (commandLine) nasıl yapılır? – Andreyua

    +0

    Hayır, bu mümkün değil. Yapabilecekleriniz, tüm bu komutları çalıştıracak ve bu betiği çalıştıracak ya da tek komutun cevabım içinde çalıştığı şekilde birden çok komut çalıştırabilecek bir komut dosyası yazmaktır. – Opal

    2

    Yapınıza build.gradle ekleyebilir ve komut satırında arayabilirsiniz. {
    CommandLine 'adb', 'connect', '192.168.200.92'
    }

    sonra ararım gradle adbConnect connectedCheck:

    görev adbConnect (Exec Türü:) Bu benim yaptığım budur ancak grab adbConnect debugInstall

    +0

    Teşekkürler, ama bundan sonra iki kere gradle komutlarını çalıştırmalıyım? Bir kere değil mi? – Andreyua

    +0

    Hayır, birbiri ardına birkaç komut koyabilirsiniz. grab adbConnect debugInstall, adbConnect'i çalıştırır, sonra debugInstall. Bazen ilk komutta "temiz" ekliyorum. – Gerald

    İlgili konular