我刚刚创建了一个机器人库模块,现在我想将其导出为.jar文件(就像我曾经在Eclipse中做),这样我就可以用它在其他项目中,只需将其作为外部库文件链接即可。出口的Android库作为.jar文件
的问题是,我刚刚从官方网站读到“你可以一个库模块不能导出到一个JAR文件”:https://developer.android.com/tools/projects/index.html所以
我该怎么办呢?我能做些什么来获得相同的结果吗?
感谢
我刚刚创建了一个机器人库模块,现在我想将其导出为.jar文件(就像我曾经在Eclipse中做),这样我就可以用它在其他项目中,只需将其作为外部库文件链接即可。出口的Android库作为.jar文件
的问题是,我刚刚从官方网站读到“你可以一个库模块不能导出到一个JAR文件”:https://developer.android.com/tools/projects/index.html所以
我该怎么办呢?我能做些什么来获得相同的结果吗?
感谢
你必须将其导出为.AAR
文件。无法将Android Studio库导出为.jar
文件。
检查了这一点:https://androidbycode.wordpress.com/2015/02/23/building-an-aar-library-in-android-studio/
AAR的目的:图书馆再利用Java中长期以来一直可用的基于 应用程序通过Java归档(.jar)文件的文件。 Android AAR文件 基于这一概念,可让您不仅打包源码 代码,还打包自带Android资源的库。该 库都可以有自己的清单和资源,还可以 选择性地提供资产,NDK建库,proguard的配置 ,甚至自己的定制皮棉过滤器。这些都归入zip 存档中,可以发布到您的团队的存储库(或世界上的 !)以便通过Gradle构建轻松访问。
这是如何创建由@ alex18aa的.AAR文件:
File
- >New module
- >Import aar/jar
,然后在模块设置中添加了dependencie,和连接它。
查看AAR文件。他们是Android库,不仅可以包含代码,还可以包含资源!
AAR:查找AAR文件等我做到这一点的方法是:
uploadArchives {
repositories.mavenDeployer {
repository(url: "someDirectory/")
}
}
然后./gradlew clean build uploadArchives
JAR:如果你不”没有资源文件,只需将其添加到您的build.gradle:
task makeJarRelease(type: Copy) {
from("build/intermediates/bundles/release/")
into("some_directory/")
include("classes.jar")
rename("classes.jar", "yourlibname.jar")
}
然后运行一个./gradlew clean build makeJarRelease
这将做到这一点。
是的,Android Studio导出.AR文件,这是新标准。但是,如果你需要一个jar文件,那你怎么做到的。
同样,如果您想以这种方式执行此操作,那么不能包含的res文件夹(即无XML文件或可绘制文件)。
所以我可以在其他android项目中使用.aar输出作为旧的.jar文件?确切地说, – alex18aa
! :和主要区别是.AAR文件包含资源:D – Jorgesys
谢谢它的工作原理!我认为这样说也很重要,你必须这样做:文件 - >新建模块 - >导入aar/jar,然后在模块设置中添加依赖关系,并链接它。再次感谢! – alex18aa