25
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

compileSdkVersionを上げるときに、非推奨になったAPIをチェックする

Posted at

新しいOSが発表されたときに、compileSdkVersion(targetSdkVersion)を上げることがあると思います。

非推奨APIのチェック

以下のように記述すると、ビルド時に非推奨APIの警告が表示されるようになります。
新しく非推奨になったAPIが無いか、ざっとチェックしたいときにいいと思います。

build.gradle
allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}

例えば、APIレベル24から非推奨になったカメラAPIのCamera.ACTION_NEW_PICTUREを利用していたメソッドがあったとします。

public void hogeMethod() {
    String aaa = Camera.ACTION_NEW_PICTURE;
}

この場合、compileSdkVersionを24に上げると新たに以下の警告が表示されるようになります。

error.png

プロセスとして取り入れる

日常的にチェックしてもいいと思います。

minSdkVersionによっては以下のように処理を切り分けるケースがでてきますが、こういう時に警告が出続けてしまいます。

public void hogeMethod() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        // 新しいAPIの処理
    } else {
        // Android7.0未満ではこっち
        String aaa = Camera.ACTION_NEW_PICTURE;
    }

対応した箇所の警告を抑止するなどすれば、保守性があがりそうです。

// ↓メソッドごと警告抑止するなら
@SuppressWarnings("deprecation")
public void hogeMethod() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
       
    } else {
        // ↓次の1ステップのみ警告抑止するなら
        // noinspection deprecation
        String aaa = Camera.ACTION_NEW_PICTURE;
    }
25
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?