如何使用 gradle 0.7+ 将 .so 文件添加到 android 库项目

2024-01-26

项目结构:

应用程序项目 --> 取决于库项目

图书馆计划 有一个用于编译 jni 库的文件夹

jniLibs.srcDirs = ['libs']

我尝试按照示例应用程序将以下内容添加到 build.gradle 的 android 元素中https://android.googlesource.com/platform/tools/build/+/2e1f7810edd76d92cee8d3e06bc4dec0c288adea/tests/ndkSanAngeles/build.gradle https://android.googlesource.com/platform/tools/build/+/2e1f7810edd76d92cee8d3e06bc4dec0c288adea/tests/ndkSanAngeles/build.gradle然而,android 库项目不支持productFlavours,因此组装失败,并显示“无法在项目上找到参数[dghdhd] 的方法productFlavors()”

productFlavors {
    x86 {
        ndk {
            abiFilter "x86"
        }
    }
    arm {
        ndk {
            abiFilters "armeabi-v7a", "armeabi"
        }
    }
}

有没有办法向 android 库项目添加 ndk 支持?


最后我不需要使用产品香料。

对于图书馆项目,我添加了以下内容:

android {
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }        
}

libs 文件夹中有一个名为“armeabi-v7a”的文件夹,因为这是我唯一的目标,所以它很有效。

ndk 文件 (.so) 被传播到使用 android 库项目的 android 项目中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 gradle 0.7+ 将 .so 文件添加到 android 库项目 的相关文章

  • Android 动画闪烁

    我一直在搜索关于这个主题的尽可能多的线程 我可以在处理动画监听器时在 Android 2 2 中出现的闪烁中找到这些线程 但我无法完全解决我的问题 我得到的是一个 LinearLayout 弹出框 用户触摸它可以向下移动大约 100 像素
  • Android 如何使用 OkHttp 从 Callback 获取响应字符串?

    这是我的代码 OkHttpClient okHttpClient new OkHttpClient Request request new Request Builder url http publicobject com hellowor
  • 接收广播意图时出错 { act=android.bluetooth.device.action.FOUND flg=0x10}

    我搜索了一下 没有发现任何相似的东西 我正在 Android 中使用蓝牙开发两个设备之间的连接 在 ACTION FOUND 方法上 当我尝试使设备信息显示在 listView 上时 我在 logcat 上收到该错误 德萨菲奥活动 公共类
  • 选项 多个活动通用的菜单项

    安卓系统设计指南 http developer android com design patterns help html表示 帮助 应始终放置为溢出菜单的最后一项 它不应该出现在 ActionBar 中 而且 它应该出现在每个活动中 以便
  • Android 两个日期之间的差异

    我有两个约会 例如 String date 1 yyyyMMddHHmmss String date 2 yyyyMMddHHmmss 我想打印差异 例如 2d 3h 45m 我怎样才能做到这一点 谢谢 DateTimeUtils obj
  • 如何在android中以编程方式读取我的应用程序中电子邮件附加的文件?

    我知道一种获取此处显示的电子邮件中附件名称的方法 Android 在我的应用程序中获取电子邮件附件名称 https stackoverflow com questions 6035535 android get email attachme
  • 具有待处理意图的警报管理器

    下面的代码片段 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout main Do
  • android-透明RelativeLayout

    我想要制作一个具有可绘制渐变作为背景的活动 并将在其背景顶部显示 4 个面板 相对布局 现在我想让 4 个面板透明 例如 50 以便也可以看到渐变背景 我搜索了谷歌 但我发现只能通过活动而不是布局来做到这一点 如何做我想做的事 您可以创建一
  • Android 拒绝来电

    我想拒绝android中的传入 我从这些链接中看到了很多代码 Android 完全控制手机 信息亭模式 可能吗 如何 https stackoverflow com questions 7121508 android taking comp
  • Eclipse 说“更新 Android Developer Toolkit”

    我不知何故弄乱了我的 Eclipse 和 Android 设置 我不知道如何修复它 问题症状如下 在 首选项 gt Android 中 我尝试选择 android sdk linux 的位置 选择时出现错误 此 Android SDK 需要
  • 让每个观察者仅在订阅/观察时接收*新的LiveData

    每当你打电话时 observe 在 LiveData 上 观察者接收该 LiveData 的最后一个值 这在某些情况下可能有用 但对我来说没有用 每当我打电话 observe 我希望观察者只接收未来的 LiveData 更改 而不是它在以下
  • RecyclerView 未按预期滚动

    我有一个项目 我使用水平回收器视图 并且我想将一个元素居中 我的实现有效 但并非在所有情况下都可以检查此 GIF 正如您可能注意到的 如果我从左边来 它会正确滚动 如果我从右边来 它会过度滚动很多 我不知道如何停止也不知道如何解决这个问题
  • Facebook 和 google 登录不适用于 beta 测试 APK

    Google 和 Facebook 登录在 Android Studio Tools 中工作正常 但它们不适用于测试版本或 Beta 测试 因此请给我任何解决此问题的线索 联系谷歌支持后我已经解决了这个问题 以下是此问题的修复方法 请按照步
  • Android 背景 + 文本 + 按钮图标

    我想要一个图像设置为文本的背景 并在文本的左侧设置一个图标 在iPhone中非常简单 但不知道如何在Android上做到这一点 调整按钮的大小并保持图标 文本的位置和距离正确 iPhone 安卓我有这个 xml代码是
  • 如何检测屏幕何时关闭?

    是否可以检测屏幕何时关闭并捕获它 我想在 Android 的全局设置中将计时器设置为 15 秒 我正在尝试查找一些如何捕获唤醒锁定模式的信息 只需注册您的应用程序即可执行操作Intent ACTION SCREEN OFF https de
  • Apache POI 的 ProGuard 设置

    我正在构建一个使用 Apache POI 库的应用程序 当我调试应用程序 在不运行 Proguard 的情况下编译它 时 一切都运行良好 但是在导出 APK 后 当我运行应用程序并打开 Excel 文件时 出现以下异常 RuntimeExc
  • 有没有在android中使用roboguice和fragment的简单例子?

    我在寻找使用 Fragments RoboGuice 的工作示例时遇到问题 当您尝试使用 Android 片段事务管理器添加 删除片段时会出现此问题 一旦您告诉片段从 RoboFragment 继承 事务管理器就不再认为该类是片段 因为它扩
  • 使用 greenDao 动态查询

    我需要验证一些条件来创建完整的查询 QueryBuilder qb getMyObjDao queryBuilder if 某些条件 qb where MyObjDao Properties Prop1 eq someValue elseq
  • 了解 FTS3/FTS4:什么是虚拟表并从中搜索具有可搜索的非虚拟表?

    阅读 SQLite3 的 FTS3 FTS4 文档的第一部分后 我现在感到非常困惑 我感到困惑的原因是散布在网络上的示例 我相信它没有涵盖所有可能的用例 另一个原因是我目前所处的情况 话虽如此 我有一个名为 Note 的表 其中包含两个类型
  • 以编程方式暂时禁用自动更新

    我有一个自行车计算机应用程序 可以在用户骑行时记录数据 我有一位用户报告了一个我没有考虑到的问题 他出去进行了一次长途骑行 100 多英里 但在外出记录数据时 该应用程序通过 Google Play 自动更新进行了更新 不幸的是 这导致应用

随机推荐

  • Intellij 中的 AVD 管理器被禁用

    我正在记录这个问题和解决方案 如下 因为我第二次发现自己在这上面浪费了几个小时 解决方案 文件 gt 设置 gt 在搜索栏中输入 Android 选择 Android SDK 选择 编辑 Intellij 现在要求下载 SDK 800MB
  • Django - 媒体上传 [Errno 13] 权限被拒绝

    我在让 django 很好地处理图像上传时遇到了一些麻烦 我的脚本将根据日期创建目录 如下所示 file models FileField upload to uploads m Y 现在 如果我在上传文件夹中创建日期目录并将文件夹 chm
  • 自动布局使视图在剩余空间中居中(以编程方式)

    如何添加自动布局约束以编程方式将视图置于剩余空间的中心 参见下面的示例图片 目前 我在底部添加一个容器视图 然后将视图置于容器视图的中心 但我想知道是否有任何其他解决方案不需要使用容器视图 您需要添加一个间隔视图来执行此操作 让我们从一些观
  • 如何在 ASP.NET Core 中设置强类型配置?

    本文 http www mikesdotnetting com article 284 asp net 5 configuration and 另一篇文章 https weblog west wind com posts 2015 Jun
  • 第一次调用时 ZuulException (SendErrorFilter)

    我正在通过 Spring Cloud Spring Boot 和 Docker 构建一个应用程序 整个应用程序运行良好 我有几个微服务 每个项目都在 Docker 上运行 当我尝试通过 Zuul API 网关使用我的微服务时 我在第一次调用
  • JCS编辑磁盘辅助缓存DiskPath

    我正在开发一个带有 JCS 1 3 缓存的 Web 应用程序 我需要在运行时从 JVM 属性编辑索引磁盘辅助缓存的 DiskPath 你知道有什么方法可以做到这一点吗 我设法创建了辅助缓存对象 但我不知道如何将它与 cache ccf 中定
  • SQL 分页查询 order by

    我正在尝试编写一个查询来提取多个字段并为其分配别名 其中一个别名实际上是两个字段的总和 这实际上是我最大的问题 因为该别名是可能进行排序的 字段 之一 否则我可以删除所有别名而不会出现此问题 无论如何 我需要能够传入一个以编程方式排序的字段
  • 包含子模块的“推送部署”接收后挂钩?

    目前 我有一个post receive钩子包含 git work tree served data location git dir this bare git repo checkout f 这非常有效 直到我想包含一个子模块 它只是忽略
  • Python os.walk + 跟随符号链接

    如何让这篇文章遵循 python 2 6 中的符号链接 def load recursive self path for subdir dirs files in os walk path for file in files if file
  • 优化掉“while(1);”在 C++0x 中

    已更新 请看下文 我听说并读到 C 0x 允许编译器为以下代码片段打印 Hello include
  • 这会在全球范围内启用“use strict”吗?

    类似 但不一样 如何在全局范围内启用 ECMAScript use strict https stackoverflow com questions 4769477 how to enable ecmascript use strict g
  • 使用安装项目在安装时指定 Windows 服务名称

    目标 为了支持在一台计算机上可能有多个实例的 Windows 服务 请使用安装项目创建一个能够执行以下操作的 MSI 接收用户输入的服务名称 安装服务 从 1 开始序列化服务名称 以便在日志记录和卸载时可以使用正确的名称 我最初的希望是在
  • JS/Es6 如何合并两个数组并覆盖其对象中的值

    假设我有一个像这样的数组 let arrayOne text one value 0 text two value 0 let arrayTwo text two value 5 So arrayOne总是我想要的整个对象集 但所有值都将为
  • Selenium Chrome 窗口中的按钮不可点击

    我正在尝试使用 Selenium 和 Python 单击按钮 我需要理解的这个问题的根源是 当 Selenium 启动 Chrome 窗口时 我想单击的按钮在单击时不会执行任何操作 就像我用鼠标点击按钮一样 什么也不会发生 它似乎是页面上唯
  • 如何将 bash 输出捕获到 Mac OS X 剪贴板?

    是否可以将 bash 输出捕获到 OS X 剪贴板 The pbcopy http developer apple com Mac library documentation Darwin Reference ManPages man1 p
  • OpenJDK7 OS X 上的 file.listFiles() 在包含欧元符号的文件名上损坏

    似乎以下 file listFiles 在 OS X 上的 OpenJDK 7 上被破坏 此代码片段将打印 此文件有欧元符号 不存在 final String pathname System getProperty user home fo
  • 检查 Android/Java 上的端口是否打开

    我想检查端口是否打开 或者服务器是否正在其上运行 我已经以多种方式尝试过 例如 system bin ping 和 InetAddress 但如果我是对的 我无法使用这些 ping 特定端口 这次我用 DatagramSockets 的想法
  • 显示软键盘时出现对话框

    我有一个扩展的类Dialog 在那里面Dialog我有一个EditText and a ListView 当该对话框显示时 我可以调出软键盘 但我的问题是我们可以让对话框在显示软键盘时不弹出吗 我尝试改变softInputMode在布局参数
  • 使用 Mathematica 7 调试 Mathematica 5 上的工作程序

    我目前正在阅读 Mathematica 编程指南 并试图编写这本书的第一个程序 基本上 当我运行以下程序时 Plot3D Re Exp 1 x I y x 0 02 0 022 y 0 04 0 042 PlotRange gt 1 8 P
  • 如何使用 gradle 0.7+ 将 .so 文件添加到 android 库项目

    项目结构 应用程序项目 gt 取决于库项目 图书馆计划 有一个用于编译 jni 库的文件夹 jniLibs srcDirs libs 我尝试按照示例应用程序将以下内容添加到 build gradle 的 android 元素中https a