Realm-java

最近准备深入学习研究下久仰大名的Realm,这个库高效并且跨平台,准备完全掌握后运用到项目实战中去。

于是把官方在GitHub上的工程 check out 下来编译,发现编译不过。

官方github地址:https://github.com/realm/realm-java

遇到其实问题比较简单,只是这个工程不是Android 的工程而已,所以带着定向思维去编译这个项目会遇到一点小问题。查看官方的README.md就好了。

不过笔者还是准备把自己遇到的问题罗列出来,毕竟这个工程对于正常的Android开发者来说太坑了

1.在项目根目录运行./gradlew assemble,最顺利的情况就是直接 success

2.然后肯能会遇到错误,提示安装Android NDK,照做

3.安装后重复命令./gradlew assemble,遇到如下错误信息:

What went wrong:

A problem occurred configuring project ':realm:kotlin-extensions'.

Could not resolve all dependencies for configuration ':realm:kotlin-extensions:kaptAndroidTest'.

A problem occurred configuring project ':realm:realm-library'.

ABIs [mips] are not supported for platform. Supported ABIs are [armeabi-v7a, arm64-v8a, x86, x86_64].

解决办法:

找到工程下“realm-library/build.gradle”文件,把这一行的

abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a', 'mips'

最后的'mips'去掉,修改为

abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'

4.继续命令./gradlew assemble,继续出现错误信息

Where:

Build file '/Users/song314/Kotlin/realm-java/realm/realm-library/build.gradle' line: 779

What went wrong:

Execution failed for task ':realm:realm-library:checkNdk'.

Your NDK version: 17.0.4754217. Realm JNI must be compiled with the version r10e of NDK.

直接在issues里面搜索 Realm JNI must be compiled with the version r10e of NDK.

https://github.com/realm/realm-java/issues/3733

很难受,官方给的解释是目前只支持 r10e 版本的 NDK 进行编译

以下是官方这个issuse里面的答复

You can find older versions here: https://developer.android.com/ndk/downloads/older_releases.html

My local.properties is:

ndk.dir=/usr/local/Cellar/android-ndk/r10e

sdk.dir=/usr/local/Cellar/android-sdk/24.4.1

I have installed the NDK through home brew.

歌词大意:

需要自己下载一个历史版本的NDK,然后配置到路径里面去

可以通过home brew 来安装 NDK (猜测这句是针对历史版本NDK,官方工具只能下载最新版本的NDK,当然只能用 home brew 。然而笔者我,用迅雷!!)

ndk r10e.jpg

5.下载解压后,重新配置 NDK 路径继续命令./gradlew assemble

编译过程中会先下载一堆依赖

然后编译文件,时间会很长,很长。真的!

realm-complie.jpg

realm java_手把手带你解决Realm-java的编译问题相关推荐

  1. 手把手带大家搭建一个java个人网站(腾讯云为例)

    大家好,我是鸟哥.一个半路出家的程序员. 这次真是学妹要的!前几天鸟哥以腾讯云为例给大家分享了一篇如何搭建服务器的文章--手把手带大家搭建一台服务器(腾讯云为例),文章结尾表示过几天带大家搭建一个网站 ...

  2. 谈谈java面向对象之抽象,手把手带你搞定java面试之面向对象

    计算机语言晦涩难懂,打算利用通俗易懂的文字带领大家学习java基础.如果文中有什么错误的地方,欢迎大家在评论区指正,免得我误人子弟. Question:当面试JAVA开发岗位的时候,面试官最爱问的问题 ...

  3. cad 打开硬件加速卡_老司机手把手带你解决,各种CAD疑难杂症

    前 言 有很多小伙伴们每天在用CAD制图时,会出现很多奇奇怪怪的问题.比如:线宽显示问题.字体选择问题.CAD状态栏消失.文字不能编辑--等等. 那么,今天就用这篇文章把这些问题进行一次梳理,来给大家 ...

  4. RuntimeError: Error compiling objects for extension手把手带你解决(超详细)

    我在执行python setup.py build develop的时候,编译出错,显示RuntimeError: Error compiling objects for extension 我在网上 ...

  5. 手把手带你解决OBS Studio 无法录屏的问题

    OBS Studio无法录屏怎么办? 小葵花妈妈课堂开课啦 博主在安装了OBS Studio之后,本以为双击打开单击开始录制就可以录屏了,用的时候才发现无论设置了多少遍还录制的是会"说话的黑 ...

  6. 【手把手带你学Java EE】多线程那些事,你了解了吗?

    [手把手带你学Java EE]多线程那些事,你了解了吗? 线程 概念 意义 进程和线程的区别 面试题:谈谈进程和线程的区别和联系 Java中的多线程编程 创建线程的方法 方法一 方法二 方法三 &am ...

  7. 社区java视频大宝库_Java大牛手把手带你实现社区论坛项目实战课程

    Java大牛手把手带你实现社区论坛项目实战课程 Mr李 Java 2019-12-18 https://www.jsdaima.com/video/900.html Java大牛手把手带你实现社区论坛 ...

  8. java设计飞镖游戏_3分钟手把手带你使用Unity制作“扔飞镖游戏”

    原标题:3分钟手把手带你使用Unity制作"扔飞镖游戏" 日落西山红霞飞~战士打靶把营归呀巴扎嘿.今天我制作一个简单的打靶游戏(扔飞镖) 在制作之前首先要思考这个游戏需要什么对象, ...

  9. linux 中国-新手村,从新手村开始,手把手带你入门梳理内核代码

    原标题:从新手村开始,手把手带你入门梳理内核代码 在上一期内容中,Java离Linux内核有多远? 我们介绍了从 JVM 到内核的编译原理,告诉大家应用和系统工程师如何接触到内核. 本文将 从一个简单 ...

最新文章

  1. AI视觉大牛朱松纯担任北大AI研究院院长,提出通过构建大任务平台走向通用AI...
  2. Linux下修复修改profile文件导致命令不用可的解决方法
  3. 11. 系统信息监控
  4. [蓝桥] 算法提高 扶老奶奶过街
  5. 一、bootstrap4基础(布局系统、栅格系统、显示与隐藏、对齐与排列、内容排版、代码与图文、表格样式、颜色和边框、工具类)
  6. SDK Manager配置
  7. ue4序列帧ui_UE4动画序列帧通知机制(二)
  8. 惠普服务器bios启用备份系统,HP服务器怎么进入BIos
  9. mac google浏览器axure插件
  10. 那些年,我们一起追过的seo培训!
  11. 数据中心机房搬迁实施方案流程
  12. 【强连通分量】 Kosaraju和Tarjan算法 (标准模板+详细注释)
  13. VMWare 下 CentOS 设置静态 IP 地址
  14. 浅析计算机用户身份识别技术,浅谈网络安全之身份认证技术
  15. Android Layout inflate过程分析(1)
  16. Oracle、MySQL、SqlServer、PG数据库merge into语法实现总结
  17. Vue2组件间通信——父传子值props
  18. 德普测试仪EOL软件,电池充放电测试系统 EOL
  19. 批量提取文件创建时间_文件列表提取软件的使用
  20. 从0到1搭建电商营销数据分析平台(六)——聊聊反作弊

热门文章

  1. CPU进入IDLE都做了啥?
  2. 用VB实现SmartQQ机器人
  3. allegro17.2转PADS VX2.5
  4. Bootstrap笔记(十五) 常用类别 - 阴影
  5. pycharm 怎么调试html,pycharm怎么调试程序
  6. Structured Streaming 案例初体验
  7. Nginx心脏出血漏洞整改脚本【原创】
  8. 通过安装VNC服务器x11vnc(或vnc4server)和配置x11vnc.service实现远程通过VNC-Viewer访问VNC服务器。
  9. 面试题 01.05. 一次编辑
  10. 关于ZigBee,AaskingQuestion