本文为您介绍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为SDK Java部分代码,jni文件下为SDK内核so文件,分别添加到工程中引用。

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

    clientId获取正确打开方式:终端管理。

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

    PCDN服务运行在独立Service中,每一个独立进程的创建都会导致application创建一次,如果在application中调用start会导致启动多次,请在首页MainActivity中启动调用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中保持住SDK代码(-keep class com.edge.pcdn.**{*;}),保持不混淆,否则会引发native方法找不到异常。