android-----gen下没有R文件

自从更新了ADT后,最近总是出现这样或那样的问题,这不现在又出现问题了-----新建了一个工程,发现gen下没有R文件,并且一新建工程就会产生这样一个叫appcompat_v7的项目。

对新建的工程(MobilePhone)右键---->Build Path---->Configure BuildPath 发现如下情况:


网上搜索了下,gen下没有R文件的解决方法:

1、选择菜单  Project >> Clean ,前提是勾选上 Bulid Automatically(自动构建部署) , 点Clean后会重新构建项目,因为一般情况下,R.java文件在这个时候会重新更新生成一边,如果工程有错,就不会自动生成。

2、选择工程,右键 Android Tools >> Fix Project Properties 这个操作有时候可以修正一些错误。

两种方法都试了下,但是还是不行。

继续百度、谷歌,发现以下的情况可能导致R文件无法产生:

一是没有刷新代码和重新翻译。

二是资源文件错误(文件名称大写了,xml格式错误,编码不对)。

三是ADT与Eclipse关联问题,遇到问题关键是看console的提示信息,会告诉你哪进出错了。

既然是Android Dependencies报错,就搜索了下Android Dependencies(本人菜鸟不懂),了解到:

 

Android Dependencies 是什么?

 官方的解释是:Android Dependencies is a virtual folder where Eclipse shows what JAR files the project depends on. It‘s not a physical folder; you won‘t find it on your hard disk. And the folder is not checked in into Subversion.Do not delete that folder. You will destroy your project.To fix it, just revert to an older Subversion revision and check it in again.

    简单说:从ADT16开始,Android项目中多了一个名为“Android Dependencies” 的库应用文件夹,这是ADT的第三方库新的引用方式。当你需要引用第三方库时,只需在项目中新建一个名为"libs"的文件夹,然后将所有第三方包拷贝到该目录下。当eclipse启动时,ADT就会自动帮你完成库的引用,而不需要像以前一样自己Build Path,也不再需要Referenced Libraries了。

    

appcompat_v7是什么?

    更新ADT至22.6.0版本之后,创建新的安装项目,会出现appcompat_v7的内容。并且是创建一个新的内容就会出现。这到底是怎么回事呢?原来appcompat_v7是Google自己的一个兼容包,就是一个支持库,能让2.1以上全使用上4.0版本的界面。


解决方法

首先解决appcompat_v7报错问题:

我的appcompat_v7显示的是res/values-v23报错,发现我的sdk还没有api23,下载api23,这里有一个很好的网站(提供各种android sdk 在线更新服务器,收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等)  http://www.androiddevtools.cn, 下载好api23,然后右键---->Build Path---->Configure BuildPath---->Android选择Android 6.0。

参考的方法:http://www.itnose.net/detail/6298009.html


在解决工程(MobilePhone)报错的问题:

将报错的Android Dependencies移除掉,再右键---->Build Path---->Add External Archives...添加android-support-v4.jar和android-support-v7-appcompat.jar,我的路径是D:\Android-SDK\Android\android-sdk\extras\android\support\v7\appcompat\libs。在将清单文件改成这样:

 <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="23" />
主要是改targetSdkVersion,接着改project.properties,改成如下:

记得还要把appcompat_v7的Is Library勾上:


最后clean一下,OK大功告成(哭哭哭泪奔啊,搞了一天终于搞掂啦)。

参考方法:http://stackoverflow.com/questions/26518144/hello-world-android-app-error-workspace-appcompat-v7-res-values-v21-styles-bas


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值