Реагировать на сбой собственного приложения в режиме релиза только после успешной сборки - PullRequest
0 голосов
/ 24 октября 2018

Мой проект работает нормально в режиме отладки, но в режиме выпуска он падает сразу после заставки на Android. Я еще не собрал его на ios.Это было сбоем в реакции-нативной версии 0.57.0, и теперь я снизил ее до версии 0.55.4, которая работает нормально в одном из моих других проектов

Я уже пробовал

  • удаление и переустановка узловых модулей.
  • отклонение моего проекта
  • cd android и запуск gradlew, gradlew clean

Это мой файл package.json

{   "name": "projectName",   
    "version": "1.0.1",   
    "private": true,   
    "rnpm": {
    "assets": [
      "./src/assets/Fonts/Fonts"
    ]   
   },   
   "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"   
     },   
    "dependencies": {
    "react": "16.3.1",
    "react-native": "0.55.4",
    "react-native-countdown-circle": "^3.0.0",
    "react-native-event-listeners": "^1.0.3",
    "react-native-keyboard-spacer": "^0.4.1",
    "react-native-linear-gradient": "^2.4.2",
    "react-native-modal": "^6.5.0",
    "react-native-percentage-circle": "^1.0.7",
    "react-native-sliding-panes": "^1.0.3",
    "react-native-snap-carousel": "^3.7.5",
    "react-native-splash-screen": "^3.1.1",
    "react-native-stars": "^1.1.5",
    "react-native-toast": "^1.0.1",
    "react-native-vector-icons": "^6.0.2",
    "react-navigation": "^2.17.0",
    "react-swipeable-views-native": "^0.12.9"   
    },   
    "devDependencies": {
    "babel-jest": "23.4.0",
    "babel-preset-react-native": "2.1.0",
    "jest": "23.4.1",
    "react-test-renderer": "16.3.1"   
    },   
    "jest": {
    "preset": "react-native"   
     } 

}

Это мой файл Android / build.gradle

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
        google()
    }
}

Это мой файл Android / App / build.gradle

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 = false

def enableProguardInReleaseBuilds = false

android {
    compileSdkVersion 26
    buildToolsVersion '28.0.3'

    defaultConfig {
        applicationId "projName"
        minSdkVersion 20
        targetSdkVersion 26
        versionCode 1
        versionName "1.0.1"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }
    signingConfigs {
        release {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
        }
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86"
        }
    }
    buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            signingConfig signingConfigs.release
        }
    }

    applicationVariants.all { variant ->
        variant.outputs.each { output ->

            def versionCodes = ["armeabi-v7a":1, "x86":2]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:26.1.0"
    implementation "com.facebook.react:react-native:+"  // From node_modules
    implementation project(':react-native-toast')
    implementation project(':react-native-splash-screen')
    implementation project(':react-native-linear-gradient')
    implementation project(':react-native-vector-icons')
}

task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into 'libs'
}

Это то, что я получил, запустив adb logcat *: S ReactNative: V ReactNativeJS: V

-------- начало системы --------- начало основного 10-24 12: 43: 04.376 3411 3411 D ReactNative: ReactInstanceManager.ctor () 10-24 12: 43: 04.466 3411 3411 D ReactNative: ReactInstanceManager.createReactContextInBackground () 10-24 12: 43: 04.466 3411 3411 D ReactNative: ReactInstanceManager.recreateReactContextInBackgroundInner () 10-24 12: 44: 52.606 3411 3411 D ReactNative: ReactInstanceManager.onJS 34106: 1260F:D ReactNative: ReactInstanceManager.recreateReactContextInBackground () 10-24 12: 44: 52.606 3411 3411 D ReactNative: ReactInstanceManager.runCreateReactContextOnNewThread () 10-24 12: 44: 52.692 3411 3473 D ReactNative: ReactInstanceManager.createReactContext () 10-24 12: 44: 53.020 3411 3473 D ReactNative: инициализация моста React Xplat.10-24 12: 44: 53.025 3411 3473 D ReactNative: инициализация моста React Xplat перед initializeBridge 10-24 12: 44: 53.066 3411 3473 D ReactNative: инициализация моста React Xplat после initializeBridge 10-24 12: 44: 53.067 3411 3473 D ReactNative: CatalystInstanceImpl.runJSBundle () 10-24 12: 44: 53.067 3411 3477 D ReactNative: ReactInstanceManager.setupReactContext () 10-24 12: 44: 53.068 3411 3477 D ReactNative: CatalystInstanceImpl.initialize () 53,070 12: 12,024:3411 3477 D ReactNative: ReactInstanceManager.attachRootViewToInstance () 10-24 12: 44: 54.244 3411 3476 I ReactNativeJS: Запуск приложения "goHard" с помощью appParams: {"rootTag": 1}. DEV === true, предупреждение на уровне разработки включено, оптимизация производительности выключена 10-24 12: 44: 54.981 3411 3476 W ReactNativeJS: Предупреждение: isMounting (...) устарела в простом JavaScript Reactклассы.Вместо этого обязательно очистите подписки и отложенные запросы в componentWillUnmount, чтобы предотвратить утечки памяти.10-24 12: 45: 39.086 3411 3476 I ReactNativeJS: 1 10-24 12: 45: 47.124 3411 3476 W ReactNativeJS: Предупреждение: isMounting (...) устарело в простых классах JavaScript React.Вместо этого обязательно очистите подписки и отложенные запросы в componentWillUnmount, чтобы предотвратить утечки памяти.10-24 12: 45: 54.050 3411 3476 I ReactNativeJS: загрузка началась 10-24 12: 46: 05.064 3411 3476 W ReactNativeJS: Предупреждение: isMounting (...) устарела в простых классах JavaScript React.Вместо этого обязательно очистите подписки и отложенные запросы в componentWillUnmount, чтобы предотвратить утечки памяти.10-24 12: 46: 05.252 3411 3476 W ReactNativeJS: Предупреждение: isMounting (...) устарела в простых классах JavaScript React.Вместо этого обязательно очистите подписки и отложенные запросы в componentWillUnmount, чтобы предотвратить утечки памяти.10-24 12: 46: 26.850 3411 3476 W ReactNativeJS: Предупреждение: isMounting (...) устарела в простых классах JavaScript React.Вместо этого обязательно очистите подписки и отложенные запросы в componentWillUnmount, чтобы предотвратить утечки памяти.10-24 12: 46: 31.782 3411 3476 I ReactNativeJS: загрузка началась 10-24 12: 46: 39.773 3411 3476 Вт ReactNativeJS: Предупреждение: isMounting (...) isне рекомендуется использовать в классах JavaScript React.Вместо этого обязательно очистите подписки и отложенные запросы в componentWillUnmount, чтобы предотвратить утечки памяти.10-24 12: 53: 39.697 3411 3476 W ReactNativeJS: Предупреждение: isMounting (...) устарела в простых классах JavaScript React.Вместо этого обязательно очистите подписки и отложенные запросы в componentWillUnmount, чтобы предотвратить утечки памяти.10-24 12: 55: 59,792 3870 3870 D ReactNative: ReactInstanceManager.ctor () 10-24 12: 55: 59.805 3870 3870 D ReactNative: ReactInstanceManager.createReactContextInBackground () 10-24 12: 55: 59.805 3870 3870 D ReactNative Reative: Родной10D ReactNative: ReactInstanceManager.runCreateReactContextOnNewThread () 10-24 12: 55: 59.855 3870 3885 D ReactNative: ReactInstanceManager.createReactContext () 10-24 12: 56: 00.192 3870 3885 D ReactNative: инициализация React Xp.10-24 12: 56: 00.198 3870 3885 D ReactNative: инициализация моста React Xplat перед initializeBridge 10-24 12: 56: 00.217 3870 3885 D ReactNative: инициализация моста React Xplat после initializeBridge 10-24 12: 56: 00.218 3870 3885 D ReactNative: CatalystInstanceImpl.runJSBundle () --------- начало сбоя 10-24 13: 20: 48.743 4074 4074 D ReactNative: ReactInstanceManager.ctor () 10-24 13: 20: 48.754 4074 4074 D ReactNative: ReactInstanceManager.createReactContextInBackground () 10-24 13: 20: 48.754 4074 4074 D ReactNative: ReactInstanceManager.recreateReactContextInBackgroundInner () 10-24 13: 20: 48.754 4074 4074 D ReactNative: ReactInstanceManager.recreack 8074: 70B: 72BBRoB: 0)D ReactNative: ReactInstanceManager.recreateReactContextInBackground () 10-24 13: 20: 48.754 4074 4074 D ReactNative: ReactInstanceManager.runCreateReactContextOnNewThread () 10-24 13: 20: 48.792 4074 4089 D ReactNateReact: ReactNateReact: ReactNate: ReactNate: ReactNate: ReateNate: ReateNate: ReateNate: ReateNate: ReateNate: ReateNate: ReactNate: ReateNate: ReactNate: ReactNate: ReactNate: ReactNate: ReactNate: ReactNate: 49,048 4074 4089 D ReactNative: Инициализация React Xplat Bridge.10-24 13: 20: 49.052 4074 4089 D ReactNative: инициализация моста React Xplat перед initializeBridge 10-24 13: 20: 49.095 4074 4089 D ReactNative: инициализация моста React Xplat после initializeBridge 10-24 13: 20: 49.096 4074 4089 D ReactNative: CatalystInstanceImpl.runJSBundle ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...