安卓应用安装后打不开。但它可以在模拟器中运行

Posted

技术标签:

【中文标题】安卓应用安装后打不开。但它可以在模拟器中运行【英文标题】:Android app won't open after i install. But it can run in emulator 【发布时间】:2012-03-13 16:48:56 【问题描述】:

我已经从 eclipse 中导出了我的应用程序并将其安装在我的手机上。安装后,我从包安装程序中单击打开,但安装程序强制关闭。之后,当我尝试启动该应用程序时,单击它后没有任何反应。我单击应用抽屉中的应用,但它返回主屏幕。

当我通过 USB 连接我的设备时,我能够在模拟器和调试模式下运行,但当我导出要安装的 apk 时却不行。

请注意,这不是我导出安装的第一个应用程序。以前的应用程序运行良好。

【问题讨论】:

【参考方案1】:

我发现了问题!我已经在清单中用不同的属性声明了 2 次活动,例如:

<activity android:name=".myclass"></activity> 

<activity android:name=".myclass" android:label="@string/app_name">
  <intent-filter>   
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
  </intent-filter>
</activity> 

从清单中删除不需要的,它将起作用。

【讨论】:

【参考方案2】:

检查您的安卓模拟器版本和手机的固件版本。如果该应用程序不支持固件版本,您将从 adb 安装,但您无法启动该应用程序。

检查设置以便能够在中安装未知应用 设置->应用程序和复选框“未知来源”

【讨论】:

我之前安装的所有应用程序都使用相同的 api 版本并且它们能够工作。因此,我认为这不是问题所在。 是否可以在此处粘贴 LogCat 转储? 我可以知道从哪里获得 LogCat 转储吗?唯一的问题是我将应用程序导出到apk并放入我的手机,然后我安装它,但无法打开。因此我不知道在哪里可以从手机中找到转储 以 USB 调试模式将手机与电脑连接,打开 ddms(在 eclipse 中)或 logcat 并查看日志。然后尝试通过选择它的图标来打开您的应用程序并等待错误...或者您的图标也没有显示? 这是消息:02-23 18:11:21.780: WARN/ActivityManager(147): Permission denied: checkComponentPermission() reqUid=10044 02-23 18:11:21.780: WARN/ActivityManager(147): Permission Denial: starting Intent act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=location.traffic/.LocationTrafficActivity from ProcessRecord40926bb0 225:android.process.acore/10101 (pid=225, uid=10101) requires null【参考方案3】:

尝试在 Android Manifest 中检查权限。我之前安装 NFC 应用程序时遇到了同样的问题。我忘记授权 NFC。在我给予许可后,它对我来说很好。请检查您的 AndroidManifest。

【讨论】:

之前也检查过这个。如果是manifest的问题,应该是app在打开后强制关闭。但是我什至无法打开它。没有强制关闭或显示任何内容。【参考方案4】:

我花了几天时间来确定问题发生的原因。但我以这种方式解决了我的问题-Android Manifest 中的修改

<activity android:configChanges >
        <intent-filter android:label="@string/launcher_name">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
            <I removed my code here that i added for reference to google play store for reference >

从清单中删除不需要的,它将起作用。

【讨论】:

【参考方案5】:

尝试在您的 Android 清单中搜索错误,我遇到了同样的问题,问题是 LAUNCHER 类别中的“R”是小写的。

像这样:

<category android:name="android.intent.category.LAUNCHEr" />

解决它,很简单:

<category android:name="android.intent.category.LAUNCHER" />

【讨论】:

【参考方案6】:

android:theme="@style/AppTheme.NoActionBar">

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

【讨论】:

还请在您的回答中提供一些解释。【参考方案7】:

删除所有不是来自应用程序的模块的配置对我有用。换句话说,只需离开Project.app 模块并检查其配置即可。

编辑运行/调试配置 -> Android 应用 -> 应用

GL

【讨论】:

【参考方案8】:

如果你在 react native 中使用 splash:

为避免错误:二进制 XML 文件行 #XXX: 需要有效的 src 属性

在层列表中,使用:

<item android:drawable="@drawable/image" />

代替:

<item>
  <bitmap android:src="@drawable/image"/>
</item>

【讨论】:

【参考方案9】:

我的解决方案是在安装应用程序时在下载管理器中添加此标志


    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)

就我而言 - 我有这个标志 -> intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)

我将其替换为Intent.FLAG_ACTIVITY_NEW_TASK,一切正常!

【讨论】:

【参考方案10】:

我的清单看起来像这样。那些需要帮助并有类似清单的人如下所示。

<activity android:name=".login.activities.SplashScreenActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <data
                    android:host="example.com"
                    android:scheme="https"/>
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

你只需要删除

intent-filler 中的元素,它应该可以工作。

【讨论】:

以上是关于安卓应用安装后打不开。但它可以在模拟器中运行的主要内容,如果未能解决你的问题,请参考以下文章

lol盒子更新后打不开 附上图片 说postman.dll输出指令没找到 如下图

Oracle安装后,不知怎么使用,应该打开哪个程序?

安卓模拟器打不开APK文件

Axure 安装后打不开 一开就出现这种 不管怎么重装 都这样

eclipse安卓开发环境搭建_eclipse安装后打不开

安装PyCharm时,已近破解完成,可是还是打不开,出错,请大师解释