2017-03-31 159 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方法内部一样。 –

相关问题