我期望的最终结果是拥有一个可以输出不同的Mobile,Tv和Wear应用程序产品的项目,这些应用程序共享相同的代码库。因此,我希望代码库成为所有三种应用程序类型的依赖项,其中每个应用程序模块只包含活动和与代码库的交互。
我的第一个想法是添加一个" Android库模块"到我新创建的项目,但我注意到这只是一个新的应用程序模块,拥有自己的资源和一切。我希望代码库的功能更像是一个" Java Library",但它需要访问像" android.graphics.Color"这样的包。
所以简而言之,实现这个结果的正确方法是使用一个引用了android sdk的java库,还是我只是错误的方式?
上继续提问答案 0 :(得分:13)
中间没有。如果您想要访问Android API,那么该库需要是一个Android库,以便构建系统可以正确地将其链接到依赖项目。 Android Libraries确实拥有您可能不需要的资源和其他东西,但如果您愿意,可以忽略这些内容并将其视为纯Java库。即使您没有使用资源,您也可以发现指定要合并到依赖应用程序中的AndroidManifest.xml属性的功能。
Android库项目不会构建完全成熟的APK作为其输出;它生成一个AAR,它在概念上类似于JAR存档,但具有对Android项目有用的资源和元信息。
答案 1 :(得分:3)
Android Studio documentation定义模块,如下所示:
模块是允许的源文件和构建设置的集合 您可以将项目划分为离散的功能单元。您的 项目可以有一个或多个模块,一个模块可以使用另一个 模块作为依赖。每个模块都可以独立构建, 经过测试和调试。
所以基本上一个模块是你大项目中的子项目。
答案 2 :(得分:1)
我还没有看到另外一点记录:android库模块可以依赖于另一个android库模块或java库模块,但是java库模块不能依赖于android库模块。