APK Expansion Files调查笔记
来源:互联网 发布:捕鱼源码 编辑:程序博客网 时间:2024/06/18 00:47
最近在调查APK Expansion Files的使用方法,在此过程中遇到不少问题,在此做一个总结
重要参考资料:
http://developer.android.com/google/play/expansion-files.html
http://blog.chengyunfeng.com/?p=342
http://yunfeng.sinaapp.com/?p=343#ixzz1oKclZQjT
http://blog.csdn.net/tonyfield/article/details/11739035
http://android-developers.blogspot.com/2012/03/android-apps-break-50mb-barrier.html
http://www.iteye.com/news/24446
Thank you very much
利用官方示例测试时候需要修改的地方
1 程序的包名即manifest中的package.否则无法上传
2 将SampleDownloaderService中的BASE64_PUBLIC_KEY替换为自己的
3 将org.goodev.expansion.downloader.SampleDownloaderActivity中的xAPKS
修改为自己的.注意此处的大小请以本地obb文件大小为准.不要以上传Google play
后网页显示的obb大小为准
Bug描述及其修改:
1 在运行示例代码时程序崩溃,发现是mRemoteService为空,服务没有启动
以下资料亦提到该问题但是没有给出解答
http://stackoverflow.com/questions/17706064/expansion-file-download-feature-not-working
http://www.techques.com/question/1-10591136/onServiceConnected-sometimes-not-called-after-bindService-on-some-devices
http://qnundrum.com/answer.php?q=81809
http://stackoverflow.com/questions/18847294/onserviceconnected-never-called-in-android-with-apk-expansion-files
http://android.win8usa.com/question-39147/apk-expansion-file-and-bindservice-if-false.html
https://devnet.madewithmarmalade.com/questions/10612/apk-expansion-realization.html
解决方式:
在DownloaderClientMarshaller类中
即com.google.android.vending.expansion.downloader.DownloaderClientMarshaller类中的
public void connect(Context c)()方法中:
应该使用if ( !c.bindService(bindIntent, mConnection, Context.BIND_AUTO_CREATE) )
而不是:
if ( !c.bindService(bindIntent, mConnection, Context.BIND_DEBUG_UNBIND) )
2 在修改以上bug后程序不会崩溃,但是没有执行下载.
发现APK Expansion Files中的几个服务均只执行了create()却没有执行commandStart()
解决办法:
http://www.nowherenearithaca.com/2012/03/android-apk-expansion-files-how-to.html
Thank you very much
具体代码:
在方法:
com.google.android.vending.expansion.downloader.impl.DownloaderService.startDownloadServiceIfRequired()
应该把:
String packageName = serviceClass.getPackage().getName();
改成
String packageName = context.getPackageName();
其余问题:
1 设备需要支持谷歌服务,比如你采用国产的oppo手机运行时会产生证书问题
2 第一次上传apk的时候是无法上传obb文件的.只有在第二次及其以后上传apk
时才有上传obb文件的选项.
参考资料:
http://stackoverflow.com/questions/15109191/how-to-upload-apk-expansion-files-in-new-developer-console
http://blog.csdn.net/tonyfield/article/details/11739035
3 上传obb文件不能立马测试.需要等待一段时间
残留问题:
通过以上的准备和修改已经可以下载obb文件,但是进度条等UI信息的显示不正常.
参考资料:
1 http://stackoverflow.com/questions/13826001/android-expansion-file-wont-trigger-ondownloadstatechanged
2 http://arora-janu1991.blogspot.com/2013/09/apk-expansion-files-testing-sample.html
3 http://code.google.com/p/android/issues/detail?id=29554&q=APK%20Expansion%20Files&colspec=ID Type Status Owner Summary Stars
4 http://stackoverflow.com/questions/9807048/download-expansion-files-on-tablet
5 http://code.google.com/p/android/issues/detail?id=27953&q=APK%20Expansion%20Files&colspec=ID Type Status Owner Summary Stars
Thank you very much
改问题还未解决,需要进一步的调查.
关于APK Expansion Files的其余疑似bug和问题可以参阅:
http://code.google.com/p/android/issues/detail?id=30767
- APK Expansion Files调查笔记
- APK Expansion Files
- android APK Expansion Files
- APK Expansion Files使用文档
- Duplicate files copied in APK
- Duplicate files copied in APK
- duplicate files copied in apk
- BloomReach业务调查笔记
- BIOS调查笔记
- Android Duplicate files copied in APK
- duplicate files during packaging of APK
- duplicate files during packaging of apk
- Android Duplicate files copied in APK
- duplicate files during packaging of apk
- Android Duplicate files copied in APK
- Error:duplicate files during packaging of APK
- DuplicateFileException: Duplicate files copied in APK
- Android Studio Duplicate files copied in APK
- C# 读取dbf文件中的数据到datatable中
- APK Expansion Files使用文档
- Internet路由之路由表查找算法概述-哈希/LC-Trie树/256-way-mtrie树
- 一个因中断导致的死锁分析
- php中格式化数组中的数值小数点后面加两个0的做法
- APK Expansion Files调查笔记
- 最长公共子字符串
- hdu 1106 排序
- JAVA 对象引用,以及对象赋值-深刻理解A a1 = new A()这句话
- ado 连接sql server数据库
- 编译Linux内核的详细过程
- spring发送email的使用工具类
- 编译时出现error C4996 解决方法
- lpc175416K的内部ram,16K的AHB SRAM