19

我在 Eclipse(Mac OS X)中有一个简单的应用程序 HelloWorld Android 应用程序,当我安装到模拟器/AVD 时,该应用程序显示在“设置-> [设备] 应用程序”中,但不在启动器中。我在 logcat 中注意到我收到这些错误

W/ActivityManager(  160): No content provider found for permission revoke: file:///data/local/tmp/HelloWorld.apk
W/ActivityManager(  160): No content provider found for permission revoke: file:///data/local/tmp/HelloWorld.apk
I/PackageManager(  160): Running dexopt on: com.example.helloworld
D/dalvikvm(  870): DexOpt: load 124ms, verify+opt 459ms, 720236 bytes
I/ActivityManager(  160): Force stopping package com.example.helloworld uid=10044

我已经在 .android 目录上设置了读/写/执行权限。

4

9 回答 9

6

就我而言,我忘记定义主要活动。因此,我在 AndroidManifest.xml主要活动中添加了以下代码。

<intent-filter>
   <action android:name="android.intent.action.MAIN"/>
   <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>

这是 Activity 定义的结果:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity android:name="RssfeedActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity android:name="DetailActivity"></activity>        
</application>
于 2012-09-19T15:21:59.947 回答
5

我认为问题在于安装目录权限。/data/local需要对其他人具有写入和执行权限才能正确安装 adb 包。

来源

也试试这个:Android - 下载应用程序

于 2012-08-01T16:04:57.407 回答
1

我刚刚找到了 Linux 的解决方案,但我没有找到 Windows 的解决方案,可能是因为在 Windows 中目录和权限被混淆了。

这对我有用:在文件夹“C://YourUser//.Android//”中添加用户“Everyone”并完全控制,然后重新启动模拟器。

于 2013-06-26T01:32:32.153 回答
1

我在所有设备上都遇到了同样的问题。我的问题来自运行配置,我没有检查“启动默认活动”。

于 2014-07-16T09:42:27.827 回答
1

我在构建一个新的签名 APK 时遇到了这个问题。

我检查了 V2(完整的 APK 签名)。在设备上安装 APK 不再起作用。

我的解决方案是改为检查 V1(Jar 签名)。这确实奏效了。

于 2017-03-10T11:40:04.010 回答
0

https://stackoverflow.com/a/8646393/375929 - 他们说这是关于 /data/local 权限。

在这里:Change /data/local Permissions是如何解决这个问题的。

于 2012-07-25T19:41:24.953 回答
0

我的解决方案是删除 AndroidManifest.xml 中的 android:sharedUserId-Tag ...

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.app"
android:theme="@style/MyAppTheme"
android:versionCode="9"
android:versionName="1.2.5" android:sharedUserId="mc">

于 2014-01-02T08:17:25.310 回答
0

在 Cordova 和模拟器上工作,

对我来说,问题是 apk 大小太大而 AVD RAM 太小,

安装新版本的 apk 时发生问题,并且失败并显示消息“未找到内容提供商以撤销权限”

其中任何一个都为我解决了这个问题:

  • 在安装新版本之前手动卸载旧的apk
  • 减小 apk 大小
  • 增加设备 RAM
于 2014-05-19T10:21:09.890 回答
0

这对我有用

检查您的清单应用程序,如果它包含此行 tools:replace="android:icon"

<application android:name=".activities.MyApplication" android:allowBackup="true" android:icon="@drawable/launcher_icon" android:label="@string/app_name" android:largeHeap="true" tools:replace="android:icon">

通过删除此行使其成为这样 tools:replace="android:icon"

<application android:name=".activities.MyApplication" android:allowBackup="true" android:icon="@drawable/launcher_icon" android:label="@string/app_name" android:largeHeap="true" >

于 2015-02-17T10:04:30.293 回答