• Android 问题记录


    1、程序包 ***.databinding不存在 解决方案:

    (1)首先查看 是否 布局文件 有语法错误。如果有错误  先解决 布局文件的一般性语法错误。

    (2)根据 databinding 使用的 几处修改 检查是否有问题

      1、build.grade中是否添加:

    Android 4.1 前
    android {
        ...
        
        dataBinding{
            enabled true
        }
        
        ...
    }
    Android 4.1 之后
    android {
        ...
        
        buildFeatures {
            dataBinding = true
            //viewBinding = true
        }
        
        ...
    }

      Android Studio 或者 gradle 版本切换 可能导致各种坑爹的问题  

    2、布局文件中是否 layout 作为根节点

      例如  使用databinding 前 

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:gravity="center"
            android:text="dataBinding基本使用"/>
    </LinearLayout>

       使用databinding 后

    <?xml version="1.0" encoding="utf-8"?>
    <layout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
    
            <TextView
                android:id="@+id/textView"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:gravity="center"
                android:text="dataBinding基本使用"/>
        </LinearLayout>
    </layout>

    基本可以解决问题!

    参考:

    https://blog.csdn.net/qiang_xi/article/details/73849556

    https://blog.csdn.net/guyuealian/article/details/51953749

    2、Unable to load class 'javax.xml.bind.JAXBException'.

    This is an unexpected error. Please file a bug containing the idea.log file.

    一开始 我认为:

    这个问题 基本就是   gradle 的 JDK 和 本地环境中 JavaHome 中的 JDK 版本不一致导致的。

    Android Studio => Project Structure => SDK Location => Gradle Settings =>Gradle JDK 路径 与 JavaHome 的 本地JDK 版本统一就好了。

    因为 在我的机器上  我将 jdk 统一成 1.8 确实解决了问题 后面发现 统一成 jdk11 依然有问题

    更新:

    实际上并不是, 是需要将 JDK 降级 或手动导入依赖包 

    JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包 。而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的。
    
    方案一:
    降低JDK 9 版本到 JDK 6/7/8,显然你不想这样做。
    方案二:(亲测可行)
    手动导入下面四个Jar包: javax.activation-1.2.0.jar    jaxb-api-2.3.0.jar  jaxb-core-2.3.0.jar  jaxb-impl-2.3.0.jar
    
    javax.activation-1.2.0.jar
    http://search.maven.org/remotecontent?filepath=com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar
    
    jaxb-api-2.3.0.jar
    http://search.maven.org/remotecontent?filepath=javax/xml/bind/jaxb-api/2.3.0/jaxb-api-2.3.0.jar
    
    jaxb-core-2.3.0.jar
    http://search.maven.org/remotecontent?filepath=com/sun/xml/bind/jaxb-core/2.3.0/jaxb-core-2.3.0.jar
    
    jaxb-impl-2.3.0.jar
    http://search.maven.org/remotecontent?filepath=com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.3.0.jar
    
    下载上面这些文件并复制到libs文件夹下, 添加到Build Path中,重新运行即可。
    ————————————————
    版权声明:本文为CSDN博主「pipizhen_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/pipizhen_/article/details/108300039
  • 相关阅读:
    团队编程
    灯塔 ——团队展示
    碎阅创造营——项目系统设计与数据库设计
    碎阅创造营——项目需求分析
    碎阅创造营——团队编程
    碎阅创造营——团队展示
    Computer-Hunters——项目系统设计与数据库设计
    Computer-Hunters——项目需求分析
    2019软工实践——第一次团队编程作业
    Computer-Hunters——团队展示
  • 原文地址:https://www.cnblogs.com/lesten/p/16379742.html
Copyright © 2020-2023  润新知