最近、自分のアプリケーションをマーケットにリリースしました。あるユーザーから、アプリケーションを起動すると強制終了/レポート ダイアログが表示されるという報告を受けました。ユーザーにエラーを報告するように依頼したので、何が起こっているかのスタック トレースを確認でき、java.lang.VerifyError が返されました。
私が読んだことから、これは外部ライブラリに関係しているか、ターゲットの Android SDK バージョンとの java.lang のいくつかのメソッドの非互換性に関係しています。
ユーザーは Android 2.2.1 を使用していますが、アプリは現在、他の多くの 2.2 デバイスで動作するため、どこから掘り下げるべきかを考えています。
質問: 問題を見つけるために調査を開始するのに最適なものについて、誰か提案はありますか? 必要に応じてコードや詳細情報を提供できますので、お知らせください。
スタック トレースは次のとおりです。
java.lang.VerifyError: com.app.myapp.MainActivity
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1429)
at android.app.Instrumentation.newActivity(Instrumentation.java:1034)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2749)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2866)
at android.app.ActivityThread.access$2300(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2181)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:5097)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
前もって感謝します!
EDIT
Konstantinのリクエストごとに追加
MainActivity.java
package com.app.myapp;
//Imports removed
public class MainActivity extends BaseActivity implements Runnable {
private LayoutInflater mInflater;
private SharedPreferences prefs;
private SharedPreferences.Editor prefsEditor;
....
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
loadActivity(savedInstanceState);
}
private void loadActivity(Bundle savedInstanceState) {
setContentView(R.layout.mainlayout);
ActionBar actionBar = (ActionBar)findViewById(R.id.actionbar);
actionBar.setTitle("My App");
actionBar.setHomeAction(new IntentAction(this, null, R.drawable.ic_actionbar_home));
actionBar.addAction(new SearchAction(this, R.drawable.ic_actionbar_search));
weatherThread = new Thread(this);
try {
....Unrelated Code....
//****HERE WAS THE PROBLEM****//
Gson gson = new Gson();
....More Unrelated Code....
} catch (JsonSyntaxException ex) { }
initMembers();
initControls();
if (savedInstanceState != null) {
mSelectedLayout = savedInstanceState.getInt("CURRENT_TAB");
setCurrentTab();
}
else
loadMainLayout();
}
....Other unrelated code....
}