-1

でAndroidアプリを開発しましたtargetSdkVersion="15"。このアプリケーションを Android 4.0.3 で実行すると、正常に動作します。しかし、Android 2.3.3でこれを試してみると、エラーが表示されます。そこで、バージョン管理の問題を自動的に見つける方法と、開発中にバージョン管理の問題を省略する方法を知りたいと思います。親切にこれで私を案内してください。前もって感謝します。

これは私の logcat のスタック トレースです。

10-04 08:36:00.731: W/dalvikvm(413): threadid=1: thread exiting with uncaught exception    (group=0x40015560)
10-04 08:36:00.742: E/AndroidRuntime(413): FATAL EXCEPTION: main
10-04 08:36:00.742: E/AndroidRuntime(413): java.lang.NoClassDefFoundError:     com.net.elderlyhealth.MainActivityMainpage$PagerAdapter
10-04 08:36:00.742: E/AndroidRuntime(413):  at  com.net.elderlyhealth.MainActivityMainpage.onCreate(MainActivityMainpage.java:62)
10-04 08:36:00.742: E/AndroidRuntime(413):  at  android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-04 08:36:00.742: E/AndroidRuntime(413):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
10-04 08:36:00.742: E/AndroidRuntime(413):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
10-04 08:36:00.742: E/AndroidRuntime(413):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
10-04 08:36:00.742: E/AndroidRuntime(413):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
10-04 08:36:00.742: E/AndroidRuntime(413):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-04 08:36:00.742: E/AndroidRuntime(413):  at android.os.Looper.loop(Looper.java:123)
10-04 08:36:00.742: E/AndroidRuntime(413):  at android.app.ActivityThread.main(ActivityThread.java:3683)
10-04 08:36:00.742: E/AndroidRuntime(413):  at java.lang.reflect.Method.invokeNative(Native Method)
10-04 08:36:00.742: E/AndroidRuntime(413):  at java.lang.reflect.Method.invoke(Method.java:507)
10-04 08:36:00.742: E/AndroidRuntime(413):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-04 08:36:00.742: E/AndroidRuntime(413):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-04 08:36:00.742: E/AndroidRuntime(413):  at dalvik.system.NativeStart.main(Native Method)
4

3 に答える 3

2

エラーのスタックトレースを提供できますか?少なくとも、私たちがどのようにあなたを助けることができるかについていくつかのアイデアを得ることができるように?

バージョンの問題を省略することに関しては、行を追加してみてください。

android:minSdkVersion="8"

直前のマニフェストファイル

targetSdkVersion="15"
于 2012-10-04T01:09:17.273 に答える
1

答えは簡単です。

android SDK は、対象の API をプロジェクトで使用できるようにします。下位バージョンで使用できない API を使用すると、エラーが発生します。

回避策

  1. API を使用する前に、ドキュメントでその API が利用可能かどうかを確認してください

  2. リフレクションを使用し、API が利用できない場合に対応します。アプリの動作は、すべてのデバイスで一貫しているわけではありません。

  3. 実際には、プロジェクトを最小限の API にターゲットする必要があります。

于 2012-10-04T04:37:54.383 に答える
0

Android LINT チェックはこれに向けてある程度進んでいますが、正直なところ、それ以上の最善の方法は、最小 SDK バージョンのデバイスでアプリを定期的に実行することです。

于 2012-10-04T00:50:20.803 に答える