![](/img/trans.png)
[英]Android Studio app works in emulator but not on a real device
[英]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
活動未在此處顯示。
同樣,在工具欄下拉菜單中,您可以選擇運行/調試的內容,我可以選擇運行app
或activity_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.