Android - 舊版GoogleAnalytics 轉新版 GoogleAnalytics 遇到一連串問題
這次,為了要用GA,比較進階的功能,結果複製程式碼過來不能用,
需要更換lib
將使用gradle設定
compile 'com.google.android.gms:play-services:8.1.0'
結果,出現以下錯誤
Execution failed for task ':mergeDebugResources'. > runching Cruncher call_mail.png failed,see logs
將一些錯誤的png檔,刪掉(剛好這些沒用到),就排除了。
接著又遇到
Execution failed for task ':dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_60\bin\java.exe" finished with non-zero exit value 2
尋找網路解,得到
在网上搜索好多,都说把java.exe结束掉就好了,其实则不然。这个错误产生的原因是你新导入的jar包与原有jar包冲突,你最好排查一下你所用库有没有导入以前的这些版本的jar包。同时也要注意,你导入的包与v4与v7版本一定要相互对应
然後,就將support library移除,換成gradle
compile 'com.android.support:appcompat-v7:21.0.1' compile 'com.android.support:support-v4:21.0.0'
繼續往下處理,又遇到
INSTALL_FAILED_CONFLICTING_PROVIDER
尋找網路解
http://startchris-blog.logdown.com/posts/245675-android-installation-errorinstall-failed-conflicting-provider-error-handling
記得這個我遇過。
所以gradle加入
defaultConfig { applicationId "xxx.com.xxx<PackageName>" }
這剛好又是 com.google.android.gms:play-services:8.1.0 這個bug所造成的,他裡面針對ContentProvider ,可能是檔案命名或什麼的,用了相同的名稱,導致跟其它app又用一樣的library,就會衝突到,
所以才需要加上applicationId為自己的 PackageName
總算可以開始進行GA的撰寫