android studio 3.0 升级 项目遇到的问题及更改思路(问题小结)

所属分类: 软件编程 / Android 阅读数: 43
收藏 0 赞 0 分享

Android Studio从3.0版本新增了许多功能,当然首当其冲就是从3.0版本新增了对 Kotlin 开发语言的支持,除此之外还有其他一些新功能,例如:Android Profiler (其中包含了: CPU Profiler、Memory Profiler、Network Profiler ),APK Debugger,Device File Explorer,Java 8 Language Features等。

android studio 3.0版本升级问题修改:

===》 问题一

Error:Cannot choose between the following configurations of project :pickerview: 
 - debugApiElements 
 - debugRuntimeElements 
 - releaseApiElements 
 - releaseRuntimeElements 
All of them match the consumer attributes: 
 - Configuration 'debugApiElements': 
  - Found com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't required. 
  - Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required. 
  - Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required. 
  - Found org.gradle.api.attributes.Usage 'java-api' but wasn't required. 
 - Configuration 'debugRuntimeElements': 
  - Found com.android.build.api.attributes.BuildTypeAttr 'debug' but wasn't required. 
  - Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required. 
  - Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required. 
  - Found org.gradle.api.attributes.Usage 'java-runtime' but wasn't required. 
 - Configuration 'releaseApiElements': 
  - Found com.android.build.api.attributes.BuildTypeAttr 'release' but wasn't required. 
  - Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required. 
  - Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required. 
  - Found org.gradle.api.attributes.Usage 'java-api' but wasn't required. 
 - Configuration 'releaseRuntimeElements': 
  - Found com.android.build.api.attributes.BuildTypeAttr 'release' but wasn't required. 
  - Found com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but wasn't required. 
  - Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required. 
  - Found org.gradle.api.attributes.Usage 'java-runtime' but wasn't required. 

===》解决方法:

Warning:android-apt plugin is incompatible with future version of Android Gradle plugin. Please use ‘annotationProcessor' configuration instead.

原因:更新Android studio 原来项目出现问题。

分析: 尤其是采用butterknife工具的,采用新的Android Studio都会出现这样的问题,本人根据提示最后猜测原因可能是Android studio更新,然后gradle更新了,这样的话可能使原来的android-apt 工具跟不上节奏了,所以让采用annotationProcessor工具。

解决: 把project下的build.gradle 当中的依赖

修改成如下:

buildscript { 
repositories { 
mavenCentral() 
} 
dependencies { 
classpath ‘com.android.tools.build:gradle:2.4.0-alpha7' 
//classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8' //注释掉
} 
} 

然后再把module下的build.gradle :

修改如下:

dependencies { 
compile project(‘:roadvance-sdk')
compile ‘com.google.dagger:dagger:2.10' 
//apt ‘com.google.dagger:dagger-compiler:2.10'
annotationProcessor ‘com.google.dagger:dagger-compiler:2.10'
compile ‘com.android.support:appcompat-v7:25.3.1'
compile ‘com.jakewharton:butterknife:8.5.1' 
//apt ‘com.jakewharton:butterknife-compiler:8.5.1'
annotationProcessor ‘com.jakewharton:butterknife-compiler:8.5.1' 
}

再把 apply plugin: ‘com.neenbedankt.android-apt ' 这个引用给删除。

重新reBuild的一下

===》 问题二

Error:Execution failed for task ':wigetlib:javaPreCompileDebug'. 
> Annotation processors must be explicitly declared now.  The following dependencies on the compile classpath are found to contain annotation processor.  Please add them to the annotationProcessor configuration. 
    - butterknife-7.0.1.jar (com.jakewharton:butterknife:7.0.1) 
  Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true to continue with previous behavior.  Note that this option is deprecated and will be removed in the future. 
  See https://developer.android.com/r/tools/annotation-processor-error-message.html for more details. 

解决方法:

在app的build中

android {
  ... 
 defaultConfig { 
     ...
    //添加如下配置就OK了
 javaCompileOptions { 
      annotationProcessorOptions {
       includeCompileClasspath = true
      }
     }
     ...
  }
    ...
 }

=====》 问题三

Information:Gradle tasks [:pickerview:generateDebugSources, :pickerview:generateDebugAndroidTestSources, :pickerview:mockableAndroidJar, :zhxflib:generateDebugSources, :zhxflib:generateDebugAndroidTestSources, :zhxflib:mockableAndroidJar, :wigetlib:generateDebugSources, :wigetlib:generateDebugAndroidTestSources, :wigetlib:mockableAndroidJar, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar] 
D:\zhihuixinfanWorkerSpace\ZhiHuiXinFan\app\build\intermediates\manifests\full\debug\AndroidManifest.xml 
Error:(12) error: unknown element <uses-library> found. 
Error:(12) unknown element <uses-library> found. 
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 
Error:Execution failed for task ':app:processDebugResources'. 
> Failed to execute aapt 
Information:BUILD FAILED in 8s 
Information:6 errors 
Information:0 warnings 
Information:See complete output in console 

解决方法:

在项目的gradle.properties中:

android.enableAapt2=false

修改了以上问题,我的项目可以正常运行了!!!

以上所述是小编给大家介绍的android studio 3.0 升级 项目遇到的问题及更改思路(问题小结),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Retrofit2日志拦截器的使用

这篇文章主要介绍了Retrofit2日志拦截器的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android创建外部lib库及自定义View的图文教程

这篇文章主要给大家介绍了关于Android创建外部lib库及自定义View的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android分享微信小程序失败的一些事小结

这篇文章主要给大家介绍了关于Android分享微信小程序失败一些事,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android分享微信小程序技巧之图片优化

这篇文章主要给大家介绍了关于Android分享微信小程序技巧之图片优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android Viewpager实现无限循环轮播图

这篇文章主要为大家详细介绍了Android Viewpager实现无限循环轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android中的Bitmap序列化失败的解决方法

这篇文章主要介绍了Android中的Bitmap序列化失败的解决方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Android自定义通用标题栏CustomTitleBar

这篇文章主要为大家详细介绍了Android自定义通用标题栏CustomTitleBar,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android组合控件自定义标题栏

这篇文章主要为大家详细介绍了Android组合控件自定义标题栏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android自定义复合控件实现通用标题栏

这篇文章主要为大家详细介绍了Android自定义复合控件实现通用标题栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

ExpandableListView实现简单二级列表

这篇文章主要为大家详细介绍了ExpandableListView实现简单二级列表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多