Android 如何触发build.gradle并将新的依赖项下载到gradle缓存
我们有自己构建和发布的多个版本的依赖项(aar) 我们希望在maven存储库上使用最新版本 如果我已经有了gradle脚本,如何下载最新的依赖版本aar 如何触发它 以下是我尝试过的:Android 如何触发build.gradle并将新的依赖项下载到gradle缓存,android,android-studio,gradle,Android,Android Studio,Gradle,我们有自己构建和发布的多个版本的依赖项(aar) 我们希望在maven存储库上使用最新版本 如果我已经有了gradle脚本,如何下载最新的依赖版本aar 如何触发它 以下是我尝试过的: Android Studio->与gradle文件同步项目 没有得到4.0.2版本的aar /gradlew--重新编译脚本 将在不构建任何内容的情况下进行同步。但在我使用的5.1.1中删除了它 (将构建从Gradle 4.x升级到5.0)[docs.Gradle.org/current/userguide/U
/gradlew--重新编译脚本
/gradlew--刷新依赖项
def dependencyVersion = '0.3.1'
apply from: "https://***/dependencyVersions/${dependencyVersion}/dependencyVersions-${dependencyVersion}.gradle"
我的问题:
事实证明,我还应该将
dependencyVersion
从0.3.1
更新为0.4.1
,这是我忘记告诉我的
然后与Android Studio中的gradle文件同步
(我尝试了/gradlew--refresh dependencies
,它在日志中显示了最新的0.4.2版本的依赖项,但Android Studio仍然显示了旧的0.3.6版本的依赖项。)
我想知道我该如何知道这个原则
import groovy.json.JsonSlurper
ext {
mepMajorVersion = 0
mepMinorVersion = 3
isLocalDevMode = {
def devMode = project.findProperty('dev.mode') ?: System.getenv('dev.mode')
return "local" == devMode
}
getVersionCode = { projectGroupId, projectArtifactId ->
def repoPath = projectGroupId.replace(".", "/")
try {
def jsonSlurper = new JsonSlurper()
def url = "https://***/api/search/versions?repos=vdca-mobile-maven&g=${repoPath}&a=$projectArtifactId"
// println "url $url"
def versions = jsonSlurper.parseText(new URL(url).text)
// println "$projectArtifactId versions $versions"
def latestVersion = 0
versions.results.each { v ->
try {
def version = v.version.split("-")[0].split("\\.")
def majorVersion = version[0].toInteger()
def minorVersion = version[1].toInteger()
def patchVersion = version[2].toInteger()
// println "majorVersion $majorVersion minorVersion $minorVersion patchVersion $patchVersion"
if (majorVersion == mepMajorVersion && minorVersion == mepMinorVersion && patchVersion > latestVersion)
latestVersion = patchVersion
} catch (Exception e) {
}
}
// println "$projectArtifactId latest version $latestVersion"
return latestVersion + 1
} catch (Exception e) {
return 1
}
}
getLatestVersion = { projectGroupId, projectArtifactId ->
def repoPath = projectGroupId.replace(".", "/")
try {
def jsonSlurper = new JsonSlurper()
def url = "https://artifactory.trusted.visa.com/api/search/versions?repos=vdca-mobile-maven&g=${repoPath}&a=$projectArtifactId"
// println "url $url"
def versions = jsonSlurper.parseText(new URL(url).text)
// println "$projectArtifactId versions $versions"
def latestVersion = 0
versions.results.each { v ->
try {
def version = v.version.split("-")[0].split("\\.")
def majorVersion = version[0].toInteger()
def minorVersion = version[1].toInteger()
def patchVersion = version[2].toInteger()
// println "majorVersion $majorVersion minorVersion $minorVersion patchVersion $patchVersion"
if (majorVersion == mepMajorVersion && minorVersion == mepMinorVersion && patchVersion > latestVersion)
latestVersion = patchVersion
} catch (Exception e) {
}
}
// println "$projectArtifactId latest version "+mepMajorVersion+"."+mepMinorVersion+"."+latestVersion
return mepMajorVersion+"."+mepMinorVersion+"."+latestVersion
} catch (Exception e) {
println "$e"
return ""
}
}
// version number MAJOR.MINOR.PATCH
getVersionName = { projectGroupId, projectArtifactId ->
return "$mepMajorVersion.$mepMinorVersion." + getVersionCode(projectGroupId, projectArtifactId)
}
mepVersions = [
// foundation
analytics : getLatestVersion('com.visa.mobileEnablement.mobileFoundation', 'analytics'),
dataProvider : getLatestVersion('com.visa.mobileEnablement.mobileFoundation', 'dataProvider'),
logger : getLatestVersion('com.visa.mobileEnablement.mobileFoundation', 'logger'),
profilingService : getLatestVersion('com.visa.mobileEnablement.mobileFoundation', 'profiler'),
storage : '',
// fmcore
authenticationService : getLatestVersion('com.visa.mobileEnablement', 'authenticationService'),
coreService : getLatestVersion('com.visa.mobileEnablement', 'coreService'),
coreServiceTesting : getLatestVersion('com.visa.mobileEnablement', 'coreServiceTesting'),
cryptoClient : getLatestVersion('com.visa.mobileEnablement', 'cryptoClient'),
deviceManagementService : getLatestVersion('com.visa.mobileEnablement', 'deviceManagementService'),
featureGateway : getLatestVersion('com.visa.mobileEnablement', 'featureGateway'),
mockAuthenticationService : getLatestVersion('com.visa.mobileEnablement', 'mockAuthenticationService'),
uiComponents : getLatestVersion('com.visa.mobileEnablement', 'uiComponents'),
utilities : getLatestVersion('com.visa.mobileEnablement', 'utilities'),
// mep_login
enrollFeature : getLatestVersion('com.visa.mobileEnablement.featureModules', 'enrollFeature'),
enrollService : getLatestVersion('com.visa.mobileEnablement', 'enrollService'),
loginFeature : getLatestVersion('com.visa.mobileEnablement.featureModules', 'loginFeature'),
// mep_3ds
mep3dsFeature : getLatestVersion('com.visa.mobileEnablement.featureModules', 'mep3dsFeature'),
mep3dsService : getLatestVersion('com.visa.mobileEnablement', 'mep3dsService'),
mockMep3dsService : getLatestVersion('com.visa.mobileEnablement', 'mockMep3dsService'),
]
mepLibVersions = [
androidTestVersion : '1.0.1',
androidxTestVersion : '1.1.0',
androidArchCompVersion : '1.1.1',
appCompatVersion : '1.1.0',
biometricVersion : '1.0.0',
buildToolsVersion : "28.0.3",
butterknifeCompilerVersion: '8.5.1',
butterknifeVersion : '8.5.1',
caverockAndroidSvgVersion : '1.2.1',
compileSdk : 28,
constraintLayout : '1.1.3',
daggerCompilerVersion : '2.8',
daggerProducersVersion : '2.8',
daggerVersion : '2.8',
espressoVersion : '3.1.0',
firebaseCoreVersion : '16.0.9',
gradlePluginVersion : '3.4.1',
gsonConverter : '2.0.1',
gsonVersion : '2.8.2',
httpClientAndroidVersion : '4.3.5.1',
jacocoVersion : '0.8.4',
javaxInjectVersion : 1,
junitVersion : '4.12',
jsonOrgVersion : '20140107',
jsr250Version : '1.0',
jsr305Version : '1.3.9',
kotlinVersion : '1.3.50',
kotlin_coroutines : '1.3.3',
materialVersion : '1.1.0-rc02',
minSdk : 23,
mockitoVersion : '1.10.19',
mockkVersion : '1.9.3',
multiDex : '1.0.3',
nineoldandroids : '2.4.0',
okioVersion : '1.6.0',
okHttpLegacyUrlConnVersion: '2.6.0',
okHttpLegacyVersion : '2.6.0',
okHttpUrlConnVersion : '3.10.0',
okHttpVersion : '3.10.0',
openPojoVersion : '0.8.3',
picassoVersion : '2.5.2',
powerMockVersion : '1.6.2',
playServiceVersion : '11.0.4',
retrofitLegacyVersion : '1.9.0',
retrofitVersion : '2.5.0',
retrofitScalarsVersion : '2.1.0',
supportLib : '28.0.0',
tagManagerVersion : '16.0.8',
targetSdk : 28,
testRunnerVersion : '1.1.0',
threatMetrixVersion : '5.4-73',
uiAutomatorVersion : '2.1.2',
viewpagerindicator : '2.4.1',
wiremockVersion : '2.0.8-beta',
commonsIoVersion : '2.6',
commonsCodecVersion : '1.13',
]
}