1

それで、私は少し前に Android アプリを書き、それを更新しようとしています。使用している電話が 3.0 未満の場合は何らかの方法で処理し、それ以外の場合は別の方法で処理するコード セクションを組み込みたいと考えています。

私のビルド ターゲットは project.properties ファイルで 11 に設定されていますが、まだ Android バージョン < 3.0 で動作しているように見えますか? これは正常ですか?ある時点でいくつかのクラッシュが見られますか? すべてが機能しているようです...私のminSDKVersionは8ですが、Android 2.3.3でAndroid 3.0コードを使用してこのアプリを実行するとどうなりますか?

4

3 に答える 3

1

この種の開発に取り組むときは、通常、下位のAPIから作業を進めるのが最善です。APIの作業バージョンを終了するたびに、次のレベルに進む前に、エラーなしでコンパイルされることを確認してください。targetSdkVersionとminSdkVersionが異なる場合、マニフェストは警告を表示します。ただし、これは主に、上位のAPIからメソッドを呼び出さないように注意するためです。便利な回避策は次のとおりです。

    private static int getApiLevel() {
            return Integer.parseInt(android.os.Build.VERSION.SDK);
    }
于 2012-06-01T16:35:18.157 に答える
1

一般に、API レベル 8 までさかのぼってプラットフォームで問題なく動作しますminSdkVersion。ただし、レベル 11 以降で導入された API を呼び出そうとすると、以前の (11 より前の) プラットフォームでクラッシュします。これを回避するには、そのようなメソッドを呼び出す前に、実行時に OS のバージョンを確認する必要があります。これを行う方法に関するアドバイスについては、 「プログラムによる Android API バージョンの取得」を参照してください。

于 2012-06-01T15:26:12.943 に答える
0

私は愚かな瞬間を過ごしていたと思います。minSDK を 8 に設定すると、8 より新しいものはすべて正常に動作するはずです。ビルド ターゲットを 11 に設定し、SDK が 11 よりも古い電話で 8 よりも新しいコードを実行する前にチェックを行うと、すべてのベースがカバーされるはずです。

targetSDK と minSDK をいじっていたときに少し混乱しました

コメントありがとうございます。

于 2012-06-04T15:44:17.207 に答える