andriod jcenter上传踩坑记录
在上传jcenter过程中,遇到了一些问题
感谢这位朋友一直耐心解答我的问题
https://www.jianshu.com/p/c81ff570498d
可以参考这篇做上传帮助。
以下开始记录上传过程遇到的问题
1.注册
注册bintray请注册开源账户,Free Trial注册出来是组织账户,否则遇到的问题见
https://blog.csdn.net/tmac2000/article/details/53261141
如果注册错了,在edit-profile里delete-account,然后重新注册。
注册的邮箱不能用qq邮箱,建议用gmail,icloud
2.新建仓库
注册完账号后,需要创建Repositories和Package,否则上传项目的时候会提示# Bintray- HTTP/1.1 404 Not Found [message:Repo 'maven' was not found的错误
首先,创建Repositories,该仓库名一定要叫maven,且类型要选maven。
名字要取maven的原因是,如果使用com.novoda.bintray插件上传,脚本只会去寻找
userOrg/maven/artifactId
这个路径的仓库,否则找不到路径报错
Execution failed for task ':library:bintrayUpload'.
> Could not create package 'lamster2018/maven/easy-protector':
HTTP/1.1 404 Not Found [message:Repo 'maven' was not found]
参考评论区
https://www.jianshu.com/p/52713ec434ff
3.上传到bintray
输入命令
./gradlew clean build bintrayUpload空格-PbintrayUser=你的bintray用户名空格-PbintrayKey=你的私钥空格-PdryRun=false
脚本提示build successful 后就能在bintray看到你的提交记录。
我在编译的时候想进行混淆,minifyEnabled 为true,但是使用novada脚本会编译出错,打出来的aar包是空的,不混淆就恢复正常
首次提交,只是把内容提交到自己的bintray仓库,你需要提交给jcenter供所有人使用的话,就add to jcenter进行审核,
审核过程视人品而定,短则4~5个小时,长则48小时,审核通过之后会有站内信提示
4.迭代新版本
审核通过之后,迭代新版本只需要在本地更改publishVersion,gradle的version code无需更改
image.png
然后再用脚本上传,上传提交不需要再审核,但是也只是提交到你自己的bintray仓库,
从bintray仓库自动同步到jcenter需要时间,时间视人品而定,短则几次刷新网页,长则72小时,不会有站内信提示
你可以去
https://jcenter.bintray.com/你的groupId/artifactId路径下查看
5.同步到maven central
image.png如果你有需要同步到maven central,请参考第一篇链接的第三四五步骤。
6.技巧
可能是网络原因,我每次查看我的下载量,请求总是很慢,页面甚至会死掉,干脆我用cUrl,这里面有token,不过会失效...
curl 'https://bintray.com/statistics/packageStatistics?startDate=2017-11-23T01%3A54%3A36.837Z&endDate=2018-11-23T01%3A54%3A36.837Z&pkgPath=%2Flamster2018%2Fmaven%2Feasy-protector-release' -H 'Cookie: _ga=GA1.2.434110222.1514177153; _mkto_trk=id:256-FNZ-187&token:_mch-bintray.com-1514177160268-89905; _ga=GA1.1.434110222.1514177153; _gid=GA1.2.183379467.1542885692; JSESSIONID=6F8B2BE10FC1BDDB66E7B6A875AB50C2; rememberMe=Z96HL8eOhEkpSEMOjG+OZt5USuNewd7uRoLkcTywuVDO5CTHznXrVPnTPLM9kYSVoKC0a+4n8w7vZ1jwHzx0Eo8HBfrLruwM9kszNUa/GaqvxCDGBxo8rgimjJ1Q161q7qo7M4iGslTsy1ukHqff4H8WhAuzZIrCsjKUW0WbjxncqNd67SNhGSQZ2zwp12UGoeiZt1XphPVUwjZu3dOnOKfyUbiTdHz5OV8YxG+xrEp8znsdUeNXedPQJCJgi5ipCr9mdQLmSfeZ5AtJWPAhSjaLOT2EKqecz9oi3mwqD2nfj57HGADhA7q67K5zlVeN/jaIBeNvYEc2FCY0qNbfVP5eG9FRP/A45r60y1fquBG9IKJdD9/W97R3YWueY6qGhyzretFXUqHLK3IBoOdIyIqrx49/mQyUraNSzhP2ulTcxd+SOSWt3vLdGZ6Pm9tvFrKjznTQSnQxiB+AxKAHfaAEHIHBEETcmx6Apmhvpznz3PMBHWrdZd84E+F+cJ1f; _fbp=fb.1.1542937730976.679522450; _hjIncludedInSample=1; trwv.uid=jfrog-1528093910901-406d8436%3A51; trwsa.sid=jfrog-1542937730675-24c054b6%3A2' -H 'DNT: 1' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7' -H 'User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Referer: https://bintray.com/lamster2018/maven/easy-protector-release' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' --compressed
7.踩坑
除了上述找不到maven仓库报错之外,还遇到了其他的坑。
比如
1.上传的时候报错,因为科学上网的原因。
我的解决方案
给Android Studio设置一个代理,在AS里上传
https://blog.csdn.net/lchad/article/details/43567675
Execution failed for task ':library:bintrayUpload'.
> javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
截图是命令行