Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

react-native-apk-installer

null--12GPL-3.00.0.2

Install an android APK from your react-native project. This project is based on react-native-android-library-boilerplate and react-native-install-apk

react-native, android, library, apk, installer, react-native-apk-installer

readme

React Native APK Installer

Install an android APK from your react-native project. This project is based on react-native-android-library-boilerplate and react-native-install-apk

Installing ApkInstaller

  1. Add react-native-apk-installer to your project

    • Install directly from npm: npm install --save react-native-apk-installer.
    • Or do npm install --save git+https://github.com/null--/react-native-apk-installer.git in your main project.
  2. Link the library:

    • Add the following to android/settings.gradle:

       include ':react-native-apk-installer'
       project(':react-native-apk-installer').projectDir = new File(settingsDir, '../node_modules/react-native-apk-installer/android')
    • Add the following to android/app/build.gradle:

       ...
      
       dependencies {
           ...
           compile project(':react-native-apk-installer')
       }
    • Add the following to android/app/src/main/java/**/MainApplication.java:

       ...
       import com.cnull.apkinstaller.ApkInstallerPackage;  // add this for react-native-apk-installer
      
       public class MainApplication extends Application implements ReactApplication {
      
           @Override
           protected List<ReactPackage> getPackages() {
               return Arrays.<ReactPackage>asList(
                   new MainReactPackage(),
                   ...
                   new ApkInstallerPackage()     // add this for react-native-apk-installer
               );
           }
       }
  3. Simply import ApkInstaller from 'react-native-apk-installer' (You might also need to install react-native-fs package).

     import RNFS from 'react-native-fs';
     import ApkInstaller from 'react-native-apk-installer'
    
      try {
          var filePath = RNFS.CachesDirectoryPath + '/com.example.app.apk';
          var download = RNFS.downloadFile({
            fromUrl: 'http://example.com/com.example.app.apk',
            toFile: filePath,
            progress: res => {
                console.log((res.bytesWritten / res.contentLength).toFixed(2));
            },
            progressDivider: 1
          });
    
          download.promise.then(result => {
            if(result.statusCode == 200) {
              console.log(filePath);
              ApkInstaller.install(filePath);
            }
          });
      }
      catch(error) {
          console.warn(error);
      }