android studio 编译时lint错误及解决方法


一开始可能报的错很多,但大多是关于语法及Google规则之类的,按照lint report上面的提示修改就可以了。下面主要说的是遇到的几个比较棘手的问题。

1 InvalidPackage: Package not included in Android

lint report上解释说,当你创建安卓项目时,你可以通过创建的路径获取到Android的API包中的类。但是如果你引入了其他的工程作为你的libs,而你没用其中jar文件的权限,那么你就获取不到相应的API。

When you create Android projects, the classpath is set up such that you can  only access classes in the API packages that are included in Android. However,  if you add other projects to your libs/ folder, there is no guarantee that  those .jar files were built with an Android specific classpath, and in  particular, they could be accessing unsupported APIs such as java.applet.  

既然没有权限,但是项目却能正常运行,并且其他相同路径的包引用没问题,没办法,那就用lint的忽略规则给忽略掉吧。在相应的模块中添加一个lint.xml,给出id="InvalidPackage",然后给出lint report中的出错路径<ignore path=“XXXX”/>就ok了。

2 com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META_INF/NOTICE

这个是由于在lint report指出的jar文件中含有重复的文件导致的,给项目的demo的build.gradle中加上注解就可以了。

 
 
 
packagingOptions {
    //exclude 'META-INF/NOTICE.txt'
    //exclude 'META-INF/NOTICE'
    //exclude 'META-INF/DEPENDENCIES'
     exclude 'META-INF/LICENSE'
     exclude 'META-INF/LICENSE.txt'
    // exclude 'META-INF/ASL2.0'
    // exclude 'META-INF/notice.txt'
}

3 com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'E:\PublicFile\android\android-sdk_r24.1.2-windows\android-sdk-windows\build-tools\22.0.1\aapt.exe'' finished with non-zero exit value 1

这个是你的build.gradle的兼容包和compileSdkVersion配置不对引起的有两个解决方法:一个是全部升级成最新的,appcompat-v7:21.0.0须使用android 5.0版本的build tool,而且build出来的程序只能在Android 5.0下运行,另外一个方法就是自己动手支修改build.gradle有参数把compileSdkVersion=19,targetSdkVersion 19,兼容包改成compile 'com.android.support:appcompat-v7:19.+'这样就可以了。希望对你有用!

我的处理是全都升级到相同的版本就可以了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值