主要的問題是android studio 3.1的log相關的ui有很大的改變,
一開始根本就不知道詳細的log在哪裡。出錯的時候只看紅字的exception,卻又完全沒有提示到底是哪裡有問題,只給了你一堆exception xx more...
用之前的最終解決方案:build setting裡面加上 --debug --stacktrace,這些訊息也不會出現。也一直找不到討論...
直到搜尋到有人提醒「可以在Run/Build configuration裡面加上一個Gradle的指令,參數指定為build」,才看到Debug console的出現。而這才是真正該提到的解決問題的起點。
會顯示完整錯誤的debug console長這樣:
然後開始解決遇到的問題:
AAPT2相關:
- android:color/transparent之類的參數在AAPT2裡面已不給用。請自行定義@color/transparent
- <animated-vector> tag不被支援。
lint的錯誤被提升到會被abort的等級。而且麻煩的是,並不會一口氣列出全部的錯誤。可以一個個的解完重編到全部處理完。也可以強制跳過。
若要強制跳過的話,在各個module的build.gradle裡面加上:
android.lintOptions { abortOnError false}有遇到模組裡面需求了特殊的硬體權限,卻又沒有宣告在manifest裡面,就會導致lint error。
若是有用到第三方的套件需要從網路自動裝的話,build.gradle的repositories需加上設定:
repositories {
jcenter()
google()
}
假如是從2.3升上來的,通常會少「google()」這個參數。
解完問題之後,記得要切換Run/Build configuration回到Android App才能回到正常的編譯流程。另外要注意的是,gradle的build流程假如需要編譯的模組很多很大的時候,會相當緩慢。建議把記憶體開大一點。(gradle.properties裡面加上參數
org.gradle.jvmargs=-Xmx2048m)
然後找尋其他的資料的時候才發現,其實Debug console只要點選下圖標記的那個「toggle view」就會出現了... Orz 這樣大家就可以少走點冤枉路。
P.S: 在android 8.0使用google drive app點選製作好的已簽名apk進行下載安裝測試,可能會遇到「安裝包解析錯誤」的問題(就算是打開「允許安裝不明來源檔案」一樣會有問題)。這時請在google drive app上面改成長壓檔案,選擇下載,下載完畢之後再從系統事件條,或是檔案管理員的下載資料夾裡面點選檔案安裝,就會成功。
參考文件:
Android Studio 3.0正式版填坑之路 這一篇真的幫了不少忙。文中沒提到的其他細節這裡都有。
0 件のコメント:
コメントを投稿