2019独角兽企业重金招聘Python工程师标准>>>

一、新建android工程的时候eclipse没有生成MainActivity和layout布局

  最近由于工作上的原因,开始学习Android开发,在入门的时候就遇到了不少的坑,遇到的第一个坑就是"新建android工程的时候eclipse没有自动生成MainActivity和layout布局”,项目的创建过程如下图所示:

  

  

  

  

  

  

  展开HelloAndroid项目,可以看到创建好的项目的目录结构,如下图所示:

  

  我的项目是采用的是官方集成了ADT的Eclipse(adt-bundle-windows-x86_64-20140702)创建的,创建项目时选择的是【Blank Activity】,结果生成的项目的目录结构就成了如上图所示的样子,正常情况下,Eclipse会在src目录下创建一个名字为me.gacl.helloandroid的包,然后里面会有一个MainActivity.java的文件,然后layout文件夹中会有一个activity_main.xml文件,但是现在这两个都没有生成。由于HelloAndroid项目中没有可运行的Activity,那么直接运行HelloAndroid项目是无法运行的,如下图所示:

  在Eclipse中运行Android项目,操作步骤如下图所示:

  

  运行会在Console打印出 "No Launcher activity found!",并且模拟器也不运行,如下图所示:

  

  下面说一下"No Launcher activity found!"错误,叫Android的项目中都会有一个AndroidManifest.xml配置文件,如下图所示:

    

  我们看一下AndroidManifest.xml里面的代码,如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="me.gacl.helloandroid"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="21" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ></application></manifest>

  可以看到,里面没有配置启动项,原因是因为Eclipse在创建项目时没有帮我们自动生成MainActivity.java和activity_main.xml文件,这应该是Eclipse在创建【Blank Activity】的bug,在<application></application>中少了这段代码

<activity android:name=".MainActivity" android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

  其中.MainActivity就是你的项目的主Activity,所以凡是遇到"No Launcher activity found!"错误,那么绝对是AndroidManifest.xml文件中没有配置启动的主Activity

二、新建android工程的时候eclipse没有生成MainActivity和layout布局的解决办法

  解决办法:在创建项目时把【Blank Activity】换成【Empty Activity】就可以解决上述所说的问题!

  删除HelloAndroid项目,重新创建,前面的创建步骤都一样,就是到【Create Activity】时选择【Empty Activity】,如下图所示:

  

  很多视频教程在【Create Activity】这一步时选择的都是【Blank Activity】,但是经过我实践证明,【Create Activity】时这一步时如果选择的是【Blank Activity】,那么创建出来的Android项目就会出现"新建android工程的时候eclipse没有自动生成MainActivity和layout布局的问题也就是没有生成MainActivity.java和activity_main.xml文件,缺少了MainActivity的Android项目是无法运行的,运行时就会出现上述所说的"No Launcher activity found!"错误。所以到了这一步千万要注意,【Create Activity】这一步时选择的是【Empty Activity】,而不是【Blank Activity】。这或许和我自身使用的Eclipse版本有关系,我使用的采用的是官方集成了ADT的Eclipse(adt-bundle-windows-x86_64-20140702),而有些版本的Eclipse在【Create Activity】这一步时选择【Blank Activity】是可以正常生成MainActivity和layout布局的,反正创建项目到【Create Activity】这一步时,如果自身使用的Eclipse版本在【Create Activity】这一步时选择【Blank Activity】可以正常生成MainActivity和layout布局的话,那么【Create Activity】就可以选择【Blank Activity】作为创建模板,如果不行,那么【Create Activity】就选择【Create Activity】作为创建模板,反正我们的目的就是希望Eclipse自动帮我们生成MainActivity和layout布局,哪一种模板可以做到就选择哪一种。

  

  点击【Finish】按钮完成创建,这样创建的android项目就会自动生成MainActivity.java和activity_main.xml文件,如下图所示:

  

  我们看看AndroidManifest.xml中的代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="me.gacl.helloandroid"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="21" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name=".MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

  在<application></application>中多了这段代码

<activityandroid:name=".MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter>
</activity>

  我们直接运行创建的Android项目,如下图所示:
  

  运行Android应用时,是需要在模拟器上面运行的,到这一步时首先是要创建一个模拟器的,不过在Eclipse中创建模拟器时启动要花很长时间,刚好我手头上有一台台电的平板电脑,可以用于测试,因此就直接使用真机测试了,如下图所示:

  

  在平板电脑中的运行结果如下:

  

  平板电脑的桌面上也显示出了我们安装部署上面的HelloAndriod应用的图标,如下图所示:

  

转载于:https://my.oschina.net/redpotato/blog/3049271

Android开发中遇到的问题(二)——新建android工程的时候eclipse没有生成MainActivity和layout布局...相关推荐

  1. android开发中,手把手教你root Android系统

    手把手教你root Android系统 因为从事的是智能家居相关行业,用的系统也是android系统,在某些场景下可能需要拿到系统的root权限.下面就手把手教大家去拿到app的root权限和adb的 ...

  2. Android开发中无处不在的设计模式——动态代理模式

    继续更新设计模式系列.写这个模式的主要原因是近期看到了动态代理的代码. 先来回想一下前5个模式: - Android开发中无处不在的设计模式--单例模式 - Android开发中无处不在的设计模式-- ...

  3. android+显示html内容居中显示图片,Android开发中对HTML内容的显示

    摘 要 随着Android科技的发展,手机客户端接受了更多的HTML内容.本文作者采用WebView直接显示法结合人机 >> Android开发中的主题设置研究 线程在Android开发中 ...

  4. Android开发中调用系统窗口的方法

    //直接拨号 Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678")); start ...

  5. Android事件分发机制在实战开发中的应用之二

    学习的最终目标就是要学以致用,本文所分享的案例都是自己在公司实战开发过程中的真实案例,现在把它分享出来,希望对初学者有所帮助 版权声明:本文来自门心叼龙的博客,属于原创内容,转载请注明出处:https ...

  6. android 自定义刷新控件,Android开发中MJRefresh自定义刷新动画效果

    有时候我们对自己开发的项目经常不满意,但是我们要达到自定义刷新动画的效果有一定的难度,别着急,下面爱站技术频道和大家分享Android开发中MJRefresh自定义刷新动画效果,一起来学习吧! [一] ...

  7. Android开发中的多线程编程技术

    Android开发中的多线程编程技术 [IT168技术]多线程这个令人生畏的"洪水猛兽",很多人谈起多线程都心存畏惧.在Android开发过程中,多线程真的很难吗?多线程程序的&q ...

  8. Android开发中使用七牛云存储进行图片上传下载

    Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储 ...

  9. 5 个 Android 开发中比较常见的内存泄漏问题及解决办法

    Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢? 在Android程序开发中,当一个对象已经不需要再 ...

最新文章

  1. asp.net ashx 学习总结
  2. mysql 表列表_一个MySQL表中的多列表显示
  3. Centos5上部署udev
  4. 如何解决 Nginx 端口映射到外网后访问地址端口丢失的问题
  5. 零知识证明四——Fiat-Shamir,三分钟零知识证明入门
  6. mac系统下设置eclipse的补全快捷键方法
  7. 前端注释那些事儿:看懂这篇,提高代码质量So easy
  8. 最佳现代设计必备衬线字体
  9. 如何清空matlab命令窗口,matlab如何清空命令窗口中的内容
  10. macbook linux 双系统,Mac双系统切换及设置技巧
  11. 科学家成功实现八光子薛定谔猫态
  12. 远程桌面3389加固
  13. 利用pyecharts实现中国省与市之间的跳转
  14. Unity3D 手机摇一摇 实现震动效果
  15. 计算机键盘上clr是什么意思,CLR是什么意思
  16. ACM-ICPC 数论部分总结
  17. JAVA学习之路:不走弯路,就是捷径(一)
  18. Mapper 重命名问题
  19. 【开发日志】2022.10.10 ZENO Raycast Triangle
  20. Grafana可视化工具-之表格图开发

热门文章

  1. Spring Session - 源码解读
  2. MyBatis-09MyBatis注解方式之@Update/@Delete
  3. xml发生错误_WEB之web.xml详解
  4. access窗体中再制作查询窗体_如何给java窗体添加下拉菜单项,以选择游戏难度为例 - 攻向前端的小白...
  5. 分页请求json数据_pyspider抓取虎嗅网文章数据
  6. docker如何将运行中的容器保存为docker镜像?
  7. 用ajax写以随机数验证码,关于前端ajax请求url为何添加一个随机数
  8. 【自动驾驶/opencv】32.交通灯颜色提取的难点
  9. 【c++】30.为什么可以通过指针或引用实现多态,而不可以通过对象呢?
  10. Caffe学习系列(13):数据可视化环境(python接口)配置