2

50MBを超えるプロジェクトがあります。Rawフォルダーにいくつかの画像とビデオがあります。拡張ファイルを生成するにはどうすればよいですか? 開発者向けドキュメントを確認しましたが、わかりにくいです。誰でもこれで私を助けることができますか?

プロジェクトから未加工のフォルダーをコピーしてデスクトップに貼り付け、そのフォルダー全体を Google ドキュメントで指定された名前形式で圧縮する必要がありますか? 例: パッケージ名が「com.my.package」で、バージョン コード 1 とメインの拡張ファイルがあります。raw フォルダー全体を圧縮して、名前を「main.1.com.my.package.zip」にする必要がありますか?

これを作成した後、プロジェクト フォルダーから raw フォルダーを削除する必要があります。次に、保存場所からファイルにアクセスするようにプロジェクトのコードを変更する必要があります。どうやってやるの?

以下のコードを使用して、raw フォルダー内のファイルにアクセスしました。これを変更して、SD カードに保存されている拡張ファイルからファイルにアクセスするにはどうすればよいですか?

String path1 = "android.resource://" + getPackageName() + "/" + R.raw.e4;
4

4 に答える 4

2

できるだけサイズを小さくしてください。リリース モードで proguard を有効にできます。ProGuard ツールは、未使用のコードを削除し、クラス、フィールド、メソッドの名前を意味的にわかりにくい名前に変更することで、コードを縮小、最適化、および難読化します。その結果、.apk ファイルのサイズが小さくなり、リバース エンジニアリングがより困難になります

以下のリンクで確認できます。

http://developer.android.com/google/play/expansion-files.html#ZipLib

ZIP ファイルからの読み取り

APK 拡張 Zip ライブラリを使用する場合、通常、ZIP からファイルを読み取るには次のことが必要です。

// Get a ZipResourceFile representing a merger of both the main and patch files
ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(appContext,
    mainVersion, patchVersion);

// Get an input stream for a known file inside the expansion file ZIPs
InputStream fileStream = expansionFile.getInputStream(pathToFileInsideZip);

http://developer.android.com/google/play/expansion-files.html#StorageLocation

http://developer.android.com/google/play/expansion-files.html

編集:

リンクのチュートリアルを確認してください

http://ankitthakkar90.blogspot.in/2013/01/apk-expansion-files-in-android-with.html

于 2013-04-23T05:39:48.043 に答える