A JS/TS Library to download and install a new apk version of mobile apps. Wrapper of react-native-apk-installer-n with support to legacy android versions. Design to update existing applications e.g.: if you have app A and needs to update it from inside itself, you should create a update Alert that will use this lib to download and install the respective apk from your http server/api.
npm install @douugbr/react-native-apk-update
# For older RN versions
react-native link @douugbr/react-native-apk-update
These are also needed as peer dependencies:
npm install react-native-device-info
npm install react-native-fs
import { installRemoteApk } from 'react-native-apk-update';
import { useState } from 'react';
// ...
const [downloadProgress, setDownloadProgress] = useState < number > 0;
installRemoteApk(
'https://example.com/example.apk',
'myapk.apk',
(downloadInfo) => {
setDownloadProgress(downloadInfo.bytesWritten / downloadInfo.contentLength);
}
);
filePath
: The local uri where your apk is located.
async installRemoteApk(remoteUrl: string, filename: string, callback?: (downloadInfo: RNFS.DownloadProgressCallbackResult) => void, absoluteFilePath?: string)
remoteUrl
: The url in which your apk is served.
filename
: The filename which will be saved in your documents folder.
callback
: A callback that will track the apk download progress (not the install one). Example above.
absoluteFilePath
: A filepath to save the file, if not specified the file will be saved on documents folder.
See the contributing guide to learn how to contribute to the repository and the development workflow.
- Zixuan Liu and RNApkInstallerN contributors for the android base.
- Guilherme Tramontano for the legacy support code.
MIT