2017-11-23 14 views
6

최근 맵 박스를 구현하고 있으며, 네이티브, gradle, 그리고하지 않습니다. 애플 리케이션은 디버그 모드에서 절대적으로 잘 실행되지만 릴리스 모드에서 실행하자 마자 경고 화면이 전혀 나타나지 않고 즉시 충돌합니다. 저는 새로운 propType을 사용하고 있습니다.React 네이티브 앱 디버그 모드가 정상적으로 작동합니다. 릴리스 모드가 충돌합니다 (앱 레지스트리 및 'a.View.propTypes.style'평가 중)

출력 내가 릴리스를 구축하고 내가 혼란 스러워요 때 디버그 모드에서 위의 작업 동안 앱이 현재 충돌되어, 사과

좋아 로그인 참조하십시오.

내가 릴리스를 구축하려고하고있어 충돌 즉시 비록 디버그 모드에서 작동합니다 : 당신이

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

에 대한 오류가 볼 수 있듯이

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 

com.facebook.react.common.JavascriptException: undefined is not an object (evaluating 'a.View.propTypes.style'), stack: 

어떤 것도 디버그 모드에서 문제가되지 않습니다.

대단히 감사합니다! react-codemon를 사용

+0

이미 사용 중지되었으므로 View.propTypes.style을 코드에서 변경해야하며 ViewPropTypes.style로 변경해야한다고 생각합니다. 'react-native'에서 {ViewPropTypes}도 가져 오십시오. 문서는 https://facebook.github.io/react-native/docs/viewproptypes.html에 있었지만 지금은 발견되지 않았습니다. 문서를 수정 한 것 같습니다. – DennisFrea

+0

일부 노드 모듈은 ViewPropTypes.style 대신 View.propTypes.style을 사용합니다. 게시 한 로그에서 어느 쪽인지 알 수 없습니다. 모듈을 최신 버전으로 업데이트하십시오. npm 라이브러리 중 많은 수가 여전히 코드를 업데이트하지 않았기 때문에 노드 모듈을 업데이트하는 것조차 도움이되지 못하는 경우가 있지만 대부분의 "인기있는"것들은 그렇게했습니다. – zarcode

+0

고마워요. @ zarcode 대답을 추가했는데, 저에게'0.38.0' 버전에서는'react-native-router-flux'로 보이지만 4.0.0-beta.24로 업그레이드하면 문제가 생깁니다. 해결되었습니다. 'jscodeshift -t react-codemod/transforms/React-PropTypes-to-prop-types.js myapp /'를 실행하면 추가적으로 도움이되었습니다. –

답변

3

는 반응-codemod -t/변환/반작용-PropTypes --에 소품 - types.js MyApp를/

이 소스에 대한 proptypes를 업데이트 해결할 프로젝트 디렉토리에

jscodeshift을 실행 코드 및 모든 노드 모듈.

노드 모듈을 다시 설치하려면 명령을 다시 실행해야합니다.

https://github.com/reactjs/react-codemod에서 지침을 통해 수행하지만 jscodeshift을 설치하고, 한 기본적으로 일단은 그래서 PropTypes에 React.propTypes 변환과 같은 다양한 명령에 대해 위와 같이 react-codemod 파일을 다운로드 한하십시오.

myapp/ 여기 내 전체 응용 프로그램 프로젝트 디렉토리에 해당하므로 전체 반응 네이티브 프로젝트입니다.

둘째, 사용중인 프로젝트 종속성을 고려하십시오. 예를 들어 내 경우에 버전을 0.38.0으로 사용하는 경우 앱은 디버그 모드에서 작동하지만 출시시 충돌이 발생합니다. 최신 베타 버전 4.0.0-beta.24으로 업그레이드하려고 시도했지만 문제가 해결되었습니다.