新建项目的时候遇到这种问题:
the following classes could not be found:
android.support.v7.internal.widget.ActionBarOverlayLayout (Fix Build Path, Edit XML, Create Class)
Tip: Try to build the project
解决办法是:
把style文件中theme改一下
在Theme.AppCompat.Light.DarkActionBar前面加上Base. 如下
<!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
找不到runProguard方法
问题产生的原因:gradle进行了升级,不在支持runProguard方法
解决:minifyEnabled true;
appcompat
在新版本中Google更新了一个依赖包,这个包包含了v4和v7的东西(v7是要依赖v4这个包的,所以用到v7时必须用一起的v4),只要你的编译版本compile with是4.0即以上,那么就会默认依赖这个appcompat包,反正你是没办法脱离它了。如果非要脱离他你可以建立一个编译版本是2.3,2.2之类的应用,这样就不会依赖这个包了。
根据实际经验,我们不可能再去建立一个2.x平台的应用,所以我们必须要好好和这个appcompat相处。于是就应该明白下面几点:
1.appcompat删掉后会出错,新建工程后它会自动生成
2.appcompat会影响你的R文件,你取消依赖的时候很可能丢失R文件。解决方式是将xml文件错误删除或者修改,然后才能重新获得R文件
3.appcompat有自己的属性,如果你定义的attribute属性和它重名了,那么就必须要更换名字。这就是android蛋疼的一点,应该注意。
4.appcompat有自己的编译版本,如果它的版本高,你的程序版本低,这样你在依赖的时候会出现找不到资源的问题。所以请保持一致或者比它编译版本高即可。当然你也可以修改它的编译版本。
html5 webview 记得加上 settings.setDomStorageEnabled(true);
程序报错说应用中的v4和appcompat中的v4不一致。
这个很常见,因为appcompat中经常更新,所以很容易出现不一致。解决思路是解除依赖关系,删除自己的v4,然后进入构建路径->库->删除私有的库,最后重新添加依赖即可。当然关键点是尽量不要让xml文件中出现错误,这样很难重新生成R文件的。