首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android服务Classpath

Android服务Classpath
EN

Stack Overflow用户
提问于 2013-08-07 13:58:48
回答 2查看 781关注 0票数 1

我正在构建一个应用程序,它启动一个使用内部android .jar文件的服务,该服务位于

代码语言:javascript
复制
/system/framework

问题是,每当我试图从这个.jar文件访问一个类时,我就会得到一个classDefNotFound异常。

注意:我能够用存根d版本的.jar文件编译这个项目,但是我不知道如何在应用程序(服务)类路径中包含内部库,以便消除这个异常。

(我不使用eclipse)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-08 22:33:50

我解决了这个问题如下:

/system/framework中的文件是.jar和.odex,.jar是空文件,代码存在于.odex文件中。

我使用.odex将所需的.dex文件转换为斯马利文件(首先需要将.odex转换为.smali文件,然后再转换为.dex文件)

然后,我使用dex2jar将dex文件转换为jar文件。

之后,我将生成的jar文件包含在应用程序的apk中,以便能够使用它们。

我写这篇文章是为了帮助任何需要这样做的人(这是几天工作的结束!)

票数 1
EN

Stack Overflow用户

发布于 2013-08-07 14:14:04

添加到AndroidManifest.xml中

代码语言:javascript
复制
<uses-library android:name="com.android.library" />

来自Android文档:http://developer.android.com/guide/topics/manifest/uses-library-element.html

此元素告诉系统在包的类加载器中包含库的代码。

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

https://stackoverflow.com/questions/18105448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档