繁体   English   中英

安装后,Android 应用程序无法打开。 但它可以在模拟器中运行

[英]Android app won't open after i install. But it can run in emulator

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

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

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

我发现了问题! 我在清单中用不同的属性声明了 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> 

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

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

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

我花了几天时间来确定它发生的原因。但是我通过这种方式解决了我的问题-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 >

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

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

像这样:

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

要解决它,很简单:

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

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

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

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

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

GL

如果您在本机反应中使用飞溅:

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

在图层列表中,使用:

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

代替:

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

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


    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)

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

我用Intent.FLAG_ACTIVITY_NEW_TASK替换了它,一切正常!

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

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

<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>

你只需要删除

<数据>

意图填充器中的元素,它应该可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM