【问题标题】:Getting java.lang.NullPointerException when installed from Play Store, but working fine locally [duplicate]从Play商店安装时获取java.lang.NullPointerException,但在本地工作正常[重复]
【发布时间】:2025-12-10 21:30:02
【问题描述】:

我的一个实时应用程序https://play.google.com/store/apps/details?id=com.apps24x7.app.publichealth&hl=en_IE 遇到问题,当我从 Play 商店安装应用程序时,它在启动屏幕后崩溃,但是,当通过 android studio 安装时,它在离线模式下工作正常。

java.lang.NullPointerException: 
      at com.apps24x7.app.publichealth.Adapters.ChapterGridAdapter.getView (ChapterGridAdapter.java:4)
      at android.widget.AbsListView.obtainView (AbsListView.java:3180)
      at android.widget.GridView.onMeasure (GridView.java:1102)
      at android.view.View.measure (View.java:23410)
      at android.widget.RelativeLayout.measureChildHorizontal (RelativeLayout.java:715)
      at android.widget.RelativeLayout.onMeasure (RelativeLayout.java:461)
      at android.view.View.measure (View.java:23410)
      at android.widget.RelativeLayout.measureChildHorizontal (RelativeLayout.java:715)
      at android.widget.RelativeLayout.onMeasure (RelativeLayout.java:461)
      at android.view.View.measure (View.java:23410)
      at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6967)
      at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
      at android.view.View.measure (View.java:23410)
      at androidx.constraintlayout.widget.ConstraintLayout$Measurer.measure (ConstraintLayout.java:23)
      at androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure.a (BasicMeasure.java:116)
      at androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure.measureChildren (BasicMeasure.java:48)
      at androidx.constraintlayout.solver.widgets.analyzer.BasicMeasure.solverMeasure (BasicMeasure.java:48)
      at androidx.constraintlayout.solver.widgets.ConstraintWidgetContainer.measure (ConstraintWidgetContainer.java:48)
      at androidx.constraintlayout.widget.ConstraintLayout.resolveSystem (ConstraintLayout.java:48)
      at androidx.constraintlayout.widget.ConstraintLayout.onMeasure (ConstraintLayout.java:48)
      at android.view.View.measure (View.java:23410)
      at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6967)
      at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasureChild (CoordinatorLayout.java:18)
      at androidx.coordinatorlayout.widget.CoordinatorLayout.onMeasure (CoordinatorLayout.java:18)
      at android.view.View.measure (View.java:23410)
      at androidx.drawerlayout.widget.DrawerLayout.onMeasure (DrawerLayout.java:3)
      at android.view.View.measure (View.java:23410)
      at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6967)
      at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
      at androidx.appcompat.widget.ContentFrameLayout.onMeasure (ContentFrameLayout.java:154)
      at android.view.View.measure (View.java:23410)
      at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6967)
      at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1514)
      at android.widget.LinearLayout.measureVertical (LinearLayout.java:806)
      at android.widget.LinearLayout.onMeasure (LinearLayout.java:685)
      at android.view.View.measure (View.java:23410)
      at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6967)
      at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
      at android.view.View.measure (View.java:23410)
      at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6967)
      at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1514)
      at android.widget.LinearLayout.measureVertical (LinearLayout.java:806)
      at android.widget.LinearLayout.onMeasure (LinearLayout.java:685)
      at android.view.View.measure (View.java:23410)
      at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6967)
      at android.widget.FrameLayout.onMeasure (FrameLayout.java:185)
      at com.android.internal.policy.DecorView.onMeasure (DecorView.java:909)
      at android.view.View.measure (View.java:23410)
      at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:3017)
      at android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:1997)
      at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2286)
      at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1863)
      at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:8072)
      at android.view.Choreographer$CallbackRecord.run (Choreographer.java:911)
      at android.view.Choreographer.doCallbacks (Choreographer.java:723)
      at android.view.Choreographer.doFrame (Choreographer.java:658)
      at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:897)
      at android.os.Handler.handleCallback (Handler.java:790)
      at android.os.Handler.dispatchMessage (Handler.java:99)
      at android.os.Looper.loop (Looper.java:164)
      at android.app.ActivityThread.main (ActivityThread.java:7000)
      at java.lang.reflect.Method.invoke (Method.java)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:441)
      at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)

【问题讨论】:

  • 将其视为 NPE 规范的欺骗,因为它缺少 minimal reproducible example。如果你发布了一个 MCVE,但它仍然表明这不是一个骗局,我会重新打开它
  • 请看答案here

标签: android pointers exception nullpointerexception null


【解决方案1】:

我还不能发表评论,你启用了 proguard 吗?确保将所有模型添加到 proguard 规则中。并请提供您的问题与您的源代码。

-keep class com.yourapps.yourpackage.model.** { *; }

【讨论】: