簡體   English   中英

從Android Studio運行應用無法在設備上運行,在模擬器上可以

[英]Run app from Android Studio not working on device, OK on emulator

我有一個應用程序,基本上是我運行的Web應用程序的WebView。

最初,我僅使用一個包含WebView的活動( activity_main )創建了該應用程序,並且一直在努力使其按需工作。

然后,我決定添加第二個活動來進行一些預加載檢查,例如檢查活動的網絡連接等。

當我添加此pre-load-checks活動時,一切似乎都正常,但是當應用程序在模擬器或我的設備上運行(安裝apk或通過AS在設備上運行)時,我的新pre-load-checks活動是開始的那個。 可以,因為我正在調整布局和圖形等。

我尚未完成pre_load_checks編寫,因此它尚未執行所有檢查,並且未啟動第二個活動,但是我需要在WebView上做更多工作。

因此,我嘗試通過更改“運行/調試配置”中的“啟動選項”來切換應用程序以在啟動時啟動activity_main活動。

現在,當我嘗試在設備上運行該應用程序時,它將失敗。 有時它只是沒有開始,有時我會收到一條消息,說我的應用已停止。 雖然它在模擬器中可以正常工作。

請注意,此時我尚未更改activity_main中的任何內容。

當我嘗試運行它時,AS中的消息表明該應用程序已在我的設備上啟動-沒有錯誤。

然后,我決定嘗試將activity_main活動重命名為更明智的名稱,因為它不再是啟動活動。 我通過布局xml的refactor-> rename選項將其重命名為activity_website_view 對於關聯的Java文件,我也做了同樣的事情。

經過一番清理后,我設法重新編譯了東西,但沿途發生了一些奇怪的事情-現在,如果進入“運行/調試配置”屏幕,我新重命名的activity_website_view顯示在樹的“應用程序”分支下連同app 我的pre_load_checks活動未在此處顯示。

同樣,在工具欄下拉菜單中,您可以選擇運行/調試的內容,我可以選擇運行appactivity_website_view ,但不能運行pre_load_checks

這些是否相關,或者我可以直接參加其中一項活動是否正確? 我可以看到可以手動將另一個“應用程序”添加到列表中,但是我想知道在此過程中是否做過某些事情導致我的舊activty_main自動添加,並且這是否與該活動將不再繼續的原因有關我的設備,但在模擬器上可以。

有關信息,我的AndroidManifest.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.nooriginalthought.bluebadgeparking">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".PreLoadChecks"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".websiteViewActivity"
            android:configChanges="orientation|screenSize|keyboard|keyboardHidden"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <paction android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

根據我上面的評論,這是一個錯字。

action前面的“ p”不應該存在,並且正在阻止事物在我的設備上啟動-但是很奇怪,它並沒有阻止它們在模擬器中運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM