2014-07-07 23 views
0

我只是簡單地跟隨Android開發者training guide,而我已經在第二步遇到麻煩了。Android應用沒有顯示在我的設備上。沒有啓動器活動發現

我按照指南(我什至不需要做任何事情..),並點擊運行,從屏幕上選擇我的銀河S4,並點擊好。我收到以下錯誤

[2014-07-06 19:56:27 - MyFirstApp] Android Launch! 
[2014-07-06 19:56:27 - MyFirstApp] adb is running normally. 
[2014-07-06 19:56:27 - MyFirstApp] No Launcher activity found! 
[2014-07-06 19:56:27 - MyFirstApp] The launch will only sync the application package on the device! 
[2014-07-06 19:56:27 - MyFirstApp] Performing sync 
[2014-07-06 19:56:27 - MyFirstApp] Automatic Target Mode: Unable to detect device compatibility. Please select a target device. 
[2014-07-06 19:56:31 - MyFirstApp] Application already deployed. No need to reinstall. 
[2014-07-06 19:56:31 - MyFirstApp] \MyFirstApp\bin\MyFirstApp.apk installed on device 
[2014-07-06 19:56:31 - MyFirstApp] Done! 

老實說,我不知道我做錯了,我絕對沒有與Android體驗。

是唯一不同的是在本教程的targetSdkVersion是19歲,但我使用21

以下是我AndroidManefiest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.myfirstapp" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="21" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
    </application> 

</manifest> 

回答

3

你忘了你的活動宣告你的Manifest.xml。

每當你創建一個活動(blablabla類擴展活動),你必須聲明它到你的Android Manifest.xml,以便設備能夠跟蹤你的應用程序的生命線。

我們所說活動是提供信息,舉辦一個窗口類,類應該擴展活動,所有這些類必須在的Manifest.xml聲明文件,如下:

<application> 
    ... 

    <activity 
      android:name="com.yourpackage.ClassName"> 

    </activity> 

</application> 

也許您的活動類叫做MainActivity,你只需要添加到您的代碼,<application> </application>標籤之間:

<activity 
     android:name="com.example.myfirstapp.MainActivity" 
     android:label="@string/app_name"> <!-- This is the text that will appear on your action bar --> 

     <intent-filter> 

      <action android:name="android.intent.action.MAIN" /> 

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

     </intent-filter> 

    </activity> 

<intent-filter>告訴android這個類是「主入口」,需要加載到您的應用的第一個活動將被啓動,只有第一個活動需要<intent-filter>標記,其他活動只需要我給出的第一個示例。

如果你開始與Android開發,我建議你閱讀有關ActionBarWhat to do when the device is rotated

Thisthis可以幫助你在未來。

具有良好的編碼:)

+0

現在我得到一個「不幸的是,MyFirstApp已經停止」,這很好,因爲這意味着我正在某處。我現在做錯了什麼? 感謝所有額外的信息/工具,我期待在不久的將來使用它們! – user3277633

+0

@ user3277633請發佈您的MainActivity代碼,以便我可以看到什麼是錯誤的。 此外,您收到錯誤日誌(是的,它是所有的紅線),請複製併發布它,它確切地告訴了什麼是錯的。但是,請開一個新的問題,因爲這個問題是固定的,而新問題是不一樣的。這樣做不會混淆另一個人試圖解決你在這裏打開的問題。如果可能的話,在這裏發佈你的新問題的鏈接。 –

+0

啊,我只能每90分鐘發一次。在時間限制過後,我會鏈接新的問題。感謝您的幫助 – user3277633

1

把下面的意圖過濾器爲您活動將啓動。

<activity class=".YourActivity" android:label="your activity label"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
</activity> 

{行動= android.app.action.MAIN}匹配所有 可以用作頂層進入點到一個應用程序的活動。

{action = android.app.action.MAIN, category = android.app.category.LAUNCHER}是 啓動器用於填充其頂層列表的實際意圖。

另外,請參閱Intent

+0

我把你提供的部分,並把它的部分下方,但遺憾的是它仍然無法正常工作 – user3277633

+0

你應該有一個活動(持有的觀點,即用戶可以看到),並將xml置於該活動下。請參考我添加的鏈接中的Android清單示例。對於第6步:「現在您可以選擇一個活動模板,從中開始構建您的應用程序。對於此項目,請選擇BlankActivity並單擊下一步。 」 – Jaskey

+0

@ user3277633「沒有工作」是什麼意思?我懷疑你得到一個錯誤,因爲這裏給出的代碼屬於''和''標籤之間。如果這是你所在的位置,請使用當前清單文件更新你的Q. –