在添加greendao 的plugin 出现?:Could not initialize class com.android.sdklib.repository

简介: 在添加greendao 的plugin 出现?:Could not initialize class com.android.sdklib.repository

在添加greendao 的plugin 出现?:Could not initialize class com.android.sdklib.repository.AndroidSdkHandler



这并不是由于java 版本问题,而是greendao版本和新的gradle 版本不兼容问题,greendao进行了版本升级,3.3.0;


新版gradle 找不到 greendao 报错



5d4d0d18a27f46d6a3c16e594aa15f8e_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


上面这个问题说明了是不兼容造成的:


翻译:

ebaa8d69157245cc89cf75a023117e7d_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg

25a9c2a3276e482ba5554b52a507130a_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg

add6a8308a18450791053313624df11b_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg



将greeendao版本修改到:3.3.0,build 即可


android  greendao简介



核心类


一旦生成了指定的代码,就可以在你的android工程中使用greenDao了。别忘记在你的android工程中引入greenDao的核心jar包:greenDao.jar。以下是GreenDao的一些必要接口。


DaoMaster:


daomaster以一定的模式持有数据库对象(SQLiteDatabase)并管理一些DAO类(而不是对象)。

有一个静态的方法创建和drop数据库表。它的内部类OpenHelper和DevOpenHelper是SQLiteOpenHelper的实现类,用于创建SQLite数据库的模式。


DaoSession:


管理指定模式下所有可用的DAO对象,你可以通过某个get方法获取到。DaoSession提供一些通用的持久化方法,比如对实体进行插入,加载,更新,刷新和删除。最后DaoSession对象会跟踪identity scope,更多细节,可以参看 session文档。


DAOs(Data access objects):


数据访问对象,用于实体的持久化和查询。对于每一个实体,greenDao会生成一个DAO,相对于DaoSession它拥有更多持久化的方法,比如:加载全部,插入(insertInTx,语境不明了,暂且简单的翻译成插入)。


android 如何引用jar包



首先,把jar包放到项目目录app/libs下,然后是项目引用:三个方法


方法一、添加compile

打开app下的build.gradle,在dependencies里面添加

implementation files('libs/jar包名称.jar'),添加后编译


方法二、在拷贝完jar到libs目录后,右击添加的jar包,在弹出的选项中选择Add As Library


之后会弹出模块选择,选中需要使用jar包的目录


5bece09c9b1c4220a897df1098d6f216_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


方法三、点击File -> Project Strcture,进入项目结构

之后进入选择所需要添加的jar包

之后按OK,编译,jar包就成功引用了


怎样添加module:



4deabf16f7bf4f63a13c1872d8b38384_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


defdbab069214b979505d04f2b6765b0_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


apply plugin: 'xxx'什么作用



  • plugin:增加的是插件;
  • dependence:是jar(只有class文件)或者aar(带有layout)


在application模块的build script中往往第一句就是


apply plugin: 'com.android.application'

在library模块中的build script中第一行是:


apply plugin: 'com.android.library'

我们再引用第三方的一些插件或是我们自定义的插件时,常常也是这一句:


apply plugin:'xxx'

com.android.application插件对应的是com.android.build.gradle.AppPlugin类(以下简称为AppPlugin类)

com.android.library插件对应的是com.android.build.gradle.LibraryPlugin类(以下简称为LibraryPlugin类)

还有就是比如:butterknife,GreenDao


project下build.gradle文件和module下build.gradle



1.build.gradle(Project:Leaks)


**它是顶级配置文件,包含全局配置。在这个文件里的配置项被展开到model下的guild.gradle中。


2.build.gradle(Module:app)


  它是局部配置文件,这个文件中的配置项只在引用它的模块中有作用。

  注意:一般加引用库时在module的build.gradle中加。


build.gradle(Project) 、 build.gradle(Module) 和settings.gradle的执行顺序



=======start load setting


=======start load project gradle


=======start load module gradle


BUILD SUCCESSFUL in 1s


查看java 版本



bb694d4bb37d4b958297784a1df0ae4e_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


bb694d4bb37d4b958297784a1df0ae4e_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


相关文章
Retrofit 动态修改BaseUrl 操作
Retrofit 动态修改BaseUrl 操作
591 0
|
SQL 缓存 安全
Android ORM 框架之 greenDAO
Android ORM 框架之 greenDAO
792 0
|
Android开发 iOS开发 MacOS
APP备案公钥、证书MD5指纹/签名MD5值获取最简单方法
APP备案公钥、证书MD5指纹/签名MD5值获取方法,Android安卓平台、Windows平台、macOS平台,三个平台获取方法, Android平台使用 APP备案助手,各大安卓应用市场搜索 APP备案助手 即可,Windows/macOS平台使用jadx-gui工具。
7025 2
|
XML Java Android开发
Android Studio App开发之翻页视图ViewPager的讲解及实战(附源码 包括翻页视图和翻页标签栏)
Android Studio App开发之翻页视图ViewPager的讲解及实战(附源码 包括翻页视图和翻页标签栏)
1410 0
|
开发工具 Android开发 git
解决Android AAPT: error: resource android:attr/lStar not found. 问题
解决Android AAPT: error: resource android:attr/lStar not found. 问题
1055 0
|
Android开发
【错误记录】Android Studio 编译报错 ( Error:Connection timed out: connect | 更新配置依赖仓库方式 )
【错误记录】Android Studio 编译报错 ( Error:Connection timed out: connect | 更新配置依赖仓库方式 )
1098 0
【错误记录】Android Studio 编译报错 ( Error:Connection timed out: connect | 更新配置依赖仓库方式 )
|
11月前
|
前端开发 C# Windows
解决Gradle下载缓慢的问题,将-bin改为-all
【11月更文挑战第15天】PropertyGrid 是一种用户界面组件,允许用户直观地查看和编辑对象属性。WPF 中虽无内置控件,但可通过组合 Expander 和 DataGrid 实现基本功能,或使用 PropertyTools 等第三方库获得更强大的功能。
237 1
|
Java Linux Android开发
深入理解Android开发:从基础到高级
【9月更文挑战第17天】本文将深入探讨Android开发的各个方面,包括应用开发、操作系统等。我们将通过代码示例来展示如何创建一个简单的Android应用,并解释其背后的原理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和启示。
|
Android开发
Android studio 出现Plugin [id: ‘com.android.application‘, version: ‘8.1.0‘, apply: false] 问题解决办法
Android studio 出现Plugin [id: ‘com.android.application‘, version: ‘8.1.0‘, apply: false] 问题解决办法
5540 2
|
传感器 API Android开发
Android摄像头采集选Camera1还是Camera2?
Camera1与Camera2是Android平台上的两种摄像头API。Camera1(API1)在Android 5.0后被标记为过时,新项目应优先选用Camera2(API2)。Camera2提供了更精细的控制选项,如曝光时间、ISO感光度等;支持多摄像头管理;采用异步操作提高应用响应速度;并支持RAW图像捕获及实时图像处理。此外,它还具备更好的适配性和扩展性,适用于各类应用场景,如相机应用开发、视频通话和计算机视觉等。因此,在现代Android开发中推荐使用Camera2。
395 0