Android7.0でFileProviderを使ってみました。ですがライブラリがないということで早速エラーの壁にぶつかることに・・・。
androidDeveloperや先人方のブログを拝見した結果どうやらFileProviderはandroid.support.v4というライブラリに入っており、この中の必要なjarファイルのみを取り出してlibファイルの中に入れる必要があるみたいです。なので‘com.android.support:appcompat-v7:28.0.0’みたいに追記しても中を確認してくれないのでエラーになります。古いアプリだとライブラリとかのバージョンのアップデートで置いていかれているのでアプリのバージョンアップの際には要チェックですね。ライブラリですがこんな感じに追加していきます。
appDataー>localー>androidー>SDKー>extraー>androidー>m2repositoryー>comー>androidー>supportー>suport-compat25.3.1ー>support-compat-25.3.1.aar
下に行くにつれて新しいので、ここでは25.3.1を選択しています。
中に進むとsupport-compat-25.3.1.aarというファイルがありますが、この拡張子をzipに変更します。変更後にzipファイルを開くとclasses.jarというファイルがあるので、これをsupport-compat-25.3.1.jarという名前に変更します。
変更後、jarファイルをコピーしてアプリのlibsファイルに置きます。ディレクトリは、アプリパッケージ名ー>appー>libsです。これを繰り返してFileProviderに必要なファイルを全て置いていきます。
ファイル操作はこれで完了です。後はandroidStudioで先ほど追加したライブラリ群をインポートしていきます。メニューのproject structureを開きmodulesのappを開きます。右端のdependenciesをクリックします。
同じく右端のプラスのボタン(緑色)をクリックしてjar dependenciesをクリックすると、先ほど追加したライブラリが表示されるのでこれをひたすら追加していきます。すると、グレイドルにこんな感じで追加されていると思います。
最後に下の一文を追加します。fileProviderに必要なライブラリのインポートはこれで終了です。
</pre> <pre>compile fileTree(include: ['*.jar'], dir: 'libs')</pre> <pre>
かなり手間がかかりますが、gradleのアップデートを忘れていなければ大丈夫そうかな?と思います。