可重用的Android库如何运行(开发,部署等)

|| 我正在尝试为我的Android项目创建可重用的库。该库将包含资源。不幸的是,我找不到关于Android库运行方式的任何恰当的解释。 Android参考只是说明了如何设置Eclipse项目和Ant项目。我正在使用Maven和IntelliJ。如果我能找到关于所有部分如何协同工作的任何合适描述,我将想出如何设置它们的方法。 因此,我想知道是否有人想挑剔并尝试解释一下。这是我的一些公开问题。 可以说我有项目
AndroidApp
,其中有
AndroidManifest.xml
,包为
app.foo
,产生
AndroidApp.apk
。 我也有项目
AndroidLib
,包
app.bar
AndroidManifest.xml
AndroidLib
我需要什么?仅仅声明包就足够了还是应该有其他东西? 现在,我想两者都有资源,并从refer0ѭ引用refer4ѭ中的资源。我只叫
lib.bar.R
吗?一些帖子建议不会有id冲突。对或错?
AndroidLib
的可交付工件是什么?它也是apk吗?如何同时部署两者?或者更重要的是,我可以产生包含
AndroidApp
AndroidLib
的单个apk吗? 项目在开发环境中如何相互关联?例如,在IntelliJ中,我试图在
AndroidApp
中仅包含带有
AndroidLib
的模块,但它只是将资源编译为
AndroidApp
。 (可能我错过了17英镑)。如果我要使用javac和Android工具,将执行什么顺序? 还有什么值得知道的吗? 无论如何。如果有人可以在此分享知识,我将不胜感激。     
已邀请:
        我写了一篇关于此的详细文章:Android应用程序,Android库和Jar库。 如果您想模仿原始Android构建系统的行为方式,那么最好的方法是运行
ant debug -d
在使用Android库(或Android库)的项目上。 这将为您提供所有运行lines19ѭ的命令行以创建
R.java
个文件,编译代码并打包最终的.apk文件。这基本上是您现在可以找到的最佳参考。不过请注意,Android的构建系统正在不断发展,您需要使构建系统与原始系统保持同步。     
        好的,我不是这方面的专家,但这是我的想法(可能是错误的): 据我所知,严格来说,在Android上并没有真正的“图书馆”之类的东西。基本上有三种选择: 让\“ Lib \”项目成为\“ normal \” Java项目,然后将该项目添加到\“ App \”项目的构建路径中。 \“ Lib \”只能包含Java代码,该Java代码通常会被编译并添加到\“ App \” APK中。由于在设备上运行的应用无法访问其他应用的代码,因此,如果您想在第二个Android应用中重用\“ Lib \”,则必须包含(已编译)的副本APK中的lib代码。这也意味着该库不能包含任何资源,因为它们必须位于\“ App \”项目中的相应目录中。 与#1类似,但是您已将Lib代码编译到常规Java库(jar)中,您可以将其复制/编译到\“ App \”项目的lib目录中。除此之外,它与#1具有相同的限制,因此您喜爱的任何应用都必须在其APK中包含JAR副本。 让\“ Lib \”项目成为一个功能完善的独立应用程序,并使用自定义Intent定义API,以使\“ Lib \”和\“ App \”之间的所有通信都在它们之上运行。这要求\“ Lib \”和\“ App \\”分别分发,以便用户需要手动安装两者。但是,这使您可以创建其他应用,这些应用可以重复使用\“ Lib \”应用的功能,而无需包含重复的代码。     
        我最近在Maven Android插件的示例项目中合并了库项目支持。只需检查一下它们的设置,即可了解其工作原理。 https://github.com/jayway/maven-android-plugin-samples     

要回复问题请先登录注册