title: React Native app - crash/close on startup on Android 8 real device
body: <p>I have a React Native project (not Expo) initialized with <code>react native init myapp</code>.
  I can run this application on Emulator and Real Device with Android 5, but cannot run the app on my Android Mobile with Android 8.</p>
  
  <p>Here's the <code>package.json</code>:</p>
  
  <pre><code>{
    "name": "myapp",
    "version": "2.0.0",
    "private": true,
    "main": "lib/index.js",
    "scripts": {
      "start": "node node_modules/react-native/local-cli/cli.js start",
      "test": "jest"
    },
    "dependencies": {
      "axios": "^0.18.0",
      "formik": "^1.5.1",
      "iso-639-1": "^2.0.3",
      "jsrsasign": "^8.0.12",
      "moment": "^2.24.0",
      "moment-jalaali": "^0.8.3",
      "react": "16.6.3",
      "react-native": "0.58.6",
      "react-native-app-intro-slider": "^1.0.1",
      "react-native-document-picker": "^2.3.0",
      "react-native-elements": "^1.1.0",
      "react-native-gesture-handler": "^1.1.0",
      "react-native-i18n": "^2.0.15",
      "react-native-modal-datetime-picker": "^6.0.0",
      "react-native-paper": "^2.12.0",
      "react-native-persian-calendar-picker": "^2.2.2",
      "react-native-settings-list": "^1.8.0",
      "react-native-simple-dialogs": "^1.1.0",
      "react-native-vector-icons": "^6.3.0",
      "react-navigation": "^3.3.2",
      "react-navigation-material-bottom-tabs": "^1.0.0",
      "realm": "^2.24.0",
      "yup": "^0.26.10"
    },
    "devDependencies": {
      "babel-cli": "^6.26.0",
      "babel-core": "7.0.0-bridge.0",
      "babel-jest": "24.1.0",
      "babel-preset-flow": "^6.23.0",
      "flow-bin": "^0.86.0",
      "jest": "24.1.0",
      "metro-react-native-babel-preset": "0.53.0",
      "react-test-renderer": "16.6.3"
    },
    "jest": {
      "preset": "react-native",
      "transformIgnorePatterns": [
        "node_modules/(?!(jest-)?react-native|react-navigation|react-navigation-redux-helpers)"
      ]
    },
    "rnpm": {
      "assets": [
        "./assets/fonts/"
      ]
    }
  }
  </code></pre>
  
  <p>I've tested it on Genymotion emulator with Android 5 and on a real LG device with Android 5 too and <strong>everything works fine</strong>.</p>
  
  <p>But lately, I tried to run this project on an <em>Honor 8X</em> device with Android 8. But the application will be closed without any error just after getting JS Bundle from Metro!</p>
  
  <ul>
  <li>Run command: <code>react-native run-android</code></li>
  </ul>
  
  <p>It's the log from <code>react-native log-android</code>:</p>
  
  <pre><code>--------- beginning of crash
  --------- beginning of system
  --------- beginning of main
  03-05 23:28:52.567  5513  5513 D ReactNative: ReactInstanceManager.ctor()
  03-05 23:28:52.604  5513  5513 D ReactNative: ReactInstanceManager.createReactContextInBackground()
  03-05 23:28:52.604  5513  5513 D ReactNative: ReactInstanceManager.recreateReactContextInBackgroundInner()
  03-05 23:29:32.605  5513  5513 D ReactNative: ReactInstanceManager.onJSBundleLoadedFromServer()
  03-05 23:29:32.608  5513  5513 D ReactNative: ReactInstanceManager.recreateReactContextInBackground()
  03-05 23:29:32.608  5513  5513 D ReactNative: ReactInstanceManager.runCreateReactContextOnNewThread()
  03-05 23:29:32.642  5513  5617 D ReactNative: ReactInstanceManager.createReactContext()
  </code></pre>
  
  <p>Just after the last line appears, the application will be closed on the device!</p>
  
  <ul>
  <li>Also, I gave all of the permissions to the app, including <em>Draw on other apps</em>, <em>Storage</em> permission and also excluded it from <em>Battery Saver</em>...</li>
  </ul>
  
  <p>Here's the Metro Bundler output (which looks fine):</p>
  
  <pre><code>Loading dependency graph, done.
   DELTA  [android, dev] ..\..\../index.js ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100.0% (1169/1169), done.
  
  ::ffff:127.0.0.1 - - [05/Mar/2019:20:02:17 +0000] "GET /index.delta?platform=android&amp;dev=true&amp;minify=false HTTP/1.1" 200 - "-" "okhttp/3.12.1"
  </code></pre>
  
  <ul>
  <li>I tried to run a <strong>Hello World</strong> application on my Honor 8X device and it runs successfully, so I think there's no problem with device and Android...</li>
  <li>Also considering that <code>myapp</code> runs successfully on Emulator and Device with Android 5, I'm completely confused... Maby there's a problem with one of <em>Dependencies</em></li>
  </ul>
  
  <p>Environment:
  - Windows 10 Enterprise</p>
  
  <p>Android Specific Files:
  <strong><code>android/build.gradle</code></strong>:</p>
  
  <pre><code>buildscript {
      ext {
          buildToolsVersion = "28.0.2"
          minSdkVersion = 16
          compileSdkVersion = 28
          targetSdkVersion = 27
          supportLibVersion = "28.0.0"
      }
      repositories {
          google()
          jcenter()
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:3.2.1'
      }
  }
  allprojects {
      repositories {
          mavenLocal()
          google()
          jcenter()
          maven {
              url "$rootDir/../node_modules/react-native/android"
          }
      }
  }
  task wrapper(type: Wrapper) {
      gradleVersion = '4.7'
      distributionUrl = distributionUrl.replace("bin", "all")
  }
  </code></pre>
  
  <p><strong><code>android/gradle.properties</code></strong>:</p>
  
  <pre><code>org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
  org.gradle.parallel=true
  </code></pre>
  
  <p><strong><code>android/app/build.gradle</code></strong></p>
  
  <pre><code>apply plugin: "com.android.application"
  import com.android.build.OutputFile
  project.ext.react = [
      entryFile: "index.js"
  ]
  apply from: "../../node_modules/react-native/react.gradle"
  def enableSeparateBuildPerCPUArchitecture = true
  def enableProguardInReleaseBuilds = true
  android {
      compileSdkVersion rootProject.ext.compileSdkVersion
      buildToolsVersion rootProject.ext.buildToolsVersion
      defaultConfig {
          applicationId "ir.mokhtaresho.tnet.users"
          minSdkVersion rootProject.ext.minSdkVersion
          targetSdkVersion rootProject.ext.targetSdkVersion
          versionCode 1
          versionName "2.0.0"
      }
      splits {
          abi {
              reset()
              enable enableSeparateBuildPerCPUArchitecture
              universalApk true
              include "armeabi-v7a", "x86", "arm64-v8a"
          }
      }
      buildTypes {
          release {
              minifyEnabled enableProguardInReleaseBuilds
              proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
          }
      }
      applicationVariants.all { variant -&gt;
          variant.outputs.each { output -&gt;
              def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3]
              def abi = output.getFilter(OutputFile.ABI)
              if (abi != null) {
                  output.versionCodeOverride =
                          versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
              }
          }
      }
  }
  dependencies {
      implementation project(':realm')
      implementation project(':react-native-vector-icons')
      implementation project(':react-native-i18n')
      implementation project(':react-native-gesture-handler')
      implementation project(':react-native-document-picker')
      implementation fileTree(dir: "libs", include: ["*.jar"])
      implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
      implementation "com.facebook.react:react-native:+"
  }
  task copyDownloadableDepsToLibs(type: Copy) {
      from configurations.compile
      into 'libs'
  }
  </code></pre>