导入项目运行报错:某些输入文件使用或覆盖了已过时的 API……
导入eclipse项目,编译不报错,点击运行时报错.报错如如下:
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\Java\bin\java.exe'' finished with non-zero exit value 1
`
------
解决方法:
build gradle里面添加如下配置:
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" }
}
}
再次点击运行Messages窗口会弹出详细的警告信息:
D:\androidstudioprojs\JDMall06\app\src\main\java\com\m520it\jdmall03\fragment\HomeFragment.javaError:(53, 49) 警告: [unchecked] 未经检查的转换需要: ArrayList找到: ObjectError:(56, 65) 警告: [unchecked] 未经检查的转换需要: ArrayList找到: ObjectError:(65, 62) 警告: [unchecked] 未经检查的转换需要: ArrayList找到: ObjectD:\androidstudioprojs\JDMall06\app\src\main\java\com\m520it\jdmall03\fragment\CategoryFragment.javaError:(36, 61) 警告: [unchecked] 未经检查的转换需要: ArrayList找到: ObjectD:\androidstudioprojs\JDMall06\app\src\main\java\com\m520it\jdmall03\ui\HorizontalListView.javaError:(124, 42) 警告: [deprecation] LayoutParams中的FILL_PARENT已过时Error:(124, 68) 警告: [deprecation] LayoutParams中的FILL_PARENT已过时D:\androidstudioprojs\JDMall06\app\src\main\java\com\m520it\jdmall03\ui\SubCategoryView.javaError:(42, 61) 警告: [unchecked] 未经检查的转换需要: ArrayList找到: ObjectD:\androidstudioprojs\JDMall06\app\src\main\java\com\m520it\jdmall03\activity\ProductListActivity.javaError:(74, 47) 警告: [unchecked] 未经检查的转换需要: ArrayList找到: ObjectError:(77, 59) 警告: [unchecked] 未经检查的转换需要: ArrayList找到: Object
D:\androidstudioprojs\JDMall06\app\src\main\java\com\m520it\jdmall03\ui\pop\ProductsSortPop.java
Error:(41, 38) 警告: [deprecation] BitmapDrawable中的BitmapDrawable()已过时
Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’.
com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘D:\Java\bin\java.exe” finished with non-zero exit value 1
这里的详细信息只是作为解决此问题的参考.也许看后依然是一头雾水.其实出现这种构建失败的问题一般问题都出在build gradle配置文件中.
compileSdkVersion19 //编译SDK版本
buildToolsVersion”24.0.1”//buildTools版本
defaultConfig {
applicationId”com.mcppit.jdmall03”//包名
minSdkVersion9//最低SDK版本
targetSdkVersion18//目标SDK版本
}
dependencies {//依赖库
compile’com.android.support:support-v4:19.1.0’
compile files(‘libs/fastjson-1.0.3.jar’)
}
1.找到本地SDK所在目录如:F:\newsdk\extras\android\m2repository\com\android\support
核对build gradle配置文件中编译SDK,build tools版本是否存在.v4包的路径中 v4包的版本本机中是否存在,因为是导入别人的项目,本机不一定存在以上版本,所以要进行替换.因此根据本地的SDK版本做了以下设置,项目运行成功.如果项目导入出现同样的问题,可以参考.
compileSdkVersion23
buildToolsVersion"23.0.1"
dependencies {
compile'com.android.support:support-v4:23.0.1'
compile files('libs/fastjson-1.0.3.jar')
}