查看阿里云maven仓中某个库有哪些版本

起因

最近项目上有做视频业务,方案是使用阿里云的短视频服务,其中也有使用到阿里云的上传SDK,过程中有遇一个上传SDK的内部崩溃,崩溃栈如下:

Back traces starts.
java.lang.NullPointerException: Attempt to invoke interface method 'void com.alibaba.sdk.android.vod.upload.auth.AliyunVodAuth$VodAuthCallBack.onError(java.lang.String, java.lang.String)' on a null object reference
	at com.alibaba.sdk.android.vod.upload.auth.AliyunVodAuth$2$1.onFailure(AliyunVodAuth.java:183)
	at com.aliyun.vod.qupaiokhttp.OkHttpTask.onPostExecute(OkHttpTask.java:279)
	at com.aliyun.vod.qupaiokhttp.OkHttpTask$2.run(OkHttpTask.java:228)
	at android.os.Handler.handleCallback(Handler.java:958)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:224)
	at android.os.Looper.loop(Looper.java:318)
	at android.app.ActivityThread.main(ActivityThread.java:8744)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)
Back traces ends.

经分析是有调到VODSVideoUploadClientImpl的cancel方法,然后就调AliyunVodAuth的cancel方法

    public void cancel() {
        OSSLog.logDebug(TAG, "[VODSVideoUploader]: " + "cancel");
        status = AliyunVodUploadStatus.VODSVideoStatusIdle;
        step = AliyunVodUploadStep.VODSVideoStepIdle;

        if (uploader != null) {
            uploader.cancel();
            fileList.clear();
            videoUploadCallback = null;

        }

        if (aliyunVodAuth != null) {
            //这里。。。
            aliyunVodAuth.cancel();
            aliyunVodAuth = null;
        }
    }
再看下aliyunVodAuth的方法,

查看阿里云maven仓中某个库有哪些版本_第1张图片
很明显,vodAuthCallBack会被置空,那就只能说明判空不到位了呀!
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/291365b6a3a94a13a53eb9daedc68a51.png
在看下183行onError方法中的代码吧!
查看阿里云maven仓中某个库有哪些版本_第2张图片
查看阿里云maven仓中某个库有哪些版本_第3张图片

额外简单评价下相关的代码逻辑
查看阿里云maven仓中某个库有哪些版本_第4张图片
哦,有点发散了,收敛回来一下!
遇到这个崩溃问题我的第一思路是先看看上传SDK有没有升级版本(我当时使用的是1.6.6),不行的话,就只能不调用cancel方法来规避可能出现的崩溃了。
那么我们就回到了今天的主题了,如何查看 阿里云maven仓中某个库有哪些版本?

maven库

我们要知道maven仓库本质上就是个文件下载服务,可以让我们去下载项目依赖的库,所以理论上maven仓库是也会提代WEB管理界面或入口方便大家查验、手动下载、管理相关的库的,只是这个WEB管理界面会大同小异而于。即我们可以从maven库的WEB端查验与下载我们关注的库

google

我们来看个google maven 库的WEB端,https://maven.google.com/web/index.html
查看阿里云maven仓中某个库有哪些版本_第5张图片
相对比较简单,搜索功能也是简单的关键字搜索

阿里云

接着看下阿里云的,直接打开https://maven.aliyun.com/nexus/content/repositories/releases,我们就得到最终的WEB端入口地址

allprojects {
    repositories {
        maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }
    }
}

在这里插入图片描述

建议使用gav方式搜索,gav 即group \artifact\ version等参数搜索库
查看阿里云maven仓中某个库有哪些版本_第6张图片

实践

来搜索一下上传SDK的版本

    implementation 'com.aliyun.video.android:upload:1.6.6'

查看阿里云maven仓中某个库有哪些版本_第7张图片
其实这样搜索出来,所有的版本号也挺难出来的,不过可以定位到是那个仓库,我们可以点开仓库节点树来看看!
查看阿里云maven仓中某个库有哪些版本_第8张图片

你可能感兴趣的:(Android开发之旅,阿里云,maven,android,上传sdk)