2017年11月1日17:33:04更新
一.構(gòu)建
1.maven 添加多個url
在項目構(gòu)建的過程中,我們經(jīng)常會遇到依賴很多庫的情況澈蝙,那么添加多個url的解決辦法就在下面啦。
allprojects {
repositories {
jcenter()
maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }
maven { url "https://jitpack.io" }
}
}
二.多媒體
1.從imageview中獲得bitmap的方法
經(jīng)常會遇到從view中獲取bitmap的問題,那么這里提供一個簡單的方法
Bitmap bm =((BitmapDrawable) ((ImageView) image).getDrawable()).getBitmap();
三.Material Design
1.水波紋
水波是個好東西愉老,點擊一下會有很靈動的效果舌稀,那么在Android5.0上怎么實現(xiàn)呢啊犬?其實只需要在空間上添加一個屬性
android:background="?android:attr/selectableItemBackground"
四.編譯錯誤
1.導(dǎo)入文件重復(fù)
無論是在構(gòu)建debug版本或者是構(gòu)建release版本都可能出現(xiàn)的錯誤,根據(jù)字面意思可以知道就是導(dǎo)入的文件重復(fù)扩借,那么第一反應(yīng)就是刪一份椒惨,那么我們可以看看他們都在哪里,(Double Shift快捷鍵搜索或者手動打開lib查找)
那么找到了之后可以嘗試刪除潮罪,如果刪除之后又復(fù)現(xiàn),可以嘗試build.gradle里查看是否有沖突的導(dǎo)入领斥,刪掉依賴即可嫉到。
2.瓜皮問題?
描述:IDE突然報錯
//這里沒來的及截圖
Error:Execution failed for task ':app:processDebugResources'. > No slave process to process jobs, aborting
查詢多處無果月洛,就連StackOverflow都沒有……失望何恶,重啟AS,我擦嚼黔!好了……真的是無語了细层。
3.找不到依賴項
描述:剛升級As3.0,新建了一個工程唬涧,結(jié)果出現(xiàn)一大片錯誤……不過錯誤的種類都是一樣的疫赎,如下
Error:Unable to resolve dependency for ':app@debug/compileClasspath':
Could not resolve project :library.
Error:Unable to resolve dependency for ':app@release/compileClasspath':
Could not resolve project :library.
查詢國內(nèi)外網(wǎng)站都說是As3.0新配置的坑,但是又沒有一個能解決的方法碎节,包括Android 開發(fā)者官網(wǎng)的方法也是看的一臉懵逼捧搞,后來也是在StackOverflow上面看到另一個問題的帖子,覺得他的問題跟我的很像狮荔,就抱著試試看的態(tài)度改了一下胎撇,然后就出現(xiàn)樓上那個瓜皮問題,重啟全部搞定殖氏。
那么改的是一個設(shè)置項 File->Setting->Gradle->offline Work勾去掉晚树。
這里主要是本地工作的原因,導(dǎo)致依賴項沒有下載或者更新雅采。
同時在As3.0中我們可以使用下面的依賴方法
//官方依賴
implementation 'com.android.support:appcompat-v7:26.1.0'
//第三方依賴
api 'com.airbnb.android:lottie:2.2.5'
當(dāng)然爵憎,使用complie應(yīng)該也是沒問題的,具體可以看上面的url总滩。
4.導(dǎo)入項目問題
解決AndroidStudio導(dǎo)入項目在 Building gradle project info 一直卡住
5.Gradle問題(同4)
當(dāng)我們能進(jìn)入項目纲堵,但是還是不能編譯運行,我們可以考慮用于一個默認(rèn)的gradler闰渔,在setting中選擇Use local gradle distribution席函,然后選擇Gradle 的目錄即可,這樣就不會每次根據(jù)項目中\(zhòng)gradle\wrapper\gradle-wrapper.properties 文件下載指定版本的gradle冈涧。而是使用指定的gradle
五.代碼錯誤
1.ButterKnife錯誤
如上圖代碼茂附,使用了官方插件導(dǎo)入bind正蛙,看似不會報錯,但是實際上會報下面的錯誤
找不到控件营曼,研究源碼可以看到乒验,傳入的this作為目標(biāo),進(jìn)行布局獲取蒂阱,所以必須把butterknife.bind放在setContentView后面锻全,但是代碼確實是這么寫的,那么哪里出問題了呢录煤,看報錯log下面部分(圖未截完整)鳄厌,是該類父類里調(diào)用了butterknife.bind這句代碼,而父類不存在布局加載妈踊,所以導(dǎo)致空布局了嚎。
2.Github錯誤
將項目Share到Github的時候,雖然連得通廊营,但是提示
git error setting certificate verify locations
這個錯誤是系統(tǒng)證書的問題歪泳,系統(tǒng)判斷到這個行為會造成不良影響,所以進(jìn)行了阻止露筒,只要設(shè)置跳過SSL證書驗證就可以了呐伞,打開gitbash,然后輸入
git config --global http.sslVerify false
此時導(dǎo)入就沒問題了邀窃。
六.UI問題
1.桌面小部件測試時候出現(xiàn)正在加載但是就是不出來
遇到這種情況最好檢查一下布局中荸哟,有沒有用到Google官方公布的在小部件中不支持的控件,如editview瞬捕,cardview等v7控件鞍历,如果有只能尋找替代品了,這樣認(rèn)識最快的解決方案了肪虎。