- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经发布了一个名为 SmartToolbar 的库jcenter
成功。
但是当我将它更新到新版本并再次发布时我遇到了一个问题,它没有在 gradle
中显示更新到新版本的建议消息。
目前,这个库的最新版本是 1.0.12
,但是正如您在屏幕截图中看到的,它没有显示升级到版本 1.0.12< 的建议消息
作为其上方的库。
我想修复它,因为我想通知所有使用它的开发人员从我的库中获取最新更新。
注意:它不会显示有新版本可用的建议,但如果我们知道最新版本,我们仍会获得最新更新。所以只有我知道最新版本。n
当我发布新版本时,我更新了 versionName
,我将其创建为 PUBLISH_VERSION
的自定义变量以用于我的 publish-android-library-plugin如下图所示。
所以我想知道我在发布新版本时错过了哪些部分?或者在我的 publish-android-library-plugin有什么不对吗?也许你需要复习 this raw code用于检查我的错误。
注意:此库已同步到 maven central
最佳答案
*更新*
据我们亲爱的 friend JBaruch 说,他说:
The problem is that regardless of which repository your library is resolved from (being it
jcenter()
,mavenCentral()
or any other repository), the check for the latest version is hardcoded to go to Maven Central.
您可以在此处回答与您类似的问题时阅读更多关于他的想法:Add Warning "A newer version of ..... is available" for custom library
所以,按照他的建议,你可以试试syncing your library with maven
* 上一个答案:我把这个留在这里,因为我仍然认为了解 Android studio 厌恶获取最新更新背后的思维过程仍然很重要 *
版本更新弹出通知是由于 Android Studio 中的一个 Lint 规则,称为 Newer Library Versions Available
。根据How to check if gradle dependency has new version ,Android Studio 的最新几个更新修改了 lint 规则,因此用户将不再收到新的非 Google 库版本的通知。
JBaruch 在 How to check what is the latest version of a dependency to use in gradle 中的回答给出了 Google 进行此更改的充分理由:
"Relying on latest version is indeed a dangerous thing to do. Your build can break without you changing anything, just because some library broke backwards compatibility."
Google 希望开发人员坚持使用特定的库版本,并且只在需要时才更新。因此,检查更新已成为一个手动过程。
那么,您如何从这里开始呢?如果您只是想检查 Android Studio 是否收到新库更新的通知,您可以使用 Android Studio 的正确检查更新的方法。您可以在 How to check if gradle dependency has new version 中查看 Adam S 的答案(已接受的答案)有关执行更新检查的说明。
关于android - 在我将新版本发布到 jcenter 后,我的 Android 库不建议在 gradle 中升级新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52251263/
在 spring-security项目,在 build.gradle文件,以下插件可用: apply plugin: 'io.spring.nohttp' apply plugin: 'locks'
我正在尝试使用gradle任务作为“与操作系统无关的shell脚本”。我在编写构建文件的逻辑时没有问题,但是我希望能够从任何文件夹中运行它。 我的第一次尝试是在路径上放置一个带有build.gradl
我在同一目录下有三个具有不同名称的build.gradle dev.build.gradle uat.build.gradle prd.build.gradle 我有4期 “gradle build”
乡亲们 有谁知道如何使用gradle与自定义的build.gradle和settings.gradle一起运行-即两者在一起? 我认为我可以有一个自定义的build.gradle文件(-b标志)-但这
Gradle 配置有两个属性,称为 dependencies和 incoming .根据我的理解,我们可以通过 Gradle 依赖 block 向配置添加依赖,如下所示: dependencies {
我正在测试将我的工件推送到 Nexus Maven 存储库。我正在使用 gradle这样做。 gradle upload有什么区别和 gradle publish ? 最佳答案 目前gradle提供了
这里有一个类似的问题:Gradle properties not being read from ~/.gradle/gradle.properties,但它不能解决我的问题。 在我看来,gradle
如何检索 Gradle 本身的版本 以编程方式从 Gradle 插件中? 最佳答案 刚刚发现可以使用任何一种方法来解决它 getProject().getGradle().getGradleVersi
2 个 gradle 项目,A 和 B,其中 A 定义了对 B 的编译依赖。为 maven 和 gradle 项目启用了 JAR 的重新映射。我试过启用和禁用自定义工具模型。我在 init.d 目录下
如何从 gradle 运行另一个 gradle 脚本。我有多个 gradle 脚本可以在 /test 下运行测试目录。 /build.gradle使用要运行的测试 gradle 文件的名称调用。例如
我已经看到了多模块项目的不同布局,其中有些项目只有一个 build.gradle。而其他项目将有 build.gradle在根和 build.gradle在每个子项目中。我想知道有什么区别以及首选哪种
我对 Gradle 生命周期有一个基本的询问。我的项目是一个多模块项目。 我注意到以下命令: ./gradlew clean bignibou-server:run 不等于运行以下两个命令按顺序运行:
我有一个项目,其中包含一个子项目,如下所示: Root Project |----gradle.build |----SubProject |----|----gradle.build 这里的子项目包
我有 gradle 项目,我想向不使用 gradle 或 maven 等构建工具的项目添加依赖项。 目录结构如下: commonfolder\ gradleProject\ b
我想创建一个类来帮助我加载不同类型的属性(local.properties,gradle.properties,$GRADLE_HOME/gradle.properties,环境变量,系统属性和自定义
我有一个多模块项目,其目录结构如下: proj |-modA |-modB |-modMain \-modSysTest 依赖项是: modB -> modA modMain -> modB modM
我正在尝试创建一个可以在 --offline 模式下工作的 gradle 项目的副本。除了一个步骤,我已经自动化了所有步骤。我无法自动将插件 jar 下载到 gradle 缓存中。 我的离线分发通过指
基本上我想这样做: Use Gradle function from other gradle file 也就是说,从另一个 gradle 脚本中调用一个函数。问题是我的 build.gradle 在
我有一个简单的 gradle 插件,我想试用一下,但我不确定如何“请求”gradle 运行我的测试 这是我要修改的 block (在我的 gradle 构建文件的顶部) buildscript {
在 Android Studio 中创建项目时,我收到以下错误消息。 Failed to import new Gradle project: Could not install Gradle dis
我是一名优秀的程序员,十分优秀!