Java ClassCastException:getApplication()返回一些奇怪的结果

Java ClassCastException:getApplication()返回一些奇怪的结果,java,android,Java,Android,我有一个带有自定义应用程序类的Android应用程序: <application android:name=".App" android:icon="@drawable/icon" android:description="@string/IDS_APPDESC" android:label="@string/IDS_APPTITLE" android:theme="@style/Theme.App"> 现在,我在Google Play控制台中得到了

我有一个带有自定义应用程序类的Android应用程序:

<application android:name=".App"
    android:icon="@drawable/icon"
    android:description="@string/IDS_APPDESC"
    android:label="@string/IDS_APPTITLE"
    android:theme="@style/Theme.App">
现在,我在Google Play控制台中得到了一些崩溃报告,说这一行导致了
ClassCastException
。它们起源于

  • 华为荣誉10(HWCOL),安卓9
  • OnePlus OnePlus3T(OnePlus3T),Android 8.0
怎么可能呢

堆栈如下所示:

java.lang.RuntimeException: 
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3300)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3484)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:86)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2123)
  at android.os.Handler.dispatchMessage (Handler.java:109)
  at android.os.Looper.loop (Looper.java:207)
  at android.app.ActivityThread.main (ActivityThread.java:7470)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:524)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:958)
Caused by: java.lang.ClassCastException: 
  at ru.acme.Main.App (Main.java:322)
  at ru.acme.Main.onCreate (Main.java:145)
  at android.app.Activity.performCreate (Activity.java:7436)
  at android.app.Activity.performCreate (Activity.java:7426)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1286)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3279)
EDIT2:有一个名为App()的方法返回应用程序,还有一个类App。Java编译器没有抱怨


EDIT3:从另一个设备/操作系统获得相同的崩溃。可能不是黑客。

你能发布样本堆栈跟踪吗?你的崩溃来自
Main.App
类内部。这不是
.App
,除非您的
属性在清单中很奇怪。您确定
.App
Main.App
?我的意思是,感觉您有两个名为
App
,在将一个
App
转换为另一个
App
时可能会遇到问题。Main.App()是从Main.onCreate()调用的方法。是的,有一个方法App()返回类App的应用程序对象。这以前从来都不是问题……哦,对了,这是一种方法,对不起我的错误。我希望堆栈跟踪能够显示出要进行的转换。可能是有人在玩用一个被黑客攻击的
应用程序
子类重新打包你的应用程序的游戏。我想,这是必然的。Google Play是否收集并报告了这些数据的崩溃情况?
java.lang.RuntimeException: 
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3300)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3484)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:86)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2123)
  at android.os.Handler.dispatchMessage (Handler.java:109)
  at android.os.Looper.loop (Looper.java:207)
  at android.app.ActivityThread.main (ActivityThread.java:7470)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:524)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:958)
Caused by: java.lang.ClassCastException: 
  at ru.acme.Main.App (Main.java:322)
  at ru.acme.Main.onCreate (Main.java:145)
  at android.app.Activity.performCreate (Activity.java:7436)
  at android.app.Activity.performCreate (Activity.java:7426)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1286)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3279)