2016-04-13 17 views
0

İlk uygulamamı NativeScript 1.7.0'da (an için android platformu) oluşturuyorum ve belirli sayfalarda geri düğmesine basıldığında zaman zaman uygulamayı çökerten bu hatayı çalıştırıyorum. Bunun gerçekleşmesi için kesin koşulların ne olduğundan emin değilim.NativeScriptException: Bozuk gezinme yığını

Bunu daha önce başka biriyle karşılaştı mı? Bunun neden olabileceği ve nasıl düzeltileceği veya önlenebileceği hakkında herhangi bir fikrin var mı?

NativeScript 1.7.0 tns-çekirdek-modülleri^1.7.1 tns-android konsolda yazdırılır özel durum hakkında bilgi Burada 1.7.1

:

com.tns.NativeScriptException: 
Calling js method onBackPressed failed 

Error: Corrupted navigation stack; page: undefined; currentNavigationPage: undefined 
File: "/data/data/com.carteplay.consumer/files/app/tns_modules/ui/frame/frame.js, line: 664, column: 43 

StackTrace: 
    Frame: function:'Frame._processNavigationQueue', file:'/data/data/com.carteplay.consumer/files/app/tns_modules/ui/frame/frame-common.js', line: 173, column: 19 
    Frame: function:'_completePageAddition', file:'/data/data/com.carteplay.consumer/files/app/tns_modules/ui/transition/transition.js', line: 228, column: 15 
    Frame: function:'_onFragmentShown', file:'/data/data/com.carteplay.consumer/files/app/tns_modules/ui/transition/transition.js', line: 197, column: 9 
    Frame: function:'onFragmentShown', file:'/data/data/com.carteplay.consumer/files/app/tns_modules/ui/frame/frame.js', line: 43, column: 22 
    Frame: function:'FragmentClass.onCreateView', file:'/data/data/com.carteplay.consumer/files/app/tns_modules/ui/frame/frame.js', line: 537, column: 13 
    Frame: function:'NativeScriptActivity.onBackPressed', file:'/data/data/com.carteplay.consumer/files/app/tns_modules/ui/frame/frame.js', line: 664, column: 44 


    at com.tns.Platform.callJSMethodNative(Native Method) 
    at com.tns.Platform.dispatchCallJSMethodNative(Platform.java:816) 
    at com.tns.Platform.callJSMethod(Platform.java:715) 
    at com.tns.Platform.callJSMethod(Platform.java:694) 
    at com.tns.Platform.callJSMethod(Platform.java:684) 
    at com.tns.NativeScriptActivity.onBackPressed(NativeScriptActivity.java:41) 
    at android.app.Activity.onKeyUp(Activity.java:2179) 
    at android.view.KeyEvent.dispatch(KeyEvent.java:2650) 
    at android.app.Activity.dispatchKeyEvent(Activity.java:2424) 
    at com.tns.NativeScriptActivity.dispatchKeyEvent(NativeScriptActivity.java) 
    at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1877) 
    at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:3884) 
    at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3867) 
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3463) 
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3513) 
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3482) 
    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3567) 
    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3490) 
    at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3624) 
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3463) 
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3513) 
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3482) 
    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3490) 
    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3463) 
    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3513) 
    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3482) 
    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3600) 
    at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:3752) 
    at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2022) 
    at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1738) 
    at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1729) 
    at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:1999) 
    at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141) 
    at android.os.MessageQueue.nativePollOnce(Native Method) 
    at android.os.MessageQueue.next(MessageQueue.java:133) 
    at android.os.Looper.loop(Looper.java:124) 
    at android.app.ActivityThread.main(ActivityThread.java:5457) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:525) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:806) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622) 
    at dalvik.system.NativeStart.main(Native Method) 

cevap

1

Lütfen hem tns-core modüllerinin hem de platformun Android 1.7.1 veya sonraki sürümünü kullandığınızdan emin olun. NS'nin bazı sürümlerinde gezinme sorunları vardı. Anladığım kadarıyla bunların hepsi, v1.7.1

'da çözülmelidir; ana proje dizine geçmek ve bu basit komutların her yapın:

  • npm tns-çekirdek-modülleri kurmak @ son -s
  • tns platformu kaldırmak android
  • tns platformu eklemek android

Daha sonra bir "cat package.json" veya "package.json" yazabilirsiniz ve hem platform hem de çekirdek modüllerini v1.7.1 veya üstünde görmelisiniz.

+0

Zaten tns-çekirdek modülleri ve tns-android sürüm 1.7.1 kullanıyorum. package.json olarak : "TNS-robot": { "versiyonu": "1.7.1" } "tns çekirdekli modüller": "^ 1.7.1" –

+0

Hmm, hemen olmasıdır çok ilginç. 1. Bu kolayca çoğaltılabilir mi? 2. Uygulamanın bana (ya da Telerik'e) bakmak için bir yere koyabiliyor olmasının nedeni, bunun neden çökmekte olduğunu görebilmemiz. – Nathanael