在本文中,您将会了解到关于Android中使用databinding编译时出现的error:Executionfailedfortask':app:dataBindingProcessLayoutsD
在本文中,您将会了解到关于Android中使用databinding编译时出现的error:Execution failed for task ':app:dataBindingProcessLayoutsDebug'的新资讯,并给出一些关于AbstractMethodError: abstract method "androidx.databinding.ViewDataBinding androidx.databind...、Android Error:Execution failed for task '':app:compileDebugJavaWithJavac'' 解决方案 总结、Android Error:Execution failed for task '':app:preDebugAndroidTestBuild''. > Conflict wi...、Android Java 8 使用 Lamda 报错:Execution failed for task :app:transformJackWithJackForDebug - Android?的实用技巧。
本文目录一览:- Android中使用databinding编译时出现的error:Execution failed for task ':app:dataBindingProcessLayoutsDebug'
- AbstractMethodError: abstract method "androidx.databinding.ViewDataBinding androidx.databind...
- Android Error:Execution failed for task '':app:compileDebugJavaWithJavac'' 解决方案 总结
- Android Error:Execution failed for task '':app:preDebugAndroidTestBuild''. > Conflict wi...
- Android Java 8 使用 Lamda 报错:Execution failed for task :app:transformJackWithJackForDebug - Android?
Android中使用databinding编译时出现的error:Execution failed for task ':app:dataBindingProcessLayoutsDebug'
Windows环境下使用svn对AndroidStudio更新代码时,总会在源文件中出现一堆乱码,尤其是xml文件中的乱码,不仅找起来费劲,改起来更费劲。
最近从svn更新代码之后,编译时出现了下面这个提示,而且AS中没有错误提示,这可真是捉急了。
databinding error:Execution Failed for task '':app:dataBindingProcessLayoutsDebug''
后来,多亏这篇帖子提示,自己写了段代码来尝试下,http://stackoverflow.com/questions/35097445/android-databinding-errorexecution-Failed-for-task-appdatabindingprocesslayo!
果然找到问题了,那么多xml文件,就一个文件头多了一个0xfeff,最终还是找到了那个文件并修改了。下面上一段文件搜索代码,这个解决代码很简单,应该都不是难事吧。
1 public static void main(String[] args){ 2 String path="E:\\svn\\ZonetryPlatform\\app\\src\\main\\res\\layout"; 3 File file=new File(path); 4 String[] list = file.list(); 5 int length = list.length; 6 System.out.println("file.size="+length); 7 for (int i = 0; i < length; i++) { 8 String onePath = list[i]; 9 File oneFile= File(path,onePath); 10 FileInputStream fis=null11 FileReader fr=12 char[] b=new char[1]; 13 try { 14 // System.out.print("寻找当前文件="+onePath); 15 fr= FileReader(oneFile); 16 fr.read(b,1); 17 System.out.println("the first c of the file = "+b[0]); 18 if (b[0]==0xfeff){ 19 System.out.println("=========================当前文件出现异常字符, file="+onePath); 20 } 21 } catch (FileNotFoundException e) { 22 e.printstacktrace(); 23 } (IOException e) { 24 25 }finally26 if (fis!=27 28 fis.close(); 29 } 30 e.printstacktrace(); 31 } 32 33 } 34 System.out.println("the first c of the file = "+b[0]); 35 36 37 38 } 39 }
总结
以上是小编为你收集整理的Android中使用databinding编译时出现的error:Execution failed for task '':app:dataBindingProcessLayoutsDebug''全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
原文地址:https://www.cnblogs.com/BobGo
AbstractMethodError: abstract method "androidx.databinding.ViewDataBinding androidx.databind...
混淆导致的数据绑定库错误
问题摘要
AbstractMethodError: abstract method "androidx.databinding.ViewDataBinding androidx.databinding.DataBinderMapper.getDataBinder(androidx.databinding.DataBindingComponent, android.view.View, int)"
堆栈如下:
java.lang.AbstractMethodError: abstract method "androidx.databinding.ViewDataBinding androidx.databinding.DataBinderMapper.getDataBinder(androidx.databinding.DataBindingComponent, android.view.View, int)"
at androidx.databinding.MergedDataBinderMapper.getDataBinder(MergedDataBinderMapper.java:74)
at androidx.databinding.DataBindingUtil.bind(DataBindingUtil.java:199)
at androidx.databinding.DataBindingUtil.inflate(DataBindingUtil.java:130)
at androidx.databinding.DataBindingUtil.inflate(DataBindingUtil.java:95)
at cn.sintoon.common.adapter.SinRecyclerViewBaseAdapter.onCreateViewHolder(Unknown Source:11)
at cn.sintoon.common.adapter.SinRecyclerViewBaseAdapter.onCreateViewHolder(Unknown Source:0)
at androidx.recyclerview.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6794)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5975)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5858)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5854)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2230)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1557)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924)
at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3336)
at android.view.View.measure(View.java:23454)
at androidx.constraintlayout.widget.ConstraintLayout.internalMeasureChildren(ConstraintLayout.java:1227)
at androidx.constraintlayout.widget.ConstraintLayout.onMeasure(ConstraintLayout.java:1572)
at android.view.View.measure(View.java:23454)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
at android.view.View.measure(View.java:23454)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
at androidx.appcompat.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:403)
at android.view.View.measure(View.java:23454)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.view.View.measure(View.java:23454)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1565)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:726)
at android.view.View.measure(View.java:23454)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6834)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:847)
at android.view.View.measure(View.java:23454)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2954)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1753)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2041)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1636)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7946)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1092)
at android.view.Choreographer.doCallbacks(Choreographer.java:893)
at android.view.Choreographer.doFrame(Choreographer.java:812)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1078)
at android.os.Handler.handleCallback(Handler.java:907)
出现场景
封装了一个类库,向外提供一个封装好的 RecyclerAdapter,使用 DataBinding 。生成类库时开启了混淆,在使用时,抛出异常。
问题原因
将 androidx.databinding.DataBindingComponent
混淆掉了。
如何修复
修改混淆规则。不混淆这个类。
-keep class androidx.databinding.DataBindingComponent {*;}
排查过程
根据错误堆栈看,是找不到这个方法,初步怀疑就是被混淆掉了方法,然后直接使用不混淆的测试,的确没有异常了。确认是混淆的问题。
然后在 /build/outputs/mapping/ 目录下查看 mapping.txt 文件,发现果然是将这类混淆掉了。
# compiler: R8
# compiler_version: 1.4.77
# min_api: 1
androidx.databinding.DataBindingComponent -> a.a.a:
mapping.txt 这个文件提供混淆前后类、方法、类成员等的对照表。
总结
在基础类库中使用了数据绑定库要配置混淆规则。
参考 Proguard 混淆规则
Android Error:Execution failed for task '':app:compileDebugJavaWithJavac'' 解决方案 总结
1、升级更新buildToolsVersion 到最新版本
2、升级Android Studio 2.2.2版本,JDK 1.8版本
3、配置JAVA_HOME路径
然并卵没有解决我个人的问题
gradlew compileDebug --stacktrace 可以用于查看堆栈的错误信息,然后再去网上继续找寻错误信息。
把命令gradlew compileDebug --stacktrace 改成 gradlew compileDebugJavaWithJavac
居然把具体的错误信息打印出来了
然后更改,解决问题
像我遇到的问题是,刷新的时候都没有问题,运行的时候就出现我们标题的问题,然而解决了几次这样错误以后,发现一般来说只有manefest的权限重复这种类型错误,不打印错误信息出来,是看不到真正的错误的。gradle和studio升级版本越来越高以后,对权限要求都不能重复了,感觉算不算坑,有点追求完美?以前版本是可以兼容,内部应该帮你合并了的。
环境:studio3.0.1 gradle 4.1版本
Android Error:Execution failed for task '':app:preDebugAndroidTestBuild''. > Conflict wi...
错误内容:
Error:Execution failed for task '':app:preDebugAndroidTestBuild''.
> Conflict with dependency ''com.android.support:support-annotations'' in project '':app''. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.
我们寻找External Libraries中的27.1.1版本,删掉就行了
最后在build.gradle中添加如下代码
androidTestCompile(''com.android.support:support-annotations:26.1.0'') {
force = true
}
Android Java 8 使用 Lamda 报错:Execution failed for task :app:transformJackWithJackForDebug - Android?

Remove jackOption from defaultConfig in build.gradle
Add following lines in Application gradle
dependencies {
classpath ''com.android.tools.build:gradle:2.3.1''
classpath ''me.tatarka:gradle-retrolambda:3.2.3''
}
And add following line in build.gradle as below:
apply plugin: ''me.tatarka.retrolambda''
Hope this will help.
今天关于Android中使用databinding编译时出现的error:Execution failed for task ':app:dataBindingProcessLayoutsDebug'的讲解已经结束,谢谢您的阅读,如果想了解更多关于AbstractMethodError: abstract method "androidx.databinding.ViewDataBinding androidx.databind...、Android Error:Execution failed for task '':app:compileDebugJavaWithJavac'' 解决方案 总结、Android Error:Execution failed for task '':app:preDebugAndroidTestBuild''. > Conflict wi...、Android Java 8 使用 Lamda 报错:Execution failed for task :app:transformJackWithJackForDebug - Android?的相关知识,请在本站搜索。
本文标签: