我有一個Android遊戲(內置cocos2dx),這是最近公佈,谷歌正與以下異常,通知我啓動崩潰:安卓:沒有上下文顯示彈出
java.lang.ExceptionInInitializerError
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1409)
at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load game: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:429)
at java.lang.System.loadLibrary(System.java:554)
...
這似乎是發生在這種方法:
static {
System.loadLibrary("game");
}
我做了一些研究,看來,這可能是一個數量的問題,即使該應用程序在安裝過程中得到某種方式破壞的結果。我想向用戶顯示一個對話框,並要求他們重新下載應用程序。我可以在System.loadLibrary調用中添加一個try/catch,但不知道如何在沒有上下文的情況下執行任何操作。我不認爲我有一個,因爲這是在我的主Activity中調用onCreate()之前調用的。
有關如何通知用戶嘗試重新下載的任何想法?
謝謝!
我是否還必須在代碼中實際創建活動?我將如何去調用它來調用AlertDialog.Builder代碼? – fffanatics 2013-03-12 00:10:58
如果我理解正確,您希望這是第一個顯示的屏幕,對不對? – codeMagic 2013-03-12 00:12:31
我遇到的問題是System.loadLibrary()調用拋出UnsatisfiedLinkError異常(這是可能的)。從我讀過的內容來看,其中一個原因是Google Play商店中的安裝損壞/損壞。我想向用戶顯示一條消息,並重定向它們以重新安裝。 – fffanatics 2013-03-12 00:18:53