我正在尝试为Android应用创建一个扩展包,其中包含大约100个.mp3文件。据我所知,文档和this SO问题,zip文件必须是0%压缩。
如何在Mac上创建0%压缩的zip文件?
答案 0 :(得分:2)
以下是扩展包的工作实现,其中包含一个包含.mp3文件的zip文件:
创建压缩率为0%的zip文件(在终端的mac上):
将要压缩的所有文件放在一个文件夹中。我们称之为FOLDER_WITH_FILES_TO_ZIP
cd进入FOLDER_WITH_FILES_TO_ZIP的父目录
使用以下bash脚本创建一个文件名为FILENAME.zip的zip文件
$ zip -0 -r FILENAME.zip FOLDER_WITH_FILES_TO_ZIP
在google play console中上传新的apk以及zip文件。
以下是从zip文件设置MediaPlayer对象的dataSource的示例代码。请注意我如何将FOLDER_WITH_FILES_TO_ZIP/
作为.mp3文件路径的一部分。这至关重要。
soundFileName = "test_file.mp3";
soundFileName = "FOLDER_WITH_FILES_TO_ZIP/" +soundFileName;
try{
// Get a ZipResourceFile representing a specific expansion file
ZipResourceFile expansionFile = APKExpansionSupport.
//Get the zip file with main obb file version 7 and no patch obb file
getAPKExpansionZipFile(MainActivity.this.getApplicationContext(),7,0);
//Get the asset file descriptor
AssetFileDescriptor assetFileDescriptor = expansionFile.getAssetFileDescriptor(soundFileName);
//Set the dataSource
mediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(), assetFileDescriptor.getStartOffset(), assetFileDescriptor.getLength());
}
catch (IllegalArgumentException e) { e.printStackTrace(); }
catch (IllegalStateException e) { e.printStackTrace();}
catch (IOException e) {e.printStackTrace(); }
答案 1 :(得分:1)
尝试使用此命令创建扩展文件
$ jobb -d pathToFolder -o fileName.obb -k secret-key -pn packageName -pv 1
有关详细信息,请参阅This