Android集成第三方依賴庫
在此之前,首先先來總結(jié)一下Android集成三方依賴庫的方式Android也是基于java,所以大體上的集成第三方j(luò)ar代碼包跟java一個道理。
首先是最方便的一種方式Jcenter或者maven方式。官方都會提供這兩種的腳本語句,只需在app項目中添加即可(可以自行了解相關(guān)內(nèi)容)
//依賴的來源
repositories{
jcenter()
flatDir{
dirs'libs'
}
maven{url"https://s3.amazonaws.com/moat-sdk-builds"}
}
dependencies{
compile fileTree(include:['*.jar'],dir:'libs')
compile'com.android.support:design:27.1.1'
compile'com.android.support:appcompat-v7:27.1.1'
//在此處添加需要的依賴即可
compile project(':mopub-sdk-banner')
//注:高版本的gradle語言compile已經(jīng)過時(2018年底將會廢棄),使用implementation或者api來代替。
}
不管什么樣的api或者依賴庫官方一般都會提供這種方式,只需參考官方文檔即可。
如果需要導(dǎo)入的是第三方的jar代碼包,那么只需在Android項目中的libs(也可以是你自己命名的其他文件夾中)中,放入你需要的jar包。之后在項目中module的build.gradle文件中添加如下語句
//XXX為java包的名字
compile files('libs/XXX.jar')
或者在Android studio中的模塊配置中手動添加依賴包也可以,點擊Android studio左上角File->Project Structure,找到找到對應(yīng)的項目后,就可以看到項目的基本配置信息,然后選擇dependencies,點擊左上角的綠色+選擇要添加的依賴,有三種依賴方式可供選擇(Library/jar/model)選擇下載好的依賴包即可。
其次是第三方Android項目的sdk項目依賴
如果說需要導(dǎo)入的不是純粹的jar代碼包,而是一個功能模塊(module)。這時有兩種方式可以選擇,
一是修改sdk中g(shù)radle文件的配置信息主要是buildtoolsversion,以及使用到的一些v4,v7包的版本需要跟主體項目保持一致,其中的一些沒用可以刪去(dependencies中的一些依賴等),之后在app的setting.gradle中include后添加該sdk
//app的setting.gradle中
include':app',':mopub-sdk:mopub-sdk-banner'
另外一種是自己新建一個Android Library,項目上右鍵new→module(注意),將創(chuàng)建好的module中的src下的文件全部刪除,將下載的sdk中對應(yīng)的src文件夾中的東西復(fù)制過去,其他的也對應(yīng)復(fù)制即可。
之后在gradle文件中添加依賴。
Android集成Mopub
先給出官方文檔:
https://developers.mopub.com/docs/android/getting-started/
大致步驟按照官網(wǎng)來就行。各種廣告模式也參考官方文檔來即可。
在升級項目中的廣告sdk時候由于版本太舊所以踩了不少坑。再次總結(jié)一下:
由于使用方法推薦的方法時候(jcenter上獲?。┢渲杏幸粋€文件需要科學(xué)上網(wǎng),而遠程git上面跑測試時候的環(huán)境恰恰沒有外網(wǎng)所以測試一直是build失敗,所以這種方式無法使用。
//就是因為引用的這個網(wǎng)址無法訪問
maven{url"https://s3.amazonaws.com/moat-sdk-builds"}
所以采用module的方式集成,又因為項目中的gradle版本使用的是很舊的一個版本,而官方給出的新版本sdk模塊是使用的新版本gradle,直接丟進去有很多地方不兼容。所以要修改grade版本成一致,一是升級項目中的gradle(我這個項目比較大根目錄涉及多個app,很難搞,所以放棄這個方法)二是修改第三方module中的gradle
api以及implementation需要使用compile來代替(gradle3.1之前都需要)
錯誤:google()找不到
解決方法:將gradle中的google()修改為
maven{
url'https://maven.google.com/'
name'Google'
}
總結(jié)
總之期間是遇到了不少的困難,但是只要是遇到了問題那就一定有他的原因,遇到的并不是什么怪異現(xiàn)象,在網(wǎng)上搜總會有答案的,多利用google,并且大部分問題都可以在stackoverflow上面找到答案,關(guān)鍵的是要有一顆沉得住的心。