我的第一台计算机(C1)中有一个项目具有一定的依赖关系,而我的计算机(C2)中的Internet出现了一些问题(其隔离)。我想重用从C1中下载的库,并将其放入C2。我不想使用.jar文件。只是aar文件。
答案 0 :(得分:0)
执行此操作的一种方法是将所有依赖项收集到一个 存档。例如,类似这样的东西应该抓住所有东西 所有配置:
task bundleDependencies(type: Zip) { baseName = 'dependencies' configurations.each { configuration -> if (configuration.canBeResolved) { from configuration } } destinationDir = file('your/Path') // set path }
将归档文件传输到脱机计算机,解压缩并使用 flatDir存储库(如果您想在有 离线,无需每次都添加):
repositories { if (gradle.startParamter.offline) { flatDir { dirs 'path/to/extracted/dependencies/zip' } } }
然后使用--offline
参数在C2上运行gradle
您可以根据自己的喜好使用Zip,Tar或Jar任务导出依赖项。参见creating archives
从C1到C2只是将.gradle目录普通复制到同一位置(由于绝对路径)也应该起作用。
答案 1 :(得分:0)
感谢大家。解决方案是: 1.向您的在线计算机添加依赖项。(gradle将在.gradle \ caches \ modules-2 \ files-2.1 \ $ {YOUR.PACKAGE.NAME} \ $ {您的图书馆名称} \中构建并缓存.aar文件。 $ {YOUR_LIB_VERSION} {HASH_FOLDER} \“)。
如果您不知道软件包名称,请查看build.gradle(应用程序级别)。在依赖项块中,您可以找到它,如下所示: 实现了“您的包名称:您的库名称:您的lib_version”
2。复制.aar文件。
3。在离线计算机中,打开android studio,然后在项目视图(左上角)中将android更改为project。然后转到应用程序文件夹,您会看到“ libs ”文件夹。
4。将.aar文件拖放到libs中,然后单击“确定,我仍然想修改此文件”
5。然后转到build.gradle(应用程序级别)并将此代码粘贴到此处:
allprojects {
repositories {
jcenter()
flatDir {
dirs 'libs'
}
}
}
6。将此行放入build.gradle(应用程序级别)的依赖项块中
dependencies {
compile(name:'your lib name', ext:'aar')
}