2017-03-31 160 views
-1

我已經實現了某些Android應用程序,這個應用程序有一些活動,視圖,片段,谷歌分析,crashlytics,gcm(雲消息,領域,改造,rx java等)。將一個Android應用程序導入其他應用程序

我需要將此應用程序作爲模塊/庫導入到其他應用程序中,以便使用導入的應用程序的資源,活動,視圖和其他類。

我想我應該添加一個模塊,然後在main:app模塊中添加編譯項目('asdasd')到依賴項。

我不太確定AndroidManifest.xml。我應該將導入項目的AndroidManifest.xml中的所有數據移動到主項目中嗎?如何處理谷歌analytycs,gcm(它連接到包名稱),插件(面料,領域,...)

我想要的是在主項目中使用導入項目的活動。但是Application類呢?應該在哪裏宣佈?因爲我在應用程序啓動時使用了一些實例。

另外我不明白導入的項目包名稱會發生​​什麼。

+0

[如何將IntelliJ android應用程序項目轉換爲android庫項目?](http://stackoverflow.com/questions/34230015/how-to-convert-intellij-android-app-project-into-android -library-project) – petey

+0

@petey謝謝,這很有幫助。 –

回答

1

您需要創建AAR當前項目的Android歸檔文件。基本上.aar包是Android庫項目的二進制分發。 AAR類似於JAR文件,但它可以包含資源以及編譯的字節碼。 AAR文件可以包含在類似於JAR文件的Android應用程序的構建過程中。稍後,您可以將其添加爲新項目中的模塊依賴項,並且您將能夠重新使用其組件。

您也可以像您說的那樣將它作爲模塊導入到您的新項目中。

有關GCM和其他第三方庫合併的查詢將在Android Studio進行合併時進行處理。

+0

好的。我知道了。無論如何,我無法使用模塊中的Application類,導致主項目中會有其他Application類。所以我需要將初始化複製到其他應用程序文件? –

+0

您可以讓您的應用程序項目中的Application類從作爲庫項目的Application類擴展。 – petey

+0

@petey這不是那麼好,我在庫中添加了一個特殊的類,它使用主應用程序Application類中的1行代碼初始化庫應用程序。與Realm.init(this)在Ap​​plication的onCreate方法內部一樣。 –

相關問題