代码之家  ›  专栏  ›  技术社区  ›  ChemDev

为扩展包创建0%压缩zip文件mac

  •  2
  • ChemDev  · 技术社区  · 10 年前

    我正在尝试为Android应用程序创建一个扩展包,其中包含大约100个.mp3文件。据我从文件和 this 所以问题是,zip文件必须压缩0%。

    如何在mac上创建0%压缩的zip文件?

    2 回复  |  直到 8 年前
        1
  •  4
  •   ChemDev    10 年前

    以下是扩展包的工作实现,其中包含.mp3文件的zip文件:

    创建压缩率为0%的zip文件(在mac-in终端上):

    1. 将所有要压缩的文件放在文件夹中。我们称之为FOLDER_WITH_FILES_TO_ZIP

    2. cd到FOLDER_WITH_FILES_TO_ZIP的父目录

    3. 使用以下bash脚本创建文件名为FILENAME.zip的zip文件

      $ zip -0 -r FILENAME.zip FOLDER_WITH_FILES_TO_ZIP

    在google play控制台中上传一个新的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(); }
    
        2
  •  1
  •   Sandeep Singh    10 年前

    尝试使用此命令创建扩展文件

    $ jobb -d pathToFolder -o fileName.obb -k secret-key -pn packageName -pv 1
    

    有关详细信息,请参阅 This