1. 上传APK到GOOGLE PLAY提示THE SERVER COULD NOT PROCESS YOUR APK的解决办法
转帖
今天发布《Jump Ferdinand》的新版本,上传APK到Google Play后,提示“The server could not process your apk. Please try again later”.霎时间黑线啊,前些日子第一次发布版本的时候,就遇到Google抽风,始终上传不了,这次又遇到这种问题,难道真是人品不好?在试了多次仍然得到同样的结果后,无奈只好去问问google搜索引擎。按照搜索的结果挨个试过去,都不行,就在绝望的时候,看到一个老外写的blog,里面提到了一个有效的解决方案。
一般来说,这种问题可以分为两大类原因:
1)Google Play真的抽风了,过一阵就会好。
2)应用的AndroidManifest.xml有问题。
AndroidManifest.xml的问题又可以细分为以下几种:
1)包含了;
解决方案:移除。
2)包含了空的activity;
解决方案:移除
3)res/values/String.xml里面没有定义app_name;
解决方案:在res/values/String.xml下面定义app_name
4) 同时存在res/values和res/values_en目录;
解决方案:把这两个目录合并就可以了。(这个有点诡异,想不明白哈)
5)AndroidManifest.xml中都会有这么一句 android:icon=”@drawable/icon”, 如果存在res/drawable目录,且在该目录下找不到icon文件,则会出现这种情况。
解决方案:拷贝一个icon文件到该目录下。
我碰到的就是第五种了。因为是用cocos2d-x自带的脚本生成的android工程目录,然后又导入了WiGame的东西,没有注意到新增了drawable目录。所以用脚本虽好,但是如果没搞明白脚本到底做了哪些事情,还是会有很多陷阱的,出了问题也不知道怎么解决。
其实Android SDK提供了一个很好的工具aapt,可以检测应用需要的feature。操作方法:
Windows环境下进入cmd,然后到Android SDK安装目录下的platform-tools,执行aapt dump badging,得到安装包所需要的一些feature。如果安装包有问题,会得到相应的error信息。例如:
W/ResourceType(15258): Failure getting entry for 0x7f060008 (t=5 e=8)
in package 0 (error -84)
application-label-en:’DinnerDice’
application-icon-120:’res/drawable-ldpi/ic_launcher.png’
application-icon-160:’res/drawable-mdpi/ic_launcher.png’
application-icon-240:’res/drawable-hdpi/ic_launcher.png’
application-icon-320:’res/drawable-xhdpi/ic_launcher.png’
ERROR getting ‘android:icon’ attribute: attribute is not a string value