2017-11-23 149 views
6

Niedawno zaimplementowałem już map box i zaktualizowałem do najnowszej wersji native, gradle, a co nie. Aplikacja działa absolutnie dobrze w trybie debugowania, ale gdy tylko uruchomię ją w trybie zwolnienia, natychmiast przestaje działać bez ekranu ostrzegawczego. Używam nowych typów propTes i tak dalej.Tryb debugowania aplikacji Native App działa poprawnie, tryb awaryjny ulega awarii (rejestr aplikacji i ocena "a.View.propTypes.style")

proszę zobaczyć wyjście zalogować

Ok przepraszam, podczas powyższych prac w trybie debugowania, aplikacja jest teraz upaść przy budowie uwalniania i jestem zdezorientowany.

Ja próbuje zbudować uwolnienie i awarii natychmiast chociaż działa dobrze w trybie debugowania:

11-23 00:48:14.499: E/SDAgentPackageStateReceiver(6040): Not going to handle 'com.goclustr.clustr'! 
11-23 00:48:14.704: E/CS/CscParser(20341): mps_code.dat does not exist 
11-23 00:48:14.720: E/CS/CscParser(20341): mps_code.dat does not exist 
11-23 00:48:14.735: E/CS/CscParser(20341): mps_code.dat does not exist 
11-23 00:48:14.884: E/Launcher.Model(1564): onPackageAdded :com.goclustr.clustr 
11-23 00:48:14.906: E/ApplicationPackageManager(1564): checkSettingsForIconTray value : 0 
11-23 00:48:14.907: E/ApplicationPackageManager(1564): checkSettingsForIconTray value : 0 
11-23 00:48:15.589: E/ReflectField(20468): Incorrect type : Fallback exception 
11-23 00:48:15.589: E/ReflectField(20468): Incorrect type : Fallback exception 
11-23 00:48:15.778: E/SemAffinityControl(20435): SemAffinityControl: registerfunction enter 
11-23 00:48:16.281: E/SensorService(6040): getSensorList a sensor (MAX86902) without holding its required permission: com.samsung.permission.SSENSOR 
11-23 00:48:16.281: E/SensorService(6040): getSensorList a sensor (HRM Ambient Light Canceling) without holding its required permission: com.samsung.permission.HRM_EXT 
11-23 00:48:16.281: E/SensorService(6040): getSensorList a sensor (HRM Proximity detecting) without holding its required permission: com.samsung.permission.HRM_EXT 
11-23 00:48:16.281: E/SensorService(6040): getSensorList a sensor (HRM Sensor) without holding its required permission: com.samsung.permission.SSENSOR 
11-23 00:48:16.281: E/SensorService(6040): getSensorList a sensor (Sensor Diagnostic Monitor) without holding its required permission: com.samsung.permission.SSENSOR 
11-23 00:48:16.297: E/Finsky(311): [1] com.google.android.finsky.wear.bk.a(3): onConnectionFailed: ConnectionResult{statusCode=API_UNAVAILABLE, resolution=null, message=null} 
11-23 00:48:16.633: E/AndroidRuntime(20526): Process: com.goclustr.clustr, PID: 20526 
11-23 00:48:16.633: E/AndroidRuntime(20526): com.facebook.react.common.JavascriptException: undefined is not an object (evaluating 'a.View.propTypes.style'), stack: 
11-23 00:48:16.633: E/AndroidRuntime(20526): global [email protected]:9 
11-23 00:48:16.633: E/AndroidRuntime(20526): at com.facebook.react.modules.core.ExceptionsManagerModule.showOrThrowError(ExceptionsManagerModule.java:56) 
11-23 00:48:16.633: E/AndroidRuntime(20526): at com.facebook.react.modules.core.ExceptionsManagerModule.reportFatalException(ExceptionsManagerModule.java:40) 
11-23 00:48:16.633: E/AndroidRuntime(20526): at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:374) 
11-23 00:48:16.633: E/AndroidRuntime(20526): at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:162) 
11-23 00:48:16.633: E/AndroidRuntime(20526): at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method) 
11-23 00:48:16.633: E/AndroidRuntime(20526): at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31) 
11-23 00:48:16.633: E/AndroidRuntime(20526): at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:194) 
11-23 00:48:16.850: E/ApplicationPackageManager(6833): checkSettingsForIconTray value : 0 
11-23 00:48:16.850: E/ApplicationPackageManager(6833): checkSettingsForIconTray value : 0 
11-23 00:48:16.865: E/ApplicationPackageManager(6833): checkSettingsForIconTray value : 0 
11-23 00:48:17.259: E/ReactNativeJS(20526): Module AppRegistry is not a registered callable module (calling unmountApplicationComponentAtRootTag) 
11-23 00:48:18.615: E/SMTCodec(20807): Fail to load libsmtcodec.so 
11-23 00:48:18.616: E/SMTCodec(20807): [VoiceCodec] Can use only PCM mode. 
11-23 00:48:19.302: E/HealthDataStore(20878): disconnectService: Context instance is invalid 
11-23 00:48:20.297: E/HealthDataStore(20903): disconnectService: Context instance is invalid 
11-23 00:48:20.588: E/com.strava.util.Benchmark(20998): "com.strava.StravaApplication.total" took 285 ms, but expected 60-175 ms 
11-23 00:48:21.328: E/ActivityThread(20789): Failed to find provider info for com.samsung.accessory.saproviders.sasvoice.util.SASVoiceNativeAppProvider 
11-23 00:48:21.486: E/HealthDataStore(20878): disconnectService: Context instance is invalid 
11-23 00:48:27.157: E/svoiceapi(20789): in pds_open function, Caught RCF::Exception: Unable to establish network connection. 
11-23 00:48:27.158: E/svoiceapi(20789): KEY : rampcode, VALUE : dash 
11-23 00:48:27.158: E/svoiceapi(20789): KEY : reason, VALUE : Unable to establish network connection 
11-23 00:48:45.574: E/CS/CscParser(21190): mps_code.dat does not exist 
11-23 00:48:45.588: E/CS/CscParser(21190): mps_code.dat does not exist 
11-23 00:48:45.602: E/CS/CscParser(21190): mps_code.dat does not exist 
11-23 00:48:46.291: E/SensorService(6040): getSensorList a sensor (MAX86902) without holding its required permission: com.samsung.permission.SSENSOR 
11-23 00:48:46.291: E/SensorService(6040): getSensorList a sensor (HRM Ambient Light Canceling) without holding its required permission: com.samsung.permission.HRM_EXT 

Jak widać nie jest to błąd na

11-23 00:48:17.259: E/ReactNativeJS(20526): Module AppRegistry is not a registered callable module (calling unmountApplicationComponentAtRootTag) 

i

Żadna z nich nie jest problemem w trybie debugowania

Dziękuję bardzo!

+0

Myślę, że musisz zmienić View.propTypes.style w swoim kodzie, ponieważ jest już przestarzałe, zmień go na ViewPropTypes.style. Zaimportuj również {ViewPropTypes} z "react-native"; Dokumenty znajdowały się tutaj https://facebook.github.io/react-native/docs/viewproptypes.html, ale teraz ich nie ma, myślę, że wprowadzą w nim pewne zmiany. – DennisFrea

+0

Niektóre z twoich modułów-węzłów używają View.propTypes.style zamiast tego użyj ViewPropTypes.style. Z opublikowanego dziennika nie można określić, który z nich. Spróbuj zaktualizować moduły do ​​najnowszej wersji. Czasem nawet aktualizacja modułów node-modules nie pomaga, ponieważ wiele bibliotek npm nadal nie aktualizuje swojego kodu, ale większość "popularnych" zrobiła. – zarcode

+0

Dzięki @zarcode Dodałem odpowiedź, ale wydaje mi się, że to 'react-native-router-flux' w wersji' 0.38.0' ale po aktualizacji do '4.0.0-beta.24' problem został rozwiązany. Uruchamianie 'jscodeshift -t react-codemod/transforms/React-PropTypes-to-prop-types.js myapp /' pomogło dodatkowo. –

Odpowiedz

3

Korzystanie react-codemon uruchomić na swoim katalogu projektów

jscodeshift -t reagować-codemod/przekształca/React-PropTypes-do-prop-types.js myapp/

Będzie to rozwiązać aktualizując proptypes dla źródła kod i dowolne moduły węzłów.

Ponowna instalacja modułów węzłów będzie wymagać ponownego uruchomienia polecenia wydaje się.

proszę postępować zgodnie z instrukcjami na co https://github.com/reactjs/react-codemod ale zasadniczo po zainstalowaniu jscodeshift i pobrałeś react-codemod plików jak powyżej dla różnych poleceń, takich jak przekształcenie React.propTypes do PropTypes i tak dalej.

myapp/ tutaj odpowiada mojemu całemu katalogowi projektów aplikacji, tak więc cały projekt natywny.

Po drugie, należy wziąć pod uwagę zależności projektu, z których korzystasz. Na przykład w moim przypadku użyłem react-native-router-flux w wersji 0.38.0, aplikacja działałaby w trybie debugowania, ale uległa awarii w wydaniu. Podjęto próbę uaktualnienia do najnowszej wersji beta 4.0.0-beta.24, a problem został rozwiązany.