我有一个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>
答案 0 :(得分:0)
这很简单,因为我发现了。
只需在manifest中声明活动(即使该活动的类在另一个jar文件中),并像调用任何其他活动一样调用它。