(android studio) gradle中利用maven下載apk等非jar文件的方法

(android studio) gradle中利用maven下載apk等非jar文件的方法

首先感謝Jiraiya的這篇文章提供了解決方案!

在我們使用android studio開始的時候祷舀,我們通常都會使用maven來下載需要的一些jar,aar資源。我們在實(shí)現(xiàn)android插件化的時候,可能會將某些模塊直接以apk的形式,和主程序打包發(fā)出來客扎。可這些模塊化的apk多起來的時候,我們就需要借助maven倉庫將這些apk管理起來垒探。可是我們通常在使用maven倉庫時怠李,都是如下所示

dependencies {
    compile 'com.crashlytics.sdk.android:crashlytics:2.2.4@aar'
}

這個時候圾叼,如果我們將compile里面的路徑替換成

dependencies {
    compile 'com.***.bundlemmp:test:0@apk'
}

編譯蛤克,報錯。

Dependency com.***.bundlemmp:test:0 on project app resolves to an APK archive which is not supported as a compilation dependency. :app:prepareDebugDependencies FAILED

因?yàn)閏ompile并不能對apk進(jìn)行編譯操作夷蚊。但是我們又需要通過maven對apk進(jìn)行下載构挤,并移動到指定的文件夾下,從而完成最終的打包操作惕鼓。

直接上代碼

在project的build.gradle文件中配置好maven庫的地址

allprojects {
    repositories {
        jcenter()
        maven{
            url 'http://192.168.58.38:8081/nexus/content/groups/public/'
        }
    }
}

下面是核心代碼

configurations {
    mrsFile
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:25.3.0'
    mrsFile 'com.***.bundlemmp:test:0@apk'
}

task downloadMRSFile(type:Copy){
    new File("${rootDir}/leo").mkdirs();
    configurations.mrsWar.resolve().each { file ->
        from file.getParent()+"/"+file.getName()
        into "${rootDir}/leo/"
    }
}

tasks.whenTaskAdded { task ->
    if (project.name.equals("app") && task.name.equals("mockableAndroidJar")) {
        task.dependsOn downloadMRSWar
    }
}

在主程序app中的build.gradle文件中配置好configurations筋现,聲明一個mrsFile。
然后在dependencies中通過mrsFile下載我們需要的apk
再自定義一個task箱歧,執(zhí)行下載矾飞,以及遷移apk到我們想要的目錄中去
最后還需要將這個tsask加入到build環(huán)節(jié)中,我這里用的是mockableAndroidJar這個task呀邢,你們也可以根據(jù)自己的實(shí)際情況去修改洒沦。不然downloadMRSFile這個task,會執(zhí)行不了copy的操作价淌。之所以使用gradle的copy操作微谓,是因?yàn)槲覀兿螺d的文件,在本地的maven倉庫中會有緩存输钩,我們可以通過println file.getPath()來查看具體的位置豺型。這樣,我們使用copy之后买乃,可以避免重復(fù)的下載姻氨。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市剪验,隨后出現(xiàn)的幾起案子肴焊,更是在濱河造成了極大的恐慌,老刑警劉巖功戚,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娶眷,死亡現(xiàn)場離奇詭異,居然都是意外死亡啸臀,警方通過查閱死者的電腦和手機(jī)届宠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乘粒,“玉大人豌注,你說我怎么就攤上這事〉破迹” “怎么了轧铁?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長旦棉。 經(jīng)常有香客問我齿风,道長药薯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任救斑,我火速辦了婚禮童本,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘系谐。我一直安慰自己巾陕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布纪他。 她就那樣靜靜地躺著鄙煤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茶袒。 梳的紋絲不亂的頭發(fā)上梯刚,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音薪寓,去河邊找鬼亡资。 笑死,一個胖子當(dāng)著我的面吹牛向叉,可吹牛的內(nèi)容都是我干的锥腻。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼母谎,長吁一口氣:“原來是場噩夢啊……” “哼瘦黑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起奇唤,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤幸斥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后咬扇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體甲葬,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年懈贺,在試婚紗的時候發(fā)現(xiàn)自己被綠了经窖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡隅居,死狀恐怖钠至,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胎源,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布盟蚣,位于F島的核電站娩践,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏望众。R本人自食惡果不足惜万栅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一佑钾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烦粒,春花似錦休溶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至徒役,卻和暖如春孽尽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忧勿。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工杉女, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸳吸。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓熏挎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親晌砾。 傳聞我的和親對象是個殘疾皇子坎拐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容