我一直在尝试为我的 Android 项目设置命令行构建,以便可以在 Jenkins 中自动化构建,但是,尽管我的 Eclipse 构建没有任何问题,但 Ant 构建会导致运行时ClassNotFoundException
错误。
我想知道是什么导致了这种差异。我注意到路径似乎不正确,所以这可能是开始的地方。
日志猫
W/dalvikvm( 1243): threadid=1: thread exiting with uncaught exception (group=0x40a70930)
E/AndroidRuntime( 1243): FATAL EXCEPTION: main
E/AndroidRuntime( 1243): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{gov.va.fbb.android/gov.va.fbb.android.activities.StartupActivity}: java.lang.ClassNotFoundException: Didn't find class "gov.va.fbb.android.activities.StartupActivity" on path: /system/framework/com.google.android.maps.jar:/data/app/gov.va.fbb.android-1.apk
E/AndroidRuntime( 1243): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
E/AndroidRuntime( 1243): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
E/AndroidRuntime( 1243): at android.app.ActivityThread.access$600(ActivityThread.java:141)
E/AndroidRuntime( 1243): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
E/AndroidRuntime( 1243): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1243): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 1243): at android.app.ActivityThread.main(ActivityThread.java:5039)
E/AndroidRuntime( 1243): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1243): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 1243): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime( 1243): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime( 1243): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 1243): Caused by: java.lang.ClassNotFoundException: Didn't find class "gov.va.fbb.android.activities.StartupActivity" on path: /system/framework/com.google.android.maps.jar:/data/app/gov.va.fbb.android-1.apk
E/AndroidRuntime( 1243): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
E/AndroidRuntime( 1243): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
E/AndroidRuntime( 1243): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
E/AndroidRuntime( 1243): at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
E/AndroidRuntime( 1243): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
E/AndroidRuntime( 1243): ... 11 more
W/ActivityManager( 297): Force finishing activity gov.va.fbb.android/.activities.StartupActivity
W/WindowManager( 297): Failure taking screenshot for (123x205) to layer 21010
我做了一些研究,并在下面找到了这个链接:
v2:Ant Build 需要 Android 更新库项目?
我的项目有google-play-services,动作栏Sherlock,以及从我的原始项目中引用的其他项目。 为了正确链接它,我必须运行安卓更新库项目 -p 。从每个项目目录而不是安卓更新项目 -p .. 我只需要运行安卓更新项目 -p .来自我的原始项目。