问题现象:
为了是之前的Eclipse项目导入到Android Studio,重新装了Eclipse,下载好ADT插件和SDK后,开始新建项目,由于新建项目的最低支持的SDK小于14,需要appcompat_v7库作为支持,以保证低版本也能使用frame,兼容4.0以上SDK的特性。
在创建新的安装项目出现appcompat_v7的内容,并且产生unableto write jarlist cache file问题和由于此问题产生的R文件无法自动生成。
appcompat_v7会报错,出现如下错误:
WARNING: unable towrite jarlist cache file \home\lake\eclipse_workspace\appcompat_v7\bin\jarlist.cache
WARNING: unable towrite jarlist cache file \home\lake\eclipse_workspace\appcompat_v7\bin\jarlist.cache
WARNING: unable towrite jarlist cache file \home\lake\eclipse_workspace\appcompat_v7\bin\jarlist.cache
appcompat\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'.
解决方法:
1.最简单的方法当然是使SDK的最小版本大于14,这样就不需要用到appcompat_v7库,自然不会报错了。
2.当然很多朋友都是为了兼容性使用的appcompat_v7库,由于是在ubuntu中,由于安装过程中,可能当前用户无法取得appcompat_v7库,请自行排除,如果您已经排除权限问题,请继续以下步骤。
此时项目中/appcompat_v7/bin/没有R.txt以及appcompat_v7.jar文件,意味着R文件没有生成。
为了解决问题,尝试了多种方式,最后发现是sdk没更新完整的问题,需要把使用的Android SDK Build-tools以及SDK Platform下载完整,具体的情况查看报错内容,例如appcompat\res\values-v21\styles,请下载Android SDK Build-tools v21.1.2.
到这里算完成了,当然由于是在ubuntu下,SDK无法下载时,请查看下载位置的目录是否可写入,当前用户是否有权限,如果权限不够请更改权限,一般为775.
这是删除之前的项目以及appcompat_v7,重新创建,项目正常,也可以运行了。
折腾了很久终于完成了,分享一下经验,希望一起学习。