私のアプリは多くのコンテンツをユーザーに配信しようとしているため、アプリのサイズは 50 MB をはるかに超えています。コンテンツの一部を縮小または削除する方法はありません。そのため、拡張アプローチを採用することにしました。
私はこのチュートリアルに従おうとしています: Android APK Expansion Files、テストのために拡張ファイルをデバイスに入れることまで成功しています。拡張内の任意のビデオ ファイルの入力ストリームを取得できました。しかし、videoView に VideoUri を設定しようとすると、クラッシュし始めます。ここにいくつかのコードがあります:
ZipFileContentProvider contentProvider = new ZipFileContentProvider();
String contentPath = "content://";
File root = Environment.getExternalStorageDirectory();
String EXP_PATH = File.separator + "Android" + File.separator + "obb" + File.separator;
String path = root.toString() + EXP_PATH + context.getPackageName() + File.separator + "main.1.com.c4e1.in2cricket.obb";
String zipFileName = contentPath + path + "/" + fileName;
Uri uri = Uri.parse(zipFileName);
videoView.setVideoUri(uri);
public class ZipFileContentProvider extends APEZProvider {
@Override
public String getAuthority() {
return "com.c4e1.in2cricket.provider.ZipFileContentProvider";
}
}