如何使用jobb工具创建.obb文件作为主apk扩展文件?

时间:2013-09-21 05:30:21

标签: android android-sdk-tools apk-expansion-files

我有一个80Mb的apk,因此我无法在谷歌游戏商店上传它。我已经google了很多,发现我必须创建.obb文件作为主扩展文件。

此外,我发现我可以使用位于.obb内的jobb tool创建sdk > tools > jobb.bat文件,但不幸的是,它会在启动后立即关闭。

我错过了什么?

3 个答案:

答案 0 :(得分:2)

试试这个

$ jobb -d / temp / assets / -o new-obb-file.obb -k secret-key -pn com.my.app.package -pv 11

哪里

 -d <directory> : Set the input directory for creating an OBB file. 
 -o <filename>  : Specify the filename for the OBB file.
 -k <key>       : Specify a password for encrypting a new OBB file 
 -pn <package>  : Specify the package name for the application that mounts the OBB file,                which corresponds to the package value specified in your application's manifest. 
 -pv <version>  :   Set the minimum version for the application that can mount the OBB file, which corresponds to the android:versionCode value in your application's manifest. 

尝试此命令。

检查以下链接http://developer.android.com/tools/help/jobb.html

答案 1 :(得分:2)

我用Google搜索,发现我们必须在http://developer.android.com/google/play/expansion-files.html

中提及0% (No compression) .zip。

Tip: If you're packaging media files into a ZIP, you can use media playback calls on the files with offset and length controls (such as MediaPlayer.setDataSource() and SoundPool.load()) without the need to unpack your ZIP. In order for this to work, you must not perform additional compression on the media files when creating the ZIP packages. For example, when using the zip tool, you should use the -n option to specify the file suffixes that should not be compressed: zip -n .mp4;.ogg main_expansion media_files

如何使用winrar制作0%压缩邮件?

enter image description here

这里看压缩方法

所以我们必须在Play商店上传这个zip。

因此您无需使用 ZipHelper.java

只需使用

即可
ZipResourceFile expansionFile=null;

            try {
                expansionFile = APKExpansionSupport.getAPKExpansionZipFile(getApplicationContext(),3,0);

                     AssetFileDescriptor fd = expansionFile.getAssetFileDescriptor("test.mp4");
                     MediaPlayer mPlayer = new MediaPlayer();
                     mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                     mPlayer.setDataSource(fd.getFileDescriptor(),fd.getStartOffset(),fd.getLength());
                     mPlayer.prepare();
                     mPlayer.start();

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

答案 2 :(得分:0)

我能够使用以下命令创建OBB文件,但问题是该文件未在应用中提取并停留在ZipInputStream zis zis.getNextEntry()

/Users/rohit/Library/Android/sdk/tools/bin/jobb -d /Users/rohit/Workspace/code/iam/repo/music' 'files -o main.33.com.aml.iatia.activity.obb -pn com.aml.iatia.activity -pv 33

作为一种解决方案,我使用以下命令在MAC中使用CLI进行了创建,效果很好。

zip -r main.33.com.aml.iatia.activity.obb music' 'files -x "*/\.*"