Pgyer document center

Android SDK 3.0.0以上常见问题

  1. 使用 jar 包的集成方式,运行 App 后,SDK 的功能无法正常使用,可能的原因:

    Manifest.xml 文件中未配置以下信息,导致蒲公英 SDK 未能正确的初始化:

    <provider
       android:name="com.pgyersdk.PgyerProvider"
       android:authorities="${applicationId}.com.pgyer.provider"
       android:exported="false"/>
    
  2. 自定义更新提示功能,直接复制 Demo 中的自定义方法,不出现 UI 界面,可能的原因:

    更新提示自定方法,我们提供给开发者最大程度的自定义可能,在我们 Demo 中使用了最简单的逻辑,并打印出来关键的数据,没有 UI 的实现,具体的 UI 实现以及逻辑是需要开发者自己去调整实现的;

  3. 更新提示功能在下载完成 apk 后,没有自动弹出安装提示页面,可能的原因:

    1. 用户手机设置中允许未知来源安装包安装状态为关;
    2. Android8.0 以后,如果要安装 apk 需要额外添加权限:
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    

    蒲公英 SDK 3.0.1以上,aar 集成方式,包含了以上的权限,不需要重复添加。

  4. 自动更新提示弹出以后又马上消失,可能的原因:

    可能由于 3.0.0版本 SDK 会自动解绑更新提示,当一些开发者在使用延迟关闭上个页面或者使用其他框架会造成上述的原因,升级为最新版本的 SDK,可以解决以上问题。

  5. 在集成 SDK 以后提示合并 Manifest.xml 文件失败,可能的原因:

    1. 蒲公英 SDK 要求项目 Android API 大于等于16;
    2. 打开 Manifest.xml 文件查看具体报错原因,是否有格式不正确导致;
  6. 3.0.0版本提示 InterruptException,可能的原因:

    这是由于防止用户同一时间段多次请求,造成流量浪费,SDK 会在同一时间段内阻止上次请求的发起,会打印这个错误,不会实际对使用 SDK 的 App 造成任何的影响;

    在3.0.1版本以上修复,不再打印这个错误。

  7. 3.0.0以前的版本打印 Api.class 文件中出现 NullException,可能的原因:

    这个问题不会对使用 App 造成任何的影响,在3.0.1版本对此作了的修复,将不再打印此问题。

  8. 在运行 App 后,检查 SDK 功能是否正常运行,可以通过查看 Android Studio Logcat 的信息,搜索关键字 PgyerSDK 过滤,会得到类似以下结果:

    D/PgyerSDK:  PgyerProvider onCreate   // SDK 初始化
    D/PgyerSDK: create Crash File  path:...6.stacktrace   // 生成 Crash 信息文件
    D/PgyerSDK: Transmission succeeded       // Crash 成功上报蒲公英后台
    D/PgyerSDK: There is a new version   // 有新版本更新
    

    如果配置信息不正确,会得到以下类似信息:

    E/PgyerSDK: App ID is not correct     // APP ID 配置不正确
    W/PgyerSDK: There is no android.permission.WRITE_EXTERNAL_STORAGE  // App 没有存储权限
    W/PgyerSDK: Please grant  permission if you use Pgyer SDK feature.//不能正常使用 SDK 功能