作者:小小小菜鸡 | 来源:互联网 | 2023-05-24 21:33
我期望的最终结果是有一个项目可以输出共享相同代码库的Mobile,Tv和Wear应用程序的不同产品风格.因此,我希望代码库是所有三种应用程序类型的依赖项,其中每个应用程序模块只包含活动和与代码库的交互.
我的第一个想法是在我新创建的项目中添加一个"Android库模块",但我注意到这只是一个新的应用程序模块,它有自己的资源和一切.我希望代码库更像"Java库",但它需要访问像"android.graphics.Color"这样的包.
所以简而言之,实现这个结果的正确方法是使用一个引用了android sdk的java库,还是我只是错误的方式?
继续这个问题:Android库是否需要清单,app_name,Icon?
1> Scott Barta..:
中间没有.如果您想要访问Android API,那么该库需要是一个Android库,以便构建系统可以正确地将其链接到依赖项目.Android Libraries确实拥有您可能不需要的资源和其他东西,但如果您愿意,可以忽略这些内容并将其视为纯Java库.即使您没有使用资源,您也可以发现指定要合并到依赖应用程序的AndroidManifest.xml属性的功能.
Android Library项目没有构建完全成熟的APK作为其输出; 它生成一个AAR,它在概念上类似于JAR存档,但具有对Android项目有用的资源和元信息.
2> Suragch..:
补充答案定义术语
Android Studio 文档定义了以下模块:
一个模块是源文件和构建设置,允许您将项目划分成独立功能单元的集合。您的项目可以具有一个或多个模块,并且一个模块可以将另一个模块用作依赖项。每个模块都可以独立构建,测试和调试。
因此,基本上,模块是您较大项目中的子项目。
模块类型
Android应用程序模块 -应用程序模块通常是您在常规项目中使用的模块。编译时,您会得到一个可以在设备上运行的APK文件。以下是存在的不同类型的应用程序模块:
手机和平板电脑模块
Android Wear模块
Android TV模块
玻璃模组
库模块 - 库的目的是共享代码。例如,您可能有一个包含几个不同应用程序模块的项目。它们都使用的通用代码可以位于库中。
Android库-除了Java代码之外,它还允许您包括Android资源文件和清单。如果您要创建一个Android项目,并且想知道要使用哪种库,请选择Android库。编译后会创建一个AAR(Android存档)文件。
Java库-仅允许您包含Java代码文件,而不包含Android资源文件。这对于跨平台代码共享很有用。编译后,它将创建一个JAR(Java存档)文件。
Google Cloud模块 -这种类型的模块是Google Cloud后端,用于与您的客户端应用程序进行通信。