0

在三星 Galaxy Mini (Android 2.3) 上,我无法通过 Eclipse 安装 100+ MB 的 APK(总是出现一些错误,并且没有任何帮助;通常它会显示不足存储空间,即使外部有 300+ MB 的可用空间在这种情况下,存储在 SD 卡上,安装位置设置为 PREFER_EXTERNAL)。

所以我通过USB连接将APK复制到SD卡,然后从PC上卸载USB。然后使用文件管理器打开 APK 并安装它。在安装之前,它没有显示要批准的 WRITE_EXTERNAL_STORAGE 权限(也许这是问题?)。

当我运行它时,尝试写入getExternalFilesDir(null)外部存储中的文件夹 ( ) 时出现以下错误:

“无法创建外部文件目录”

它在 logcat 中显示两次。

Environment.getExternalStorageState()在做任何事情之前使用它并MEDIA_MOUNTED正确返回。它在 logcat 中与“无法创建...”日志出现的位置相同。重新启动手机没有帮助,并且打开/关闭与 PC 的 USB 连接也没有帮助(这些在其他 stackoverflow 主题中提到过)。

我的 Android 清单的开头如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:installLocation="preferExternal"
    package="com.example.apps.iik"
    android:versionCode="1"
    android:versionName="1.0.0" >

    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <uses-feature android:glEsVersion="0x00020000" android:required="true" />
    <uses-feature android:name="android.hardware.screen.landscape" />

从APK安装不显示write_external_storage权限是否正常?也许该应用程序在没有此权限的情况下安装?但据我注意到其他设备,它根本不会将外部存储识别为“已安装”。

4

1 回答 1

1

在 Android 2.3 中,许多 OEM 为低存储设置了自己的阈值(如果 APK 大小*4 > 可用存储,Moto 设备将不允许您从商店安装。)

如果您通过某些文件管理器或应用程序安装程序安装,它可能不会显示任何权限。但是您始终可以通过转到“设置”>“应用程序”并单击您的应用程序来查看权限。

此外,在写入文件之前,首先通过file.createNewFile().

于 2013-06-17T01:42:19.330 回答