首先我是使用了nexus搭建公司内网私有仓库,管理android开发使用到的一些公共代码组件,别提多方便了,关于nexus搭建的方法网上很多http://blog.csdn.net/EdgarNg/article/details/53696038
然后,用了一段时间问题来了,当我需要更新aar文件,通过版本号迭代的时候,发现新版本的aar文件已经上传成功了,但是引用的时候死活都是老版本,我的保守做法的是全部删除重新上传,虽然有效但是很麻烦。后来通过查看maven-metadata.xml文件发现如下配置
- <metadata>
- <groupId>com.zstar.sdk</groupId>
- <artifactId>ThirdSDK</artifactId>
- <versioning>
- <latest>155.2</latest>
- <release>155.3</release>
- <versions>
- <version>1.3.8</version>
- <version>138.1</version>
- <version>155.1</version>
- <version>155.2</version>
- <version>155.3</version>
- </versions>
- <lastUpdated>20170803110436</lastUpdated>
- </versioning>
- </metadata>
从这里可以看出lastest版本号是155.2,但是最新版release已经是155.3,坑爹啊,竟然没有自动更新,而且无论我怎么重新上传版本始终都不会有丝毫的变化,然后求助万能的google,发现有人提到说这个文件可以重建,然后是这样
注:这里也许不需要删除文件,直接rebuild可以重新生成,暂时没有机会尝试
选中这个xml文件,包括md5和sha1,三个文件全部删除
然后选中父目录rebuild Metadata,再次打开文件你会发现变成了这样
- <metadata>
- <groupId>com.zstar.sdk</groupId>
- <artifactId>ThirdSDK</artifactId>
- <versioning>
- <latest>155.3</latest>
- <release>155.3</release>
- <versions>
- <version>1.3.8</version>
- <version>138.1</version>
- <version>155.1</version>
- <version>155.2</version>
- <version>155.3</version>
- </versions>
- <lastUpdated>20170803110436</lastUpdated>
- </versioning>
- </metadata>
完美。
接下来是关键步骤了,
在androidStudio打开Terminal,输入gradlew build --refresh-dependencies,强制从远程库更新
等待半个小时更新完毕,点击,喝口茶,坑爹啊,完全没有作用啊有木有。
然后继续搜索....................,找到一个偏方,
在这个目录下,一定要看自己的设置啊,我修改了这个路径,应该在默认.gradle删除了2个小时,死活不起作用,然后打开这个目录,进入caches\modules-2\metadata-2.23或者更高版本的目录,删除里面的文件module-versions.bin,对就是这孙子,把它删掉,然后再次点击,等待结束,完美啊有木有,终于可以回家次饭了。