2011-02-25 49 views
1

首先,我要說的是,當談到Android(或Java)時,我是新手,所以我在做錯事的可能性肯定很大一個非常基本的層面 - 請記住這一點。Android應用程序不會在模擬器中顯示

我將基本包括整個來源,因爲我不知道問題出在哪裏(並且在任何人建議我嘗試使用Google之前,我已經花了最近幾天的時間來做這件事)。

eclipse.buildId=M20100909-0800 
java.version=1.6.0_24 
java.vendor=Sun Microsystems Inc. 
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_NZ 
Framework arguments: -product org.eclipse.epp.package.java.product 
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.java.product 


Error 
Fri Feb 25 15:52:44 CET 2011 
No command output when running: 'am start -n com.company.android.app/com.company.android.app.Home -a android.intent.action.MAIN -c android.intent.category.LAUNCHER' on device emulator-5554 

com.android.ddmlib.ShellCommandUnresponsiveException 
at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:408) 
at com.android.ddmlib.Device.executeShellCommand(Device.java:276) 
at com.android.ide.eclipse.adt.internal.launch.ActivityLaunchAction.doLaunchAction(Unknown Source) 
at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.launchApp(Unknown Source) 
at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.simpleLaunch(Unknown Source) 
at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController.access$3(Unknown Source) 
at com.android.ide.eclipse.adt.internal.launch.AndroidLaunchController$3.run(Unknown Source) 

該應用程序是一個非常基本的東西:

的問題,當我嘗試運行或調試,我收到以下錯誤消息的應用程序出現。它與視圖以下XML代碼的單一活動:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/helloAndroid" 
    android:text="" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
/> 

而且在活動的*的.java下面的代碼:

package com.company.android.app; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.webkit.WebView; 
import android.widget.TextView; 

public class Home extends Activity { 

    TextView helloWorld; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     helloWorld = (TextView) findViewById(R.id.helloAndroid); 
     helloWorld.setText("Hello Android!"); 
    } 
} 

最後,在我的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.company.android.app" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <uses-sdk android:minSdkVersion="7" /> 

    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".Home" 
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.NoTitleBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 

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

當我運行或調試應用程序,我在控制檯看到以下內容:

[2011-02-25 16:22:52 - com.company.android.app] adb is running normally. 
[2011-02-25 16:22:52 - com.company.android.app] Performing com.company.android.app.Home activity launch 
[2011-02-25 16:22:52 - com.company.android.app] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'Android-2.3.3' 
[2011-02-25 16:22:57 - com.company.android.app] Uploading com.company.android.app.apk onto device 'emulator-5554' 
[2011-02-25 16:23:00 - com.company.android.app] Installing com.company.android.app.apk... 
[2011-02-25 16:23:22 - com.company.android.app] Success! 
[2011-02-25 16:23:23 - com.company.android.app] Starting activity com.company.android.app.Home on device emulator-5554 

一點點額外的信息:

  • 仿真器打開並運行 - 但從來沒有得到超越Android的開機畫面,也沒有我可以通過按鈕交互(即'家'不做任何事)。
  • 該應用針對Android 2.1-update1。

我想不出還有什麼可以包括在內。

任何想法可能會導致此問題?

非常感謝提前。 Zac

+3

模擬器從來不響應是一個問題 - 有時模擬器需要較長的時間(幾分鐘或更長時間)拿出並充分響應。在開始調試應用程序之前,您一定要經歷這個問題。我建議只啓動模擬器(不是通過你的應用程序),並確保你可以把它展現出來並顯示主屏幕等。給它足夠的時間。 – 2011-02-25 16:34:19

+1

沒有越過Android的飛濺圖像是一個大問題。當您通過AVD Manager啓動仿真器時會發生這種情況嗎?另外,您是否可以嘗試調試其中一個示例項目作爲完整性檢查? – 2011-02-25 16:34:56

+1

您是否可以自行啓動模擬器(無需通過調試應用程序啓動它)?根據您的系統規格,啓動有時可能會很慢,例如1-2分鐘。 – 2011-02-25 16:37:37

回答

0

我發現這是由@erichamion在評論我的問題提供的解決方案。我通過AVD管理器重新啓動了模擬器,並勾選了「擦除用戶數據」選項並取消選中「從快照啓動」選項。

我懷疑當我第一次加載模擬器時,它被我以某種方式打斷,並處於無法操作的狀態。清除用戶數據並擦除快照可以通過加載新的狀態模擬器來克服該問題。

感謝您的幫助......

0

我不明白在哪裏(在eclipse中)你會得到第一個錯誤日誌。

你的代碼是平凡正確的,即使是怪我不使用任何佈局在你的TextView(因爲只是一個TextView也沒用),運行發現這裏...

首先,你應該嘗試運行一個「從零開始」的android項目並檢查: 1.在仿真器上產生HelloWorld; 2.檢查logcat視圖並找到類似「ActivityManager顯示的活動com.yourpackage.youractivity」的內容

如果確實有效,請按照程序化UI定義逐步執行以滿足您的需求。無論如何,你應該使用「Log.i(」MyApp「,」onCreate()「);」並檢查logcat(logcat視圖是你的朋友),如果有任何異常。

雷諾

+0

謝謝你的回覆雷諾。正如我的問題的評論者所建議的問題與模擬器有關 - 不是我的應用程序。我試圖使用Log.i(「」,「」),但沒有看到任何日誌條目,因爲它甚至沒有執行我的代碼。儘管使用佈局的建議很有用 - 我沒有意識到它們是需要的(我認爲我有很多東西需要學習)。 – 2011-02-28 13:48:22

相關問題