gpt4 book ai didi

android - 在Android中,使用Gradle编译,如何在项目之间共享代码?

转载 作者:太空狗 更新时间:2023-10-29 12:44:41 24 4
gpt4 key购买 nike

在使用 Gradle 构建两个应用程序时,在两个项目之间共享一些代码(例如 Utils 类)的首选方法是什么?

我可以在不创建额外的 jar 文件的情况下执行此操作吗?我只希望我的代码位于应用程序项目之外,导入/编译到两个应用程序项目中。还是这根本不可能?

我熟悉使用 jar 或 Android 库项目的方法,但两者似乎都有些笨拙。

最佳答案

我最喜欢的做法是将其保存在本地 Maven 存储库中。存储库甚至可以存在于您的 SCM 中,因此它在所有工作区中都是相同的。

创建一个 Android Studio 项目,然后将其设置为您的 build.gradle 配置的 maven 项目:

buildscript {
repositories {
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android-library'
apply plugin: 'maven'

repositories {
mavenCentral()
}

configurations {
archives {
extendsFrom configurations.default
}
}

group = 'com.mypackage.mylibrary'
version = '1.0.0'

uploadArchives {
configuration = configurations.archives
repositories {
mavenDeployer {
repository(url: uri("relative/path/to/localrepo"))
pom.project {
artifactId 'mylibrary'
name 'My Library'
packaging 'aar'
}
}
}
}
android {
// copy old android config here
}

您需要先部署该库,然后才能使用它。使用 uploadArchives 任务 [./gradlew uploadArchives]

现在您应该可以通过执行以下操作在任何项目中使用此库:

repositories {
maven { url 'relative/path/to/localrepo' }
}
dependencies {
compile ('com.mypackage.mylibrary:1.0.0')
}

当您对库进行更改时,您必须使用新版本重新部署 (uploadArchives),然后在任何需要新版本的项目中更新依赖项引用。

关于android - 在Android中,使用Gradle编译,如何在项目之间共享代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20338016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com