Android基础 - No Launcher activity found!

本文介绍了如何解决Android应用启动时遇到的“No Launcher activity found”错误,并解释了AndroidManifest.xml文件中配置intent-filter的重要性,以及R类与Activity包名之间的关系。

1.  No Launcher activity found!


今天启动Android App时, 出现以下错误:

[2013-06-02 22:55:50 - Demo1] No Launcher activity found!

[2013-06-02 22:55:50 - Demo1] The launch will only sync the application package on the device!


原因是: 在 AndroidManifest.xml没有加:

  1. <intent-filter>  
  2.    <category android:name="android.intent.category.LAUNCHER" />  
  3.    <action android:name="android.intent.action.MAIN" />  
  4. lt;/intent-filter>  

所以启动器找不到要启动的Activity。

-----------------------------------------------------------------------------------

修改前的 AndroidManifest.xml:

  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     package="com.test.test"  
  3.     android:versionCode="1"  
  4.     android:versionName="1.0" >  
  5.     <uses-sdk  
  6.         android:minSdkVersion="11"  
  7.         android:targetSdkVersion="17" />  
  8.     <application  
  9.         android:allowBackup="true"  
  10.         android:icon="@drawable/ic_launcher"  
  11.         android:label="@string/app_name"  
  12.         android:theme="@style/AppTheme" >  
  13.         <activity android:name="com.test.sudoku.Sudoku" >             
  14.         </activity>  
  15.     </application>  
  16. </manifest>  


修改后:
  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     package="com.test.test"  
  3.     android:versionCode="1"  
  4.     android:versionName="1.0" >  
  5.     <uses-sdk  
  6.         android:minSdkVersion="11"  
  7.         android:targetSdkVersion="17" />  
  8.     <application  
  9.         android:allowBackup="true"  
  10.         android:icon="@drawable/ic_launcher"  
  11.         android:label="@string/app_name"  
  12.         android:theme="@style/AppTheme" >  
  13.         <activity android:name="com.test.sudoku.Sudoku" >  
  14.             <strong><intent-filter>  
  15.                 <category android:name="android.intent.category.LAUNCHER" />  
  16.                 <action android:name="android.intent.action.MAIN" />  
  17.             </intent-filter></strong>  
  18.         </activity>  
  19.     </application>  
  20. </manifest>  




2.  AndroidManifest.xml 中 R 与Activity的  Package 


AndroidManifest.xml中指定资源文件类R所在的地方:

  1. <span style="white-space:pre">  </span><manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     <span style="white-space:pre">  </span>    package="com.test.test"  

与 Activity的name的前缀的关系:

  1. <span style="white-space:pre">  </span><activity android:name="com.test.sudoku.Sudoku" >  

如果资源类 R 的package与 Activity的package 一样,那么,我们可以将Activity的name写成下面的样子;否则就必须将Activity的pack名加上,写成上面的样子

  1. <span style="white-space:pre">  </span><activity android:name=".Sudoku" >  

参考网页:

http://stackoverflow.com/questions/14955993/no-launcher-activity-found

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值