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