0

バックグラウンド

私は7から16までのAPIレベルで動作する必要があるAndroidアプリケーションを開発しています。

問題

私がプロジェクトを構築するために行くときはいつでも、これは私が経験しなければならないプロセスです。

  1. クリーンプロジェクト
  2. プロジェクトを実行する
  3. 「プロジェクトのエラー」>「OK」をクリック>「プロジェクトを再実行」
  4. どのAPIでも正常に動作します

問題は、API <3.0では使用できないコード(ActionBarなど)を含めているためだと思いますが、それをチェックして、その場合は別のコードを実行しています。

質問

実行するたびにこれを実行する必要があることを考えると、非常に時間がかかるため、これを回避する方法を知っている人はいますか。

4

2 に答える 2

1

開発にEclipseを使用していると思います。問題のあるメソッドに次のように注釈を付けることができます。

private final int VERSION = android.os.Build.VERSION.SDK_INT;
private File myDir;
// some stuff here
@SuppressLint("NewApi")
private void doSomething() {
    if (VERSION < 8) {
        // Uses a method available since API 1
        myDir = Environment.getExternalStorageDirectory();
     else {
        // Uses a method available since API 8
        myDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
    }
    // Do more stuff
}
于 2012-08-20T13:58:20.180 に答える
0

マニフェストに追加できます。

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="16" />

次に、ターゲットが16であるため、7バージョンと16バージョンの間のAPIがコンパイルされます。

次に、デバイスが7の場合、7を超えるAPIはデバイスで失敗しますが、コードでそれに対する対策を講じていると言っています。

于 2012-08-20T12:08:46.420 に答える