本文为您介绍PCDN与Android对接的常见问题。

PCDN Android对接常见问题

  • SDK aar全架构的包,怎么过滤出项目中需要的架构?
    defaultConfig {
            ........
            ndk {
                // SDK提供如下支持的 SO 库构架,您可以根据自己应用实际支持的情况来设置
    			比如只需要armeabi-v7a 架构
                abiFilters armeabi-v7a'/*'arm64-v8a', 'x86', 'x86_64','armeabi'*/
            }
    
        }
  • eclipse中怎么去集成SDK?

    更改pcnd-sdk-release.aar后缀为.zip进行解压,classes.jar为SDKJava部分代码,jni文件下为SDK内核so文件,分别添加到工程中引用。

  • 启动方法start()中的clientid在哪里获取?

    clientId获取正确打开方式:https://help.aliyun.com/document_detail/54375.html?spm=5176.doc54437.6.557.PoQqci

  • application中调用start导致启动异常问题?

    PCDN服务运行在独立Service服务中,每一个独立进程的创建都会导致application创建一次,如果在application中调用start会导致启动多次,请在首页MianActivity中启动调用start。

  • 怎么判断PCDN服务是否正常启动?

    一般start会有返回值,返回0代表正常启动。但是启动是一个异步的过程,仅仅靠start返回值来判断并非安全。可以通过pcdnAddress返回的url判断PCDN是否正常服务,转换后地址带127.0.0.1 代表PCDN正常服务,例如:“http://127.0.0.1:8090/xxxxx”表示PCDN服务正常启动。

  • 怎么查看SDK的日志?

    在PCDN服务进程下面过滤“PCDN_TAG”日志查看SDK的日志。启动和地址转换都会产生相应的日志。

  • 怎么处理相对路径m3u8格式下载?

    m3u8格式下载,相对路径列表经过地址转换后会返回可直接下载的全路径,不需要再去拼接。

    例: 原始m3u8列表地址。

    #EXT-X-KEY:METHOD=AES-128,URI="/mykey.key",IV=0x000000
    #EXTINF:5.051444,
    xxx/output0.ts
    #EXTINF:5.005011,
    xxx/output1.ts

    pcdn下载后的m3u8地址。

    #EXT-X-KEY:METHOD=AES-128,URI="http://cdn.xxx.com/mykey.key",IV=0x000000
    #EXTINF:5.051444,
    http://127.0.0.1:8908/pcdn/s/100/1/aHR0cDov/cdn.xxx.com/201701/a/xxx/output0.ts
    #EXTINF:5.005011,
    http://127.0.0.1:8908/pcdn/s/100/2/aHR0cDov/cdn.pcdnv.xxxx.net/201701/a/xxx/output1.ts
  • 代码混淆注意哪些问题?

    请在proguard-rules.pro中keep住SDK代码,保持不混淆,否则会引发native方法找不到异常。 -keep class com.edge.pcdn.**{*;}