Android - 舊版GoogleAnalytics 轉新版 GoogleAnalytics 遇到一連串問題

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的撰寫