无法弄清楚Google Play控制台的堆栈跟踪峰值

时间:2017-05-20 15:15:41

标签: android

最近,我的Google Play控制台崩溃了。我无法弄清楚到底发生了什么。这是反混淆的堆栈跟踪,但它并没有真正告诉我发生了什么。我不能复制这个问题,但我每天都会收到数百个这样的问题。它似乎与一个班级有关,但给了我一行0,这显然没有用。在使用所有这些语句之前,我从未见过像这样的堆栈跟踪。任何人都知道可能导致这种情况的原因是什么?

堆栈跟踪

java.lang.RuntimeException: 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2342)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2404)
at android.app.ActivityThread.access$800(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1315)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5290)
at java.lang.reflect.Method.invoke(Method.java:0)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:911)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706)
Caused by: java.lang.RuntimeException: 
at android.os.Parcel.readValue(Parcel.java:2228)
at android.os.Parcel.readListInternal(Parcel.java:2526)
at android.os.Parcel.readArrayList(Parcel.java:1842)
at android.os.Parcel.readValue(Parcel.java:2173)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2485)
at android.os.BaseBundle.unparcel(BaseBundle.java:224)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:822)
at android.support.v4.app.FragmentManagerImpl.modifiesAlpha(FragmentManagerImpl.java:0)
at <OR>.shouldRunOnHWLayer(FragmentManagerImpl.java:0)
at <OR>.throwException(FragmentManagerImpl.java:0)
at <OR>.beginTransaction(FragmentManagerImpl.java:0)
at <OR>.popBackStack(FragmentManagerImpl.java:0)
at <OR>.putFragment(FragmentManagerImpl.java:0)
at <OR>.getFragment(FragmentManagerImpl.java:0)
at <OR>.dump(FragmentManagerImpl.java:0)
at <OR>.makeOpenCloseAnimation(FragmentManagerImpl.java:0)
at <OR>.makeFadeAnimation(FragmentManagerImpl.java:0)
at <OR>.loadAnimation(FragmentManagerImpl.java:0)
at <OR>.performPendingDeferredStart(FragmentManagerImpl.java:0)
at <OR>.isStateAtLeast(FragmentManagerImpl.java:0)
at <OR>.moveToState(FragmentManagerImpl.java:0)
at <OR>.moveToState(FragmentManagerImpl.java:0)
at <OR>.moveToState(FragmentManagerImpl.java:0)
at <OR>.addFragment(FragmentManagerImpl.java:0)
at <OR>.removeFragment(FragmentManagerImpl.java:0)
at <OR>.findFragmentByTag(FragmentManagerImpl.java:0)
at <OR>.enqueueAction(FragmentManagerImpl.java:0)
at <OR>.allocBackStackIndex(FragmentManagerImpl.java:0)
at <OR>.setBackStackIndex(FragmentManagerImpl.java:0)
at <OR>.popBackStackState(FragmentManagerImpl.java:0)
at <OR>.restoreAllState(FragmentManagerImpl.java:0)
at <OR>.attachController(FragmentManagerImpl.java:0)
at <OR>.dispatchConfigurationChanged(FragmentManagerImpl.java:0)
at <OR>.dispatchCreateOptionsMenu(FragmentManagerImpl.java:0)
at <OR>.dispatchPrepareOptionsMenu(FragmentManagerImpl.java:0)
at <OR>.dispatchOptionsItemSelected(FragmentManagerImpl.java:0)
at <OR>.onCreateView(FragmentManagerImpl.java:0)
at android.support.v4.app.FragmentManagerImpl.modifiesAlpha(FragmentManagerImpl.java:0)
at <OR>.shouldRunOnHWLayer(FragmentManagerImpl.java:0)
at <OR>.throwException(FragmentManagerImpl.java:0)
at <OR>.beginTransaction(FragmentManagerImpl.java:0)
at <OR>.popBackStack(FragmentManagerImpl.java:0)
at <OR>.putFragment(FragmentManagerImpl.java:0)
at <OR>.getFragment(FragmentManagerImpl.java:0)
at <OR>.dump(FragmentManagerImpl.java:0)
at <OR>.makeOpenCloseAnimation(FragmentManagerImpl.java:0)
at <OR>.makeFadeAnimation(FragmentManagerImpl.java:0)
at <OR>.loadAnimation(FragmentManagerImpl.java:0)
at <OR>.performPendingDeferredStart(FragmentManagerImpl.java:0)
at <OR>.isStateAtLeast(FragmentManagerImpl.java:0)
at <OR>.moveToState(FragmentManagerImpl.java:0)
at <OR>.moveToState(FragmentManagerImpl.java:0)
at <OR>.moveToState(FragmentManagerImpl.java:0)
at <OR>.addFragment(FragmentManagerImpl.java:0)
at <OR>.removeFragment(FragmentManagerImpl.java:0)
at <OR>.findFragmentByTag(FragmentManagerImpl.java:0)
at <OR>.enqueueAction(FragmentManagerImpl.java:0)
at <OR>.allocBackStackIndex(FragmentManagerImpl.java:0)
at <OR>.setBackStackIndex(FragmentManagerImpl.java:0)
at <OR>.popBackStackState(FragmentManagerImpl.java:0)
at <OR>.restoreAllState(FragmentManagerImpl.java:0)
at <OR>.attachController(FragmentManagerImpl.java:0)
at <OR>.dispatchConfigurationChanged(FragmentManagerImpl.java:0)
at <OR>.dispatchCreateOptionsMenu(FragmentManagerImpl.java:0)
at <OR>.dispatchPrepareOptionsMenu(FragmentManagerImpl.java:0)
at <OR>.dispatchOptionsItemSelected(FragmentManagerImpl.java:0)
at <OR>.onCreateView(FragmentManagerImpl.java:0)
at android.support.v4.app.FragmentManagerImpl.modifiesAlpha(FragmentManagerImpl.java:0)
at <OR>.shouldRunOnHWLayer(FragmentManagerImpl.java:0)
at <OR>.throwException(FragmentManagerImpl.java:0)
at <OR>.beginTransaction(FragmentManagerImpl.java:0)
at <OR>.popBackStack(FragmentManagerImpl.java:0)
at <OR>.putFragment(FragmentManagerImpl.java:0)
at <OR>.getFragment(FragmentManagerImpl.java:0)
at <OR>.dump(FragmentManagerImpl.java:0)
at <OR>.makeOpenCloseAnimation(FragmentManagerImpl.java:0)
at <OR>.makeFadeAnimation(FragmentManagerImpl.java:0)
at <OR>.loadAnimation(FragmentManagerImpl.java:0)
at <OR>.performPendingDeferredStart(FragmentManagerImpl.java:0)
at <OR>.isStateAtLeast(FragmentManagerImpl.java:0)
at <OR>.moveToState(FragmentManagerImpl.java:0)
at <OR>.moveToState(FragmentManagerImpl.java:0)
at <OR>.moveToState(FragmentManagerImpl.java:0)
at <OR>.addFragment(FragmentManagerImpl.java:0)
at <OR>.removeFragment(FragmentManagerImpl.java:0)
at <OR>.findFragmentByTag(FragmentManagerImpl.java:0)
at <OR>.enqueueAction(FragmentManagerImpl.java:0)
at <OR>.allocBackStackIndex(FragmentManagerImpl.java:0)
at <OR>.setBackStackIndex(FragmentManagerImpl.java:0)
at <OR>.popBackStackState(FragmentManagerImpl.java:0)
at <OR>.restoreAllState(FragmentManagerImpl.java:0)
at <OR>.attachController(FragmentManagerImpl.java:0)
at <OR>.dispatchConfigurationChanged(FragmentManagerImpl.java:0)
at <OR>.dispatchCreateOptionsMenu(FragmentManagerImpl.java:0)
at <OR>.dispatchPrepareOptionsMenu(FragmentManagerImpl.java:0)
at <OR>.dispatchOptionsItemSelected(FragmentManagerImpl.java:0)
at <OR>.onCreateView(FragmentManagerImpl.java:0)
at android.support.v4.app.FragmentManagerImpl.dispatchCreate(FragmentManagerImpl.java:0)
at android.support.v4.app.FragmentController.dispatchCreate(FragmentController.java:0)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:0)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:0)
at com.clashtoolkit.clashtoolkit.calculator.activities.CalculatorMainActivity.onCreate(CalculatorMainActivity.java:0)
at android.app.Activity.performCreate(Activity.java:6039)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)

CalculatorMainActivity.java

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_calculator_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    if (getSupportActionBar() != null) {
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle(R.string.army_calc_title);
    }

    if (getResources().getBoolean(R.bool.portrait_only)) {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

    FirebaseAnalytics mFirebaseAnalytics = FirebaseAnalytics.getInstance(CalculatorMainActivity.this);
    if (savedInstanceState == null) {
        Bundle bundle = new Bundle();
        bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, "calculator_main_page");
        mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.VIEW_ITEM, bundle);
    }

    QueueFactory factory = new QueueFactory();
    mQueue = factory.getQueue(this);

    Intent intent = getIntent();
    int armyId = intent.getIntExtra(ARMY_ID_INTENT, 0);


    if (savedInstanceState == null) {
        mTroopFragment = CalculatorItemListFragment.newInstance(ClashItemFactoryFactory.TROOPS, mQueue.getCampCapacity(), armyId);
        mSpellFragment = CalculatorItemListFragment.newInstance(ClashItemFactoryFactory.SPELLS, mQueue.getSpellFactoryCapacity(), armyId);
    } else {
        mTroopFragment = (CalculatorItemListFragment) getSupportFragmentManager().findFragmentByTag("android:switcher:2131624064:0");
        mSpellFragment = (CalculatorItemListFragment) getSupportFragmentManager().findFragmentByTag("android:switcher:2131624064:1");
    }

    ViewPager viewPager = (ViewPager) findViewById(R.id.calculator_viewpager);
    mAdapter = new ViewPagerAdapter(getSupportFragmentManager());
    mAdapter.addFrag(mTroopFragment, "Troops");
    mAdapter.addFrag(mSpellFragment, "Spells");

    if (viewPager != null) {
        viewPager.setAdapter(mAdapter);
    }

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
    if (tabLayout != null) {
        tabLayout.setupWithViewPager(viewPager);
    }


    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    if (fab != null) {
        fab.setOnClickListener(this);
    }

    mAdView = (AdView) findViewById(R.id.adView);
    Utilities.startAdView(mAdView);

    if (findViewById(R.id.display_fragment) != null) {
        mTwoPane = true;
        ArmyQueueFragment fragment = new ArmyQueueFragment();
        getSupportFragmentManager().beginTransaction().replace(R.id.display_fragment, fragment, DISPLAY_FRAGMENT_TAG).commit();
    }
}

新Stacktrace:

java.lang.NullPointerException: 
at android.support.v4.app.BackStackRecord.dump(BackStackRecord.java:0)
at <OR>.dump(BackStackRecord.java:0)
at <OR>.addOp(BackStackRecord.java:0)
at <OR>.add(BackStackRecord.java:0)
at <OR>.add(BackStackRecord.java:0)
at <OR>.add(BackStackRecord.java:0)
at <OR>.doAddOp(BackStackRecord.java:0)
at <OR>.remove(BackStackRecord.java:0)
at <OR>.disallowAddToBackStack(BackStackRecord.java:0)
at <OR>.bumpBackStackNesting(BackStackRecord.java:0)
at <OR>.commitInternal(BackStackRecord.java:0)
at <OR>.generateOps(BackStackRecord.java:0)
at <OR>.interactsWith(BackStackRecord.java:0)
at <OR>.expandOps(BackStackRecord.java:0)
at <OR>.setOnStartPostponedListener(BackStackRecord.java:0)
at android.support.v4.app.BackStackRecord.dump(BackStackRecord.java:0)
at <OR>.dump(BackStackRecord.java:0)
at <OR>.addOp(BackStackRecord.java:0)
at <OR>.add(BackStackRecord.java:0)
at <OR>.add(BackStackRecord.java:0)
at <OR>.add(BackStackRecord.java:0)
at <OR>.doAddOp(BackStackRecord.java:0)
at <OR>.remove(BackStackRecord.java:0)
at <OR>.disallowAddToBackStack(BackStackRecord.java:0)
at <OR>.bumpBackStackNesting(BackStackRecord.java:0)
at <OR>.commitInternal(BackStackRecord.java:0)
at <OR>.generateOps(BackStackRecord.java:0)
at <OR>.interactsWith(BackStackRecord.java:0)
at <OR>.expandOps(BackStackRecord.java:0)
at <OR>.setOnStartPostponedListener(BackStackRecord.java:0)
at android.support.v4.app.FragmentPagerAdapter.getItem(FragmentPagerAdapter.java:0)
at <OR>.startUpdate(FragmentPagerAdapter.java:0)
at <OR>.instantiateItem(FragmentPagerAdapter.java:0)
at <OR>.destroyItem(FragmentPagerAdapter.java:0)
at <OR>.isViewFromObject(FragmentPagerAdapter.java:0)
at <OR>.saveState(FragmentPagerAdapter.java:0)
at <OR>.restoreState(FragmentPagerAdapter.java:0)
at <OR>.makeFragmentName(FragmentPagerAdapter.java:0)
at android.support.v4.view.ViewPager.initViewPager(ViewPager.java:0)
at <OR>.addOnAdapterChangeListener(ViewPager.java:0)
at <OR>.setCurrentItem(ViewPager.java:0)
at <OR>.setCurrentItemInternal(ViewPager.java:0)
at <OR>.setCurrentItemInternal(ViewPager.java:0)
at <OR>.scrollToItem(ViewPager.java:0)
at <OR>.addOnPageChangeListener(ViewPager.java:0)
at <OR>.distanceInfluenceForSnapDuration(ViewPager.java:0)
at <OR>.smoothScrollTo(ViewPager.java:0)
at <OR>.addNewItem(ViewPager.java:0)
at <OR>.populate(ViewPager.java:0)
at <OR>.calculatePageOffsets(ViewPager.java:0)
at <OR>.infoForChild(ViewPager.java:0)
at <OR>.recomputeScrollPosition(ViewPager.java:0)
at <OR>.onPageScrolled(ViewPager.java:0)
at <OR>.completeScroll(ViewPager.java:0)
at <OR>.isGutterDrag(ViewPager.java:0)
at <OR>.determineTargetPage(ViewPager.java:0)
at <OR>.onSecondaryPointerUp(ViewPager.java:0)
at <OR>.canScroll(ViewPager.java:0)
at <OR>.executeKeyEvent(ViewPager.java:0)
at <OR>.getChildRectInPagerCoordinates(ViewPager.java:0)
at android.support.v4.view.ViewPager.initViewPager(ViewPager.java:0)
at <OR>.addOnAdapterChangeListener(ViewPager.java:0)
at <OR>.setCurrentItem(ViewPager.java:0)
at <OR>.setCurrentItemInternal(ViewPager.java:0)
at <OR>.setCurrentItemInternal(ViewPager.java:0)
at <OR>.scrollToItem(ViewPager.java:0)
at <OR>.addOnPageChangeListener(ViewPager.java:0)
at <OR>.distanceInfluenceForSnapDuration(ViewPager.java:0)
at <OR>.smoothScrollTo(ViewPager.java:0)
at <OR>.addNewItem(ViewPager.java:0)
at <OR>.populate(ViewPager.java:0)
at <OR>.calculatePageOffsets(ViewPager.java:0)
at <OR>.infoForChild(ViewPager.java:0)
at <OR>.recomputeScrollPosition(ViewPager.java:0)
at <OR>.onPageScrolled(ViewPager.java:0)
at <OR>.completeScroll(ViewPager.java:0)
at <OR>.isGutterDrag(ViewPager.java:0)
at <OR>.determineTargetPage(ViewPager.java:0)
at <OR>.onSecondaryPointerUp(ViewPager.java:0)
at <OR>.canScroll(ViewPager.java:0)
at <OR>.executeKeyEvent(ViewPager.java:0)
at <OR>.getChildRectInPagerCoordinates(ViewPager.java:0)
at android.support.v4.view.ViewPager.populate(ViewPager.java:0)
at <OR>.isDecorView(ViewPager.java:0)
at <OR>.requestParentDisallowInterceptTouchEvent(ViewPager.java:0)
at <OR>.arrowScroll(ViewPager.java:0)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:0)
at android.view.View.measure(View.java:18803)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5985)
at android.support.design.widget.CoordinatorLayout.releaseTempRect(CoordinatorLayout.java:0)
at <OR>.setWindowInsets(CoordinatorLayout.java:0)
at <OR>.getTopSortedChildren(CoordinatorLayout.java:0)
at <OR>.performIntercept(CoordinatorLayout.java:0)
at <OR>.parseBehavior(CoordinatorLayout.java:0)
at <OR>.getResolvedLayoutParams(CoordinatorLayout.java:0)
at <OR>.getDescendantRect(CoordinatorLayout.java:0)
at <OR>.onMeasureChild(CoordinatorLayout.java:0)
at <OR>.onLayoutChild(CoordinatorLayout.java:0)
at <OR>.getChildRect(CoordinatorLayout.java:0)
at <OR>.getDesiredAnchoredChildRectWithoutConstraints(CoordinatorLayout.java:0)
at <OR>.constrainChildRect(CoordinatorLayout.java:0)
at <OR>.getDesiredAnchoredChildRect(CoordinatorLayout.java:0)
at <OR>.layoutChildWithAnchor(CoordinatorLayout.java:0)
at <OR>.onChildViewsChanged(CoordinatorLayout.java:0)
at <OR>.offsetChildByInset(CoordinatorLayout.java:0)
at <OR>.ensurePreDrawListener(CoordinatorLayout.java:0)
at <OR>.isPointInChildBounds(CoordinatorLayout.java:0)
at <OR>.generateLayoutParams(CoordinatorLayout.java:0)
at <OR>.generateLayoutParams(CoordinatorLayout.java:0)
at android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:0)
at <OR>.getOverlapRatioForOffset(HeaderScrollingViewBehavior.java:0)
at <OR>.getVerticalLayoutGap(HeaderScrollingViewBehavior.java:0)
at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onRequestChildRectangleOnScreen(AppBarLayout.java:0)
at <OR>.getOverlapRatioForOffset(AppBarLayout.java:0)
at <OR>.getAppBarLayoutOffset(AppBarLayout.java:0)
at <OR>.findFirstDependency(AppBarLayout.java:0)
at <OR>.onMeasureChild(AppBarLayout.java:0)
at <OR>.setTopAndBottomOffset(AppBarLayout.java:0)
at <OR>.onLayoutChild(AppBarLayout.java:0)
at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:0)
at android.view.View.measure(View.java:18803)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5985)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:0)
at android.view.View.measure(View.java:18803)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5985)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
at android.view.View.measure(View.java:18803)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5985)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:18803)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5985)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
at android.view.View.measure(View.java:18803)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5985)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2660)
at android.view.View.measure(View.java:18803)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2106)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1222)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1458)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1113)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6026)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:606)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5452)
at java.lang.reflect.Method.invoke(Method.java:0)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:762)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)

1 个答案:

答案 0 :(得分:0)

编辑:请参阅New Google developer console crashes stack traces are not accurate anymore,这是因为当缺少行号时,proguard反模糊处理不明确。