最近把項目由eclipse遷移至AS的過程中發現了幾個問題,記錄一下處理方式。
問題一
描述:
有時候打開as時,會出現卡在Gradle Build Running......就是那種好幾分鐘都沒什麼變化的,一開始以為是更新gradle什麼的速度慢,後面發現開vpn也沒用
解決方法:
參考連結http://blog.csdn.net/hwe_xc/article/details/51074845
把騰x電腦管家關閉,重新開機as後瞬間就處理完了。估計3x0之類的管理軟體都有類似的問題。
問題二
描述:build工程的時候會出現以下報錯
:mergeDebugResources
Error: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:
:mergeDebugResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':mergeDebugResources'.
> Error: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException:
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
之後嘗試過加上stacktrace、info、debug參數,皆沒有更具體的錯誤資訊描述。
此時工程所使用的是com.android.tools.build:gradle:2.2.3,AS的版本也是2.2.3。
搜了下隻有github上有個小哥碰上類似的問題,暫無解決方案。
解決方法:
摸索了很久後,将build.gradle檔案中的gradle版本改為com.android.tools.build:gradle:2.2.2。重新build後出現錯誤日志說是9png檔案不符合标準,重新處理倆.9.png圖檔後build遂成功解決。
問題原因:懷疑是AS2.2.3自帶的2.2.3gradle存在錯誤日志輸出缺陷,導緻無法列印具體資訊。
問題三
描述:一開始AS剛更新到2.2.3的時候,一編輯module下的build.gradle檔案,AS就會馬上卡得不要不要的,就是那種突然被定住,連光标都不閃,過幾分鐘會有緩解,再編輯倆字元又卡住。
但是在代碼編輯就完全正常。
解決方法:參考了知乎上的回答,說是google repository 和Android support repository都得有,發現SDK中的google repository沒裝,安裝上去重新開機as後順暢得飛起
參考連結 回答作者: 奔馳的小鳥 http://zhihu.com/question/51285782/answer/131439051
問題四
描述:遷移後build成功的工程,運作後會出現兩個圖示相同的App,一個正常,另一個名為MainActivity且點開就閃退,删除其中一個則兩個都會被删除。
解決方法:檢查工程引用的library,發現某個library的AndroidManifest.xml裡生成了如下代碼
<category
android:name="android.intent.category.LAUNCHER"
/>
由于目前工程和所引用的library工程有重複聲明LAUNCHER導緻重複生成,删除library中的LAUNCHER聲明,重新運作就正常了。
參考連結 http://blog.csdn.net/y505772146/article/details/47859907
問題五
描述:遷移後的工程運作時無法找到.so檔案,引發crash
解決方法:確定引用的.jar和.so都在libs目錄裡(與eclipse目錄結構一緻)
在build.gradle中的android{sourceSet{main{}}}裡添加jniLibs.srcDirs = ['libs'],重新build運作即可。