rn-roc-appupdate

Update apk in rn

Usage no npm install needed!

<script type="module">
  import rnRocAppupdate from 'https://cdn.skypack.dev/rn-roc-appupdate';
</script>

README

本包主要解决android硬更新问题

安装方法

  1. yarn add rn-roc-appupdate(androidx以下请下载1.0.1版本)
  2. 在android/app/src/main/res/xml新建文件provider_paths.xml,内容为
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <files-path name="external_files" path="." />
</paths>
  1. 在AndroidManifest.xml中添加如下内容,注意修改包名
<!-- 以下为添加内容 -->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<!-- 以上为添加内容 -->
<application>
   <!-- 以下为添加内容 -->
    <provider
        android:name="androidx.core.content.FileProvider"
        android:authorities="包名.fileProvider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/provider_paths" />
    </provider>
    <!-- 以上为添加内容 -->
</application>

使用示例

const appUpdate = new AppUpdate({
    apkUrl: "",//下载地址
    downloadApkStart: () => { /*开始下载*/ },
    downloadApkProgress: (progress) => { /*下载进度 progress为0~100的数字*/   },
    downloadApkEnd: () => { /*结束下载,会调用安装*/ },
    onError: () => { /*下载安装的错误*/ }
});
appUpdate.downloadApk()