2014-05-03 77 views
2

是否有可能做這樣的事情:在搖籃/ Android的工作室編譯罐在搖籃

compile files('http://ho.st/jar/MyLibrary.jar') 

可能的優點:

  1. 隨時獲得最新的版本(你並不總是有最新的版本,如果你不得不手動下載並複製它)
  2. 即使工作時,庫不發佈到該maven存儲庫

或者我必須每次下載和複製它?

回答

0

我不知道你是否可以直接從URL編譯文件。

解決方法是創建自己的「maven」存儲庫(不是非常方便,因爲您始終需要在新的repo中添加JAR,但使用此解決方案時,它「即使在圖書館未發佈給maven庫「)。

repositories { 
    maven { 
      url "http://..." 
    } 
} 

dependencies { 
    compile 'MyLibrary' 
} 

但據我所知,從URL下載不是一個可行的選擇。

而且,看看這個代碼(未測試):

dependencies { 
    compile ('my-custom-library:1.0') { 
     artifact { 
      name = 'my-custom-library' 
      extension = 'jar' 
      type = 'jar' 
      url = 'http://....' 
     } 
    } 
} 
+0

後下載一個新的副本謝謝,以後再測試一下 – user3593022

0

這個工作對我來說:

def urlFile = { url, name -> 
    File file = new File("$buildDir/download/${name}.jar") 
    file.parentFile.mkdirs() 
    if (!file.exists()) { 
     new URL(url).withInputStream { downloadStream -> 
      file.withOutputStream { fileOut -> 
       fileOut << downloadStream 
      } 
     } 
    } 
    files(file.absolutePath) 
} 
dependencies { //example 
    compile urlFile('https://github.com/java-native-access/jna/blob/4.2.2/lib/native/android-arm.jar?raw=true', 'jna-android-arm') 
} 

它將刪除build目錄