Android 使用intent在jar中启动新活动时发生java.lang.NoClassDefFoundError 主要项目依赖于我制作的名为“sf”的库

Android 使用intent在jar中启动新活动时发生java.lang.NoClassDefFoundError 主要项目依赖于我制作的名为“sf”的库,android,jar,Android,Jar,在库“sf”中,使用意图启动新活动 import com.sf.proxy.MainActivity; public void login(Activity context) { Intent intent = new Intent(context,MainActivity.class); context.startActivity(intent); } 我得到一个例外,说: 02-06 10:07:58.198: D/AndroidRuntime(9770): Sh

在库“sf”中,使用意图启动新活动

import com.sf.proxy.MainActivity;
public void login(Activity context) {
    Intent intent = new Intent(context,MainActivity.class);
    context.startActivity(intent);
}
我得到一个例外,说:

    02-06 10:07:58.198: D/AndroidRuntime(9770): Shutting down VM
    02-06 10:07:58.198: W/dalvikvm(9770): threadid=1: thread exiting with uncaught exception (group=0xa6251288)
    02-06 10:07:58.198: E/AndroidRuntime(9770): FATAL EXCEPTION: main
    02-06 10:07:58.198: E/AndroidRuntime(9770): java.lang.IllegalStateException: Could not execute method of the activity
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at android.view.View$1.onClick(View.java:3591)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at android.view.View.performClick(View.java:4084)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at android.view.View$PerformClick.run(View.java:16966)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at android.os.Handler.handleCallback(Handler.java:615)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at android.os.Handler.dispatchMessage(Handler.java:92)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at android.os.Looper.loop(Looper.java:137)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at android.app.ActivityThread.main(ActivityThread.java:4745)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at java.lang.reflect.Method.invokeNative(Native Method)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at java.lang.reflect.Method.invoke(Method.java:511)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at dalvik.system.NativeStart.main(Native Method)
    02-06 10:07:58.198: E/AndroidRuntime(9770): Caused by: java.lang.reflect.InvocationTargetException
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at java.lang.reflect.Method.invokeNative(Native Method)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at java.lang.reflect.Method.invoke(Method.java:511)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     at android.view.View$1.onClick(View.java:3586)
    02-06 10:07:58.198: E/AndroidRuntime(9770):     ... 11 more
    02-06 10:07:58.198: E/AndroidRuntime(9770): Caused by: java.lang.NoClassDefFoundError: com.sf.proxy.MainActivity
Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sample">

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true" />
    <application
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name="com.sf.proxy.MainActivity"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:screenOrientation="sensor"
            android:theme="@android:style/Theme.Translucent.NoTitleBar">
        </activity>
   ......

......

我知道这个异常意味着什么,所以首先我查看了jar文件中的“缺失”类,它确实存在?提前感谢。

您不能将资源打包到jar文件中

您可以将不引用任何资源的纯java文件打包为JAR

在您的情况下,您需要在android项目中引用库项目

图书馆项目

这些项目包含可共享的Android源代码和资源,您可以在Android项目中引用它们。当您有想要重用的公共代码时,这非常有用。无法将库项目安装到设备上,但是,它们在生成时会被拉入.apk文件中

对于评论中的问题,最近的资源可以找到

不能将库项目导出到JAR文件

库不能作为二进制文件(如JAR文件)分发。这将添加到SDK工具的未来版本中

另外,请查看下面的url。


您不能将资源打包到jar文件中

您可以将不引用任何资源的纯java文件打包为JAR

在您的情况下,您需要在android项目中引用库项目

图书馆项目

这些项目包含可共享的Android源代码和资源,您可以在Android项目中引用它们。当您有想要重用的公共代码时,这非常有用。无法将库项目安装到设备上,但是,它们在生成时会被拉入.apk文件中

对于评论中的问题,最近的资源可以找到

不能将库项目导出到JAR文件

库不能作为二进制文件(如JAR文件)分发。这将添加到SDK工具的未来版本中

另外,请查看下面的url。


My
sf
jar取决于
android-support-v4.jar
。主项目依赖于
sf
,将
android-support-v4.jar
添加到
订单并导出


已解决。

My
sf
jar取决于
android-support-v4.jar
。主项目依赖于
sf
,将
android-support-v4.jar
添加到
订单并导出


已解决。

我没有将任何资源打包到jar中,只有源代码,异常为“java.lang.NoClassDefFoundError”,与资源无关。我没有将任何资源打包到jar中,只有源代码,异常为“java.lang.NoClassDefFoundError”,与资源无关。