现在我已经建立了一个名为telephony_DA的第三方jar。 我已经可以在应用程序级别使用此telephony_DA库。 (在AndroidManifest.xml上修改并在/ etc / permissions中添加权限)
我的问题是我在中写了一个名为TelephonyRegistry_DA.java的新服务 “com.android.server” 包并使用telephony_DA库中的类。 在注意到Android.mk中的telephony_DA库后,我可以成功构建服务库。 但是在运行时它似乎崩溃了
的原因"java.lang.NoClassDefFoundError: com.android.server.TelephonyRegistry_DA"
我试图找出问题,然后我找到了一些东西。 一旦我从TelephonyRegistry_DA.java中的telephony_DA库中删除了类,那么在运行时,从TelephonyRegistry_DA.java创建和添加服务就没有问题。 似乎systemserver不知道与telephony_DA库的链接。
那么如何将第三方jar添加到systemserver.java中?
感谢。
答案 0 :(得分:0)
在应用程序级别,您可以从manifest.xml中输入第三方库。 但是在系统服务器的服务中,您应该将第三方库添加到默认链接路径中。所以请修改(例如:telephony_DA.jar)init.rc,如下所示。
export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework。罐子:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/filterfw.jar:/system/framework/telephony_DA.jar