Java 我可以将整个android应用程序打包到库中吗?

Java 我可以将整个android应用程序打包到库中吗?,java,android,jar,apk,Java,Android,Jar,Apk,是否可以将整个android应用程序作为一个包包含到另一个android应用程序中 我说的不仅仅是编译成.jar文件的普通java代码。我指的是包括所有内容:java代码、布局等。然后使用意图与这个“库”通信。我不想安装单独的apk或单独的应用程序。这就像一个完整的apk被包含在另一个apk中,使整个apk成为一个新的应用程序。可能需要以不同的方式处理清单 我看了这些教程,但只是列出了一个普通的.jar和普通java代码 非常感谢您的指点。 谢谢 你可以制作一个.aar档案,是的。关于这一点,

是否可以将整个android应用程序作为一个包包含到另一个android应用程序中

我说的不仅仅是编译成.jar文件的普通java代码。我指的是包括所有内容:java代码、布局等。然后使用意图与这个“库”通信。我不想安装单独的apk或单独的应用程序。这就像一个完整的apk被包含在另一个apk中,使整个apk成为一个新的应用程序。可能需要以不同的方式处理清单

我看了这些教程,但只是列出了一个普通的.jar和普通java代码

非常感谢您的指点。
谢谢

你可以制作一个.aar档案,是的。关于这一点,需要了解以下几点:

  • aar是作为一个库项目构建的,带有gradle插件“com.android.library”
  • 您仍然需要一个shell应用程序项目来声明对从库中构建的aar的依赖关系
  • aar将有自己的清单和资源。清单和资源将合并到shell应用程序的清单中。你最好了解合并的过程
  • 当然,aar将有自己的代码,shell应用程序不能复制aar中包含的类
  • shell应用程序需要在自己的build.gradle中声明自己的应用程序id,以及使用“com.android.application”插件构建的应用程序所需的其他属性
  • 所有应用程序设置都不能与aar中的设置冲突。例如,您的目标API级别不能低于aar中的最低级别
  • 应用程序不能覆盖aar中定义的任何资源。另一种方法是库覆盖应用程序中定义的资源
如果要将aar直接包含到应用程序的文件结构中,则需要像下面这样声明对它的依赖关系(或类似情况):

但是,如果将aar作为maven依赖项分发,则可以简单地使用maven坐标


可能还有其他事情需要知道,但这正是我脑海中所能想到的。

欢迎您创建。您链接到的教程中介绍了这一点,其中穿插了一些关于罐子的旧材料。您是否“使用意图进行交流”取决于您,因为您将编写库和应用程序。看起来我实际上可以。aar文件。
repositories {
    flatDir {
        dirs 'libs'  // place the aar in here
    }
}
dependencies {
    compile(name:'fileNameOfAarWithoutExtension', ext:'aar')
}