试图从android中的jar文件调用活动 - ClassNotFoundException

时间:2012-05-23 10:32:52

标签: android android-intent jar

我有一个Android APP,包含活动和一切。但是,我试图把它变成库并在另一个应用程序中使用它。 APP编译为JAR文件就好了。

然而,当我从jar文件中调用一个活动时,它会立即失败并出现ClassNotFound异常。

这就是我调用意图的方式:

    Intent dialerIntent = new Intent(this, SipHome.class);
    startActivity(dialerIntent);

此处SipHome.class在库jar文件中定义。

我得到的错误是:

05-23 17:23:36.081: E/AndroidRuntime(21634): java.lang.RuntimeException: Unable to get provider com.thaifi.remote.db.DBProvider: java.lang.ClassNotFoundException: com.thaifi.remote.db.DBProvider in loader dalvik.system.PathClassLoader[/data/app/com.thaifi.remote-2.apk]

任何想法可能是什么问题?

这是jar文件的manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.csipsimple"
    android:versionCode="1485"
    android:versionName="0.04-00" >

    <uses-sdk
        android:minSdkVersion="4"
        android:targetSdkVersion="15" />

</manifest>

1 个答案:

答案 0 :(得分:0)

这很简单,因为我发现了。

只需在manifest中声明活动(即使该活动的类在另一个jar文件中),并像调用任何其他活动一样调用它。