2

我需要創建一個使用谷歌的gcm和位置服務的Android庫。最初,我是在應用程序的模塊內部完成的,一切都很順利。創建一個使用谷歌播放服務的Android庫

現在我需要創建一個Android庫由一個以上的應用程序中使用,我有很多問題:

第一個是我的lib中沒有一個谷歌服務.json文件,因爲它應該使用應用程序的模塊來配置它自己。所以谷歌播放服務插件不工作在庫的build.gradle文件。

第二個是,它似乎是谷歌播放服務的插件檢測,我不是打電話apply plugin的lib的build.gradle內,默認使用該庫的9.0.0版本,甚至當我將其配置爲使用10.0.1。所以我也有一個奇怪的問題來運行我的應用程序,Unable to execute dex: Multiple dex files define ...

什麼是正確的方式來創建一個使用谷歌播放服務,也可以與Android應用程序,也使用谷歌播放服務的Android庫,服務?

回答

0

首先在您的圖書館,在build.gradle必須刪除

//apply plugin: 'com.google.gms.google-services' 

既然你不能有google-services.json文件,你不能使用該插件。
你必須加上需要的依賴關係,並且它足夠編譯到庫。

相反,在將使用庫的項目中,您必須添加插件和google-services.json文件。

0

我已經遇到了類似的情況,得出的結論是:

1- Android的圖書​​館應該有它

谷歌,services.json

文件,也應該聲明依賴和谷歌服務插件。

2 - 應用程序使用的庫可以有自己的

谷歌,services.json

文件和聲明的依賴性。

這裏要指出的一點是,我們應該使用相同版本的依賴和谷歌服務插件。

另外同時加入庫的依賴關係,

傳遞=真

加入。

+0

但爲什麼我應該有這個文件?如果你看看Intercom Android Sdk安裝,他們不會使用新的googleservices.json。傳遞是有道理的,會嘗試! –

0

我在互聯網上發現,你的這個錯誤通常是由你在項目中使用的庫(重複)的多個副本引起的。進入項目結構 - >模塊,然後檢查目標或apk-libs文件夾,如果有多個副本。在此之後,做一個乾淨的項目。

有關此問題的更多解決方法,請檢查相關SO question

現在,對於您關於創建使用google-play-services的Android庫的問題,請嘗試檢查此tutorial是否可以幫助您。它提供了可以遵循的屏幕截圖。

欲瞭解更多信息,請查看這些線程:

0

即使無效緩存並重新啓動Android Studio之後。唯一解決我的問題是重新啓動計算機。不知道如何,但突然一切都恢復正確。

相關問題