接入说明 - GrouthDownload/TDownloadSDK GitHub Wiki

Android Studio接入方可以跳过该文档,本页文档只适用于使用Eclipse的接入方。

添加混淆配置

  如果项目构建是按照Gradle脚本统一构建,未侵入修改默认的混淆Task,由于aar架包已包含所必需的混淆配置,无需再进行手动配置。如果对打包过程有特殊处理,接入方应根据接入的模块选择混淆配置,务必保证以下类不被混淆。

#网络通信模块
-keep class com.tencent.bs.network.sec.SecNative {*;}
-keep class com.tencent.bs.network.jce.** {*;}
-keep class com.qq.taf.jce.JceStruct {*;}
-keep public class com.tencent.bs.statistic.jce.** {*;}

-dontwarn android.os.SystemProperties
#哈雷下载模块
-keep public class com.tencent.bs.dl.jce.**{*;}
#opensdk模块
-keep public class com.tencent.assistant.sdk.remote.** {*;}
-keep class com.tencent.assistant.sdk.remote.SDKActionCallback {*;}
-keep public class com.tencent.bs.opensdk.aidl.** {*;}
-keep public class com.tencent.bs.statistic.jce.** {*;}
-keep public class com.tencent.bs.opensdk.jce.** {*;}
-keep public class com.tencent.bs.opensdk.ipc.jce.** {*;}
#洗包监控模块
-keep public class * extends com.qq.taf.jce.JceStruct{*;}
-keep public class com.qq.**{*;}
-keep public class * extends android.content.BroadcastReceiver
#省流量更新模块
-keep public class com.tencent.bs.update.jce.**{*;}

AndroidManifest文件配置

  所需权限以及Provider相关的配置已经包含在aar架包中,仅需在项目的build.gradle文件中配置包名参数。   image.png   PKG_NAME后面添加的包名是applicationId对应的包名,即接入Apk的包名,不要误填例子中的包名,否则在使用SDK时会出现问题。

  如果选择aar方式依赖腾讯下载SDK,本文剩余部分可以跳过。如果选择jar方式依赖,参考本文接下来部分完成AndroidManifest配置。

配置SDK所需权限

  SDK正常运行需要获得一些通用权限,详细列表如下:

<!-- 网络通信所需基础权限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

<!--通用数据存储所需权限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<!-- 通过SDK触发安装必备权限-->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>

安装适配

  注意:如果应用targetSdkVersion大于或等于24,即Android 7.0及以上系统,请仔细阅读此小节,否则可以跳过本节。   Android7.0及以上系统对应用间数据共享增加了限制,当App的targetSdkVersion>=24时,需要适配安装intent中的Uri数据。接入方需要在AndroidManifest文件内注册对应的fileprovider,否则SDK安装接口无法正常拉起应用安装界面。具体配置如下:

<provider
    android:name="com.tencent.bs.provider.FileProvider"
    android:authorities="${包名}.InstallFileProvider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/forward_paths"/>
</provider>

  在android:authorities属性 ${包名} 为导入SDK包的Apk实际包名。

  在res资源目录下的xml资源文件夹中添加forward_paths.xml(路径:res/xml/forward_paths.xml),forward_paths.xml文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <paths>
        <files-path name="files_path" path="/"/>
        <external-path name="external_path" path="/" />
        <cache-path name="cache" path="/"/>
    </paths>
</resources>
⚠️ **GitHub.com Fallback** ⚠️