【问题标题】:Cannot install package on rooted device : INSTALL_FAILED_INVALID_URI无法在有根设备上安装软件包:INSTALL_FAILED_INVALID_URI
【发布时间】:2014-07-23 13:40:55
【问题描述】:

这是我尝试在我的设备上安装我的应用程序时看到的(我使用的是 Android Studio 0.8.2):

Waiting for device.
Target device: samsung-gt_s7500-cf994b04
Uploading file
local path: C:\Users\Administrator\AndroidStudioProjects\Testaqua\app\build\outputs\apk\app-debug.apk
remote path: /data/local/tmp/com.example.administrator.testaqua
Installing com.example.administrator.testaqua
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.administrator.testaqua"
pkg: /data/local/tmp/com.example.administrator.testaqua
Failure [INSTALL_FAILED_INVALID_URI]

这个错误到底是什么意思?

[已编辑] 我在另一个 root 设备上安装了我的应用程序,它可以工作;看来问题出在我的设备上,android studio 运行良好。

【问题讨论】:

  • 它是根设备吗?

标签: android android-studio


【解决方案1】:

我收到类似的错误消息,我通过传递绝对路径而不是文件名来修复它,例如在adb shell 中,此命令将显示:

shell@example:/sdcard $ pm install -r -d app-release.apk
        pkg: app-release.apk
Failure [INSTALL_FAILED_INVALID_URI]

将其更改为修复该错误消息的绝对路径,例如:

pm install -r -d /sdcard/app-release.apk

[第二个原因]

另一个原因是文件不存在。当我最近用 Ctrl+C 打断 adb push <apk> /sdcard/ 时会发生这种情况。需要重新推送 apk 两次

[第三个原因]

如果apk驻留/mnt/runtime/default/<thumb_drive_mounted_directory>会出现此错误,我必须先将apk移动到/sdcard/才能安装。

【讨论】:

    【解决方案2】:

    从这个blog试试这个:

    /data/local的权限改为rwxrwxrwx(一般必须是rwxrwxrw-

    即授予所有用户执行权限。

    【讨论】:

    • 更改 /data/local 的权限还不够:我也必须更改 /data/local/tmp。非常感谢,伙计!
    • adb 外壳;光盘/数据; chmod 777 本地
    【解决方案3】:

    症状:`

    $ adb install xyz.apk
    [100%] /data/local/tmp/xyz.apk
        pkg: cat
        ver: /data/local/tmp/xyz.apk
    Failure [INSTALL_FAILED_INVALID_URI]
    

    解决方案:

    检查你是否允许从未知来源安装:)

    【讨论】:

      【解决方案4】:

      最后,我发现原因是目录和文件权限。
      Android 似乎使用其他用户来访问目录和文件。

      chmod 775 /data/local/tmp/somedir         ==> rwxrwx<b>r-x</b><br>
      chmod 774 /data/local/tmp/somedir/a.apk   ==> rwxrwx<b>r</b>--<br>
      

      以上设置就OK了!

      【讨论】:

        【解决方案5】:

        我的 Flutter 应用曾经发生过这种情况。从 your-project-name\build\app\outputs\apk\debug 中删除 apk 文件并再次运行该应用程序解决了该问题。在此问题发生之前,我在手机仍连接到终端并运行时手动关闭了正在运行的 Flutter 应用程序。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-05-23
          • 1970-01-01
          • 2019-08-01
          • 2019-05-17
          • 2016-10-15
          • 1970-01-01
          • 1970-01-01
          • 2017-11-02
          相关资源
          最近更新 更多