由于无效的URI安装失败?仅在调试模式下安装?

10

安卓应用安装失败的可能原因是什么?"Invalid URI"指的是哪个URI,以何种方式无效?在调试模式下可以正常工作,但在非调试模式下无法安装。

谢谢。


你能更好地描述一下你看到这条消息的情境吗? - Rich
每次我尝试在非调试模式下运行应用程序时,都会看到错误。 - user1847544
5个回答

3

这个错误可能指向很多不同的问题,并且有许多不同的解决方法。我总结了以下内容:

  1. Eclipse问题:清除项目,重新构建项目,重启Eclipse。

  2. 无效字符:删除Eclipse项目名称中的任何特殊字符。仅使用[a-z]和[0-9],不包括[ ](空格)。

  3. 包含的jar文件出错:尝试不使用jar文件运行,如果可以运行,请修复它。
  4. 清单包设置错误:在Eclipse上右键单击项目 -> Android工具 -> 重命名应用程序包(重命名为类似的名称,您始终可以重命名回去)。
  5. 设备问题:从设备中删除应用并尝试重新安装。

2

ingyesid基本上意味着您需要重构项目名称,以不包含任何非英式或美式字符。这将更改apk文件名,该文件名也不能包含重音符号,例如:“ÖÄÅåäöééıßç....等”(任何'res'资产也不能拥有这些)。最近我在做瑞典语时遇到了这个问题,请确保项目名称和所有文件名仅使用英文字符/数字。

-但是,您可以在“res/values/Strings”中设置appname变量为适当的国际字符。

这要么是一个错误,要么是安卓开发人员的短视:/


0

如果您在项目名称中输入了无效的名称,例如MyAPP_$33,那么就会出现此问题,因此只允许使用字母[a---z]和数字[0,1,2...]。

在命名项目时不允许使用特殊字符

0

不要有重音或不寻常的字符。当我带着重音和apk名称去安装时,出现了错误,但是去掉勾选框后就可以正常工作了。


这个答案太简短了,需要改进。请详细阐述您的回答。 - Kermit
将项目名称和路径中的umlauts删除后,问题得到了解决。当尝试安装包含名称中有umlauts的APK时,adb install可以正常工作,因此我认为这是一个Eclipse/ADT的问题 - 我没有进一步调查。 - sfera

0

/data/local目录没有写入和执行“其他”权限。

您必须使用超级用户应用程序并修改/data/local的权限。

将它们设置为rwxrwxrwx即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接