web-dev-qa-db-ja.com

Android-アクティビティは非推奨のAPIを使用またはオーバーライドします

私は文字通り真新しいAndroid最新のプロジェクトAndroid Studioで作成しました。私が最初にしたことは、プロジェクトに「レルム」ライブラリを追加することでした。以下をgradleファイルに追加します。

compile 'io.realm:realm-Android:0.80.3'

コンパイルしようとすると、次のエラーが発生します。

Note: C:\....\MainActivity.Java uses or overrides a deprecated API.

オリジン2:C:\ Users\Usmaan.gradle\caches\modules-2\files-2.1\io.realm\realm-Android\0.80.3\7979d05ba7b919c53766bf98e31aaf0e9feb0590\realm-Android-0.80.3.jarエラー:ファイルの重複APK Cのパッケージ化:...\app\build\outputs\apk\app-debug-unaligned.apkアーカイブ内のパス:META-INF/services/javax.annotation.processing.Processor Origin 1:C:\ Users\Usmaan .gradle\caches\modules-2\files-2.1\com.jakewharton\butterknife\6.1.0\63735f48b82bcd24cdd33821342428252eb1ca5a\butterknife-6.1.0.jar build.gradle内のこれらのファイルは無視できます:Android {
packagingOptions {exclude'META-INF/services/javax.annotation.processing.Processor '}エラー:タスク':app:packageDebug 'の実行に失敗しました。

APK META-INF/services/javax.annotation.processing.Processorファイル1にコピーされた重複ファイル:C:\ Users\Usmaan.gradle\caches\modules-2\files-2.1\com.jakewharton\butterknife\6.1.0\63735f48b82bcd24cdd33821342428252eb1ca5a\butterknife-6.1.0.jarファイル2:C:\ Users\Usmaan.gradle\caches\modules-2\files-2.1\io.realm\realm-Android\0.80.3\7979d05ba7b919c53766bf98e31aaf0e9feb590 .3.jar}

何か案は?

4
Subby

バターナイフも使っているようですね。以下をbuild.gradleに追加してみましたか?

Android {
  ...

  packagingOptions {
    exclude 'META-INF/services/javax.annotation.processing.Processor'
  }
}
5

これをbuild.gradleのAndroidプラグインに追加すると、次のような問題が修正される傾向があります。

    packagingOptions {
        // Exclude file to avoid
        // Error: Duplicate files during packaging of APK
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
        exclude 'META-INF/services/javax.annotation.processing.Processor'
    }
}
2
EpicPandaForce

私の問題はここからでした:

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK, Android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
photoPickerIntent.setType("image/*");

Lintは、typeを設定するとコンストラクターのURIがクリアされるため、置き換える必要があることを警告していました。私はそれを次のように変更しました:

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setDataAndType(Android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");

そして警告は消えた。

0
Mahdi Moqadasi

ButterKnife I/Oページで指定されているようにbuild.gradleにこれらを追加します。

Android{
....
packagingOptions {
  exclude 'META-INF/services/javax.annotation.processing.Processor'
}


}

lintOptions {
  disable 'InvalidPackage'
}
0
Y2K