首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Air连接本地so库

Air连接本地so库
EN

Stack Overflow用户
提问于 2014-08-07 15:26:26
回答 1查看 691关注 0票数 1

我正试图在一个航空项目中使用JavaCV。我构建了一个本机扩展,它编译得很好,但是在运行时我得到了以下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
W/dalvikvm(16234): VFY: unable to find class referenced in signature (Ljava/awt/image/BufferedImage;)
W/dalvikvm(16234): VFY: unable to find class referenced in signature (Ljava/awt/image/BufferedImage;)
W/dalvikvm(16234): VFY: unable to find class referenced in signature (Ljava/awt/image/BufferedImage;)
W/dalvikvm(16234): VFY: unable to find class referenced in signature (Ljava/awt/image/BufferedImage;)
W/dalvikvm(16234): VFY: unable to find class referenced in signature (Ljava/awt/image/BufferedImage;)
I/dalvikvm(16234): Could not find method java.awt.image.BufferedImage.getSampleModel, referenced from method org.bytedeco.javacpp.helper.opencv_core$AbstractIplImage.createFrom
W/dalvikvm(16234): VFY: unable to resolve virtual method 8824: Ljava/awt/image/BufferedImage;.getSampleModel ()Ljava/awt/image/SampleModel;
D/dalvikvm(16234): VFY: replacing opcode 0x6e at 0x0004
W/dalvikvm(16234): VFY: unable to find class referenced in signature (Ljava/awt/image/BufferedImage;)
W/dalvikvm(16234): VFY: unable to find class referenced in signature (Ljava/awt/image/BufferedImage;)
D/dalvikvm(16234): GC_CONCURRENT freed 612K, 7% free 9380K/10028K, paused 3ms+4ms, total 35ms

看来我没有正确地链接库资源,而有关这些主题的文档看起来非常有限。

当将.jar和armeabi/_.库链接到ANE时,有什么想法或理解吗?

升级到最新的javacv源后更新的错误日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
W/dalvikvm(14799): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lorg/bytedeco/javacpp/avutil;
W/dalvikvm(14799): Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lorg/bytedeco/javacpp/avformat;
W/dalvikvm(14799): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lorg/bytedeco/javacpp/opencv_core;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-12 05:43:09

链接.so依赖项:

您应该确保您的文件夹结构正确。参见“这个链接”下的Android本机库部分。只需在“libs/ .so _platform/”文件夹中放置您的本机依赖项,就可以确保ADT将它们放在最终APK中的正确位置。

示例:YOUR_ANE_ROOT_FOLDER/android/libs/armeabi-v7a/libYourLibrary.so

如果您支持多个体系结构,那么您也可能有一个YOUR_ANE_ROOT_FOLDER/android/libs/armeabi/libYourLibrary.so

以此类推。

还要确保您的共享对象使用"lib“前缀命名。示例:libYourLibrary.so

链接JAR依赖项:

如果在platform.xml中"packagedDependencies“标记下指定jar依赖项不起作用,则可以尝试提取所有外部JAR并将它们包含在最后的jar中。

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <javac source="1.6" srcdir="../android/src" destdir="../android/temp/classes" includeantruntime="false">
        <classpath>
          <pathelement location="${android.sdk}/android.jar"/>
          <pathelement location="../android/libs/FlashRuntimeExtensions.jar"/>
          <pathelement location="../android/libs/android-support-v4.jar"/>
          <pathelement location="../android/libs/opencv.jar"/>
          ....
          ....
        </classpath>
      </javac>

      <mkdir dir="../android/temp/zip"/>
      <unzip src="../android/libs/opencv.jar" dest="../android/temp/zip"/>
      <unzip src="../android/libs/android-support-v4.jar" dest="../android/temp/zip"/>
      ...
      ...

      <copydir src="../android/temp/zip/com" dest="../android/temp/classes/com"/>
      <copydir src="../android/temp/zip/android" dest="../android/temp/classes/android"/>

      <mkdir dir="../temp/android/"/>
      <copy todir="../temp/android/res/">
        <fileset dir="../android/res"/>
      </copy>
      <jar destfile="../temp/android/lib${name}.jar">
        <fileset dir="../android/temp/classes"/>
      </jar>
      <delete dir="../android/temp"/>

如果这些类仍然无法到达最终的APK,那么请看

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25193851

复制
相关文章
iOS APP添加桌面快捷方式
新接到一个需求,需要APP内的某些功能,能够把入口添加到桌面,点击桌面到入口可以直接跳转APP对应界面(类似于下面这张示例图),于是就做了一番调研。
莫空9081
2021/06/08
5.4K0
iOS APP添加桌面快捷方式
2)客户端通过OpenUrl调起Safari,再二次跳转到data url 技术实现方案是首先通过调起Safari,然后跳到一个Data URI Scheme形式下的HTML页面,而添加到主屏幕的也是这个Data URI Scheme形式下的HTML页面。 OpenUrl调起Safari的实现为: [[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"http:www.xxx.com"]]; 通过该方法即可调起Safari,让Safari访问附带的URL链接,在该功能实现中,URL链接指向一个Data URI Scheme形式下的HTML页面。如下图所示:
用户5521279
2019/06/03
7.4K3
如何向图形添加曲形文本
R语言数据分析指南
2023/08/18
2190
如何向图形添加曲形文本
如何向数组里添加元素
一般数组是不能添加元素的,因为数组在初始化时就已定好长度了,不能改变长度,我们如何做到向其中添加元素。
算法与编程之美
2023/01/03
3.5K0
kali添加桌面快捷方式
终端输入:sudo gedit /usr/share/applications/Pycharm.desktop 粘贴模板: [Desktop Entry] Type=Application Name=Pycharm GenericName=Pycharm3 Comment=Pycharm3:The Python IDE Exec=sh /opt/pycharm/bin/pycharm.sh Icon=/opt/pycharm/bin/pycharm.png Terminal=pycharm Categor
昨天50还没用完
2018/06/29
2.3K0
java如何向数组中添加元素[数组的添加]
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说java如何向数组中添加元素[数组的添加],希望能够帮助大家进步!!!
Java架构师必看
2022/04/06
7.7K0
java如何向数组里添加元素
1、一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度。 但有个可以改变大小的数组为ArrayList,即可以定义一个ArrayList数组,然后用add(element)方法往里添加元素即可,还可add(index,element)往指定下标处添加元素;例子如下:
全栈程序员站长
2022/06/27
20.6K0
Windows中的键盘快捷方式大全
Windows有很多键盘快捷方式,使用键盘快捷方式能够大大提高使用windows的效率,同时还能提升自己的逼格,背熟几个快捷方式,操作起来行云流水犹如大神一般!
用户7657330
2020/08/14
5.7K0
如何向已有的项目中添加C/C++代码?
  我们需要在src/main下面建立一个cpp目录,然后在其中写一个CMakeLists.txt文件和一个cpp文件,直接给出代码:
故乡的樱花开了
2023/10/22
2930
给App的应用页面注册快捷方式
元数据不单单能传递简单的字符串参数,还能传送更复杂的资源数据,从Android7.1开始新增的快捷方式便用到了这点,譬如在手机上桌面长按支付宝图标,会弹出如下图所示的菜单。
aqi00
2020/05/12
9680
Python 中如何向列表或数组添加元素
然而,与其它编程语言不同,数组在 Python 中不是一个内置的数据结构。Python 使用列表取代传统的数组。
Python学习者
2023/09/11
3600
向邮件添加附件
可以将附件添加到电子邮件或消息部分(具体地说,是添加到%Net.MailMessagePart或%Net.MailMessage的实例)。要执行此操作,请使用以下方法:
用户7741497
2022/06/09
2.1K0
如何从Windows切换到Linux
微软已经马上准备在2020年1月份终止对Windows 7的支持,这意味着您将不再获得bug修复或安全更新。如果您是Windows 7的最终支持者之一,并且不想陷入一个不安全的系统,则可以选择:升级到Windows 10或完全切换到其他版本。
用户6543014
2020/02/10
3.9K0
如何添加windows定时计划任务?
“ 我们常常使用linux添加定时任务,windows也可以吗?答案是肯定的——编程三分钟”
机智的程序员小熊
2019/12/11
1.7K0
Windows如何添加TrustedInstaller权限
权限添加,一同加的Administrator、Users、TrustedInstaller(英文分号隔开)然后点检索名称,Administrator和Users都能找到,唯独TrustedInstaller不行
Windows技术交流
2020/04/08
4.1K0
如何使用 Bootstrap class 向按钮添加下拉菜单
如何使用 Bootstrap class 向按钮添加下拉菜单。如需向按钮添加下拉菜单,只需要简单地在一个 .btn-group 容器中放置按钮和下拉菜单即可。您也可以使用 <span class="caret"></span> 来指示按钮作为下拉菜单。
好派笔记
2021/09/18
5.6K0
短视频app源码开发,如何添加启动界面
打开短视频app源码时,一般都会有一个启动界面,启动界面除了会展示APP的logo外,大多数都会将广告直接放到上面,起到引流盈利的目的。
云豹科技程序员
2021/06/21
6700
点击加载更多

相似问题

如何向windows快捷方式添加命令参数

124

如何向App添加社交功能?

43

Android:如何向App添加阴影

13

如何从azure向windows mobile cordova app发送推送通知

112

向APp添加项

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文