2016-04-13 16 views
0

NativeScript 1.7.0(当時はアンドロイドプラットフォーム)で最初のアプリケーションを作成していますが、特定のページで戻るボタンを押したときにアプリケーションがクラッシュするこのエラーが発生します。私は、これが起こる正確な条件が何であるか分かりません。NativeScriptException:ナビゲーションスタックが破損しました

他に誰かがこれまでに遭遇したことはありますか?なぜこれが起こっているのか、それを修正したり回避する方法は?

NativeScript 1.7.0 TNS-コアモジュールは^ 1.7.1 TNS-アンドロイド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) 

答えて

1

tns-core-modulesとプラットフォームの両方のAndroid 1.7.1以降を使用していることを確認してください。 NSのいくつかのバージョンにはいくつかのナビゲーション問題がありました。私の理解では、それらはすべてv1.7.1で解決する必要があります

アップグレードするには。メインプロジェクトディレクトリに変更し、これらの単純なコマンドの各操作を行います。

  • NPMはTNS-コア・モジュールをインストールする@最新-s
  • TNSプラットフォームは削除アンドロイド
  • TNSプラットフォームが追加アンドロイド

次に、「cat package.json」または「type package.json」と入力すると、プラットフォームモジュールとコアモジュールの両方がv1.7.1以降に表示されます。

+0

私は既にtns-core-modulesとtns-androidバージョン1.7.1を使用しています。 package.jsonで : "TNS-アンドロイド":{ "バージョン": "1.7.1" } "TNS-コアモジュール": "^ 1.7.1" –

+0

うーん、今でありますとても興味深い。 1.これは簡単に複製できますか? 2.なぜ私がクラッシュしているのかわかるように、私(またはTelerik)が見るためにアプリをどこかに置くことは可能でしょうか? – Nathanael

関連する問題