2017年11月1日17:33:04更新
一.構建
1.maven 添加多個url
在項目構建的過程中,我們經常會遇到依賴很多庫的情況,那么添加多個url的解決辦法就在下面啦。
allprojects {
repositories {
jcenter()
maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }
maven { url "https://jitpack.io" }
}
}
二.多媒體
1.從imageview中獲得bitmap的方法
經常會遇到從view中獲取bitmap的問題,那么這里提供一個簡單的方法
Bitmap bm =((BitmapDrawable) ((ImageView) image).getDrawable()).getBitmap();
三.Material Design
1.水波紋
水波是個好東西,點擊一下會有很靈動的效果,那么在Android5.0上怎么實現呢?其實只需要在空間上添加一個屬性
android:background="?android:attr/selectableItemBackground"
四.編譯錯誤
1.導入文件重復
無論是在構建debug版本或者是構建release版本都可能出現的錯誤,根據字面意思可以知道就是導入的文件重復,那么第一反應就是刪一份,那么我們可以看看他們都在哪里,(Double Shift快捷鍵搜索或者手動打開lib查找)
那么找到了之后可以嘗試刪除,如果刪除之后又復現,可以嘗試build.gradle里查看是否有沖突的導入,刪掉依賴即可。
2.瓜皮問題?
描述:IDE突然報錯
//這里沒來的及截圖
Error:Execution failed for task ':app:processDebugResources'. > No slave process to process jobs, aborting
查詢多處無果,就連StackOverflow都沒有……失望,重啟AS,我擦!好了……真的是無語了。
3.找不到依賴項
描述:剛升級As3.0,新建了一個工程,結果出現一大片錯誤……不過錯誤的種類都是一樣的,如下
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.
查詢國內外網站都說是As3.0新配置的坑,但是又沒有一個能解決的方法,包括Android 開發者官網的方法也是看的一臉懵逼,后來也是在StackOverflow上面看到另一個問題的帖子,覺得他的問題跟我的很像,就抱著試試看的態度改了一下,然后就出現樓上那個瓜皮問題,重啟全部搞定。
那么改的是一個設置項 File->Setting->Gradle->offline Work勾去掉。
這里主要是本地工作的原因,導致依賴項沒有下載或者更新。
同時在As3.0中我們可以使用下面的依賴方法
//官方依賴
implementation 'com.android.support:appcompat-v7:26.1.0'
//第三方依賴
api 'com.airbnb.android:lottie:2.2.5'
當然,使用complie應該也是沒問題的,具體可以看上面的url。
4.導入項目問題
解決AndroidStudio導入項目在 Building gradle project info 一直卡住
5.Gradle問題(同4)
當我們能進入項目,但是還是不能編譯運行,我們可以考慮用于一個默認的gradler,在setting中選擇Use local gradle distribution,然后選擇Gradle 的目錄即可,這樣就不會每次根據項目中\gradle\wrapper\gradle-wrapper.properties 文件下載指定版本的gradle。而是使用指定的gradle
五.代碼錯誤
1.ButterKnife錯誤
如上圖代碼,使用了官方插件導入bind,看似不會報錯,但是實際上會報下面的錯誤
找不到控件,研究源碼可以看到,傳入的this作為目標,進行布局獲取,所以必須把butterknife.bind放在setContentView后面,但是代碼確實是這么寫的,那么哪里出問題了呢,看報錯log下面部分(圖未截完整),是該類父類里調用了butterknife.bind這句代碼,而父類不存在布局加載,所以導致空布局。
2.Github錯誤
將項目Share到Github的時候,雖然連得通,但是提示
git error setting certificate verify locations
這個錯誤是系統證書的問題,系統判斷到這個行為會造成不良影響,所以進行了阻止,只要設置跳過SSL證書驗證就可以了,打開gitbash,然后輸入
git config --global http.sslVerify false
此時導入就沒問題了。
六.UI問題
1.桌面小部件測試時候出現正在加載但是就是不出來
遇到這種情況最好檢查一下布局中,有沒有用到Google官方公布的在小部件中不支持的控件,如editview,cardview等v7控件,如果有只能尋找替代品了,這樣認識最快的解決方案了。