我已经创建了一个AS3移动应用程序,并通过闪存CS6成功导出。
在这个apk文件我已经包括了我的视频文件(将成为Android平板演示)。 该.flvs总规模单独为64MB。
当我试图上传到谷歌玩我得到了有关的文件大小为> 50MB的(预期)警告。
我花两个小时试图找到一个解决方法,包括使用jobb.bat,zipalign.bat,把文件放到main.1.obb和许多其他选项的格式。
该网站谷歌似乎认为我使用Eclipse(这我不是我用的Flash CS6),但我想所有这些工具无论如何,但取得了零次的结果。
我曾尝试http://developer.android.com/google/play/expansion-files.html -
但似乎极其复杂,假设我已经蚀。 我甚至试图导入了“Android的SDK \演员\谷歌\ play_apk_expansion”到Flash Builder,但不是合适的项目扩展。
我找遍了整个堆栈溢出至比如文章:
[ https://stackoverflow.com/questions/14385776/how-to-attach-a-expansion-file-to-an-as3-air-application/15232051#15232051][2]
-但由于还没有反应
AS3 / AIR谷歌Play应用程序ID和扩展文件的访问
-但是,没有明确的答案,而我甚至不知道如何得到了摆在首位的.obb文件。
APK 50meg +扩展包和Flash
-但是我没有亚马逊斗帐户。 也不知过了共享存储是什么机器人。
步骤来创建APK扩展文件
-不过是使用谷歌的旧版本(我没有“添加额外的按钮”)同样,这不是从Flash AS3项目,并再次依赖于Eclipse。
APK 50meg +扩展包和Flash
-但是这个人已经有.obb文件(如何?)。
正如你可以看到我已经尝试了很多不同的方式,但我不能简单的创建扩展方式。
因此,在短期;
Dose anyone one have a clear cut step by step technique on how to upload an .apk
created in Flash CS6 that is >50MB to Google Play ?
你不必准备OBB - 无需使用JOBB。
使用扩展文件的AIR应用程序最简单的方法是让一个小瑞士法郎作为预加载并使用它作为一个主要的apk和其他SWF文件(将加载)的所有大数据存储在OBB文件。
所以:
preloader.swf的 - > APK
app.swf - > OBB
在这种情况下,你不必做一个OBB文件,只需上传新的APK至Google Play和扩展文件区间变化“没有扩展文件”上传APK后“上传新文件”,然后选择您app.swf文件。 谷歌将改变的SWF OBB你不需要做。
当您上传新应用程式的第一个APK,您将无法添加OBB文件。 你必须公正APK上传,然后添加APK的新版本 - 这使OBB选项。
现在,你必须在你的预加载类从APK加载app.swf。 我使用的是类似的东西:
private var mainVersion:String="1000001";
private var path:String = "Android/obb/com.your.app.id";
private var filename:String= "main." + mainVersion + ".com.your.app.id.obb";//patch for second obb
private var file:File;
private var fileStream:FileStream;
private var bytes:ByteArray;
private var applicationLoader:Loader;
public function App()
{
file = File.documentsDirectory.resolvePath(path + "/" + filename);
if (file.exists)
{
loadSwf();
}
}
private function loadSwf():void
{
fileStream = new FileStream();
fileStream.open(file, FileMode.READ);
bytes = new ByteArray();
fileStream.readBytes(bytes);
fileStream.close();
var cont:LoaderContext = new LoaderContext();
cont.allowCodeImport = true;
applicationLoader = new Loader();
applicationLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleAppLoaded);
applicationLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, handleProgress);
applicationLoader.loadBytes(bytes, cont);
}
private function handleProgress(e:ProgressEvent):void
{
trace(int(100 * e.bytesLoaded / e.bytesTotal))
//just add progress bar if you want
}
private function handleAppLoaded(e:Event):void
{
addChild(applicationLoader);
}
您可以添加在预加载启动画面;)
如果你有更新OBB文件,你也必须用新的mainVersion APK重新编译
如果蚂蚁使用zip文件,而不是SWF,你必须上传一个zip文件,并在预加载,你必须处理它 - 解压缩,并从解包文件夹使用的数据。