![](/img/trans.png)
[英]App not installed! Error while installing apk from android studio build
[英]Parser Error while installing an APK,downloaded from my own Server
它可能是stackoverflow.com/questions/11135680/parse-error-while-installing-downloaded-apk-file的重复问题,但是我没有找到解决此问题的任何答案。
让我说说我所面临的问题。
我在平板电脑上安装了一个应用程序。 该应用程序每次启动时都会检查更新。 如果有更新,它将下载apk并自动安装。 我已经将.NET服务用作Web服务。 我的.NET服务会将APK转换为存储在mySQL DB中的byte [] array格式,并将该byte [] Array发送到我的Android应用程序。
一切正常,但在安装时我正在
=====================================
“ PARSER ERROR”解析软件包时出现问题
=====================================
请不要说检查apk的签名,一切都还好
Android代码:
SoapPrimitive pResponse = (SoapPrimitive) envelope.getResponse();
byte[] bResponse = Base64.decodeBase64((pResponse.toString().getBytes("UTF-8")));
我在挣扎中发现Byte []响应与.net Byte []不匹配,因为java具有带符号的字节(sbyte -128至127),而.net具有无符号的字节(byte 0至255),例如: .NET [80,40,2,2,8,0,0,0,12,240,200 ...........]在Android [80,40,2,2,8,0,0,0 ,12,-16,-56 ...........]
我可以使用int unsigned = b&0xFF; 将其转换为无符号的byte [],但是我的问题是我的循环将运行662600次。
我该如何克服这个问题,你们的任何建议对我都很有帮助。
我在下载apk的安装路径上做错了。您不必担心有符号和无符号字节[]
我从服务器自动更新apk遵循的步骤。
apk的先前版本和最新/更新的apk的签名应该相同。
确保apk的下载路径和安装路径相同。
注意:您可以使用byte []或Stream来响应您的服务
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.