Zxing造成Android应用程序强制关闭 [英] Zxing Causing Android App to Force Close
问题描述
无论何时启动扫描活动的发生,Android应用力关闭。它的工作在一个点上,突然不工作了。 core.jar添加是在一个lib文件夹。
logcat的:
11-08 18:13:16.490:E / AndroidRuntime(1667年):致命异常:主要
11-08 18:13:16.490:E / AndroidRuntime(1667年):java.lang.RuntimeException的:无法实例活动ComponentInfo {com.picky.pickyeater / libcom.google.zxing.client.android.CaptureActivity}:java.lang中.ClassNotFoundException:libcom.google.zxing.client.android.CaptureActivity装载机dalvik.system.PathClassLoader [/data/app/com.picky.pickyeater-1.apk]
11-08 18:13:16.490:E / AndroidRuntime(1667年):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在android.app.ActivityThread.access $ 2300(ActivityThread.java:125)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在android.os.Handler.dispatchMessage(Handler.java:99)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在android.os.Looper.loop(Looper.java:123)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在android.app.ActivityThread.main(ActivityThread.java:4627)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在java.lang.reflect.Method.invokeNative(本机方法)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在java.lang.reflect.Method.invoke(Method.java:521)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在dalvik.system.NativeStart.main(本机方法)
11-08 18:13:16.490:E / AndroidRuntime(1667年):抛出java.lang.ClassNotFoundException:产生的原因libcom.google.zxing.client.android.CaptureActivity装载机dalvik.system.PathClassLoader [/数据/应用程序/ COM .picky.pickyeater-1.apk]
11-08 18:13:16.490:E / AndroidRuntime(1667年):在dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在java.lang.ClassLoader.loadClass(ClassLoader.java:573)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在java.lang.ClassLoader.loadClass(ClassLoader.java:532)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在android.app.Instrumentation.newActivity(Instrumentation.java:1021)
11-08 18:13:16.490:E / AndroidRuntime(1667年):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
在OnCreate():
保护无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
意向意图=新的意图(com.google.zxing.client.android.SCAN);
intent.putExtra(SCAN_MODE,PRODUCT_MODE);
startActivityForResult(意向,0);
}
AndroidManifest.xml中摘录:
<活动
机器人:configChanges =方向| keyboardHidden
机器人:名称=com.google.zxing.client.android.CaptureActivity
机器人:screenOrientation =风景
机器人:主题=@安卓风格/ Theme.NoTitleBar.Fullscreen
机器人:windowSoftInputMode =stateAlwaysHidden>
<意向滤光器>
<作用机器人:名称=android.intent.action.MAIN/>
<类机器人:名称=android.intent.category.DEFAULT/>
&所述; /意图滤光器>
<意向滤光器>
<作用机器人:名称=com.google.zxing.client.android.SCAN/>
<类机器人:名称=android.intent.category.DEFAULT/>
&所述; /意图滤光器>
< /活性GT;
的.classpath:
< XML版本=1.0编码=UTF-8&GT?;
<类路径>
< classpathentry KIND =SRC路径=SRC/>
< classpathentry KIND =SRC路径=根/>
< classpathentry出口=真的那种=CON路径=com.android.ide.eclipse.adt.ANDROID_FRAMEWORK/>
< classpathentry出口=真的那种=CON路径=com.android.ide.eclipse.adt.LIBRARIES/>
< classpathentry KIND =LIB路径=LIB / GSON-1.7.1.jar/>
< classpathentry KIND =LIB路径=LIB / jsoup-1.6.1.jar/>
< classpathentry KIND =LIB路径=LIB / core.jar添加/>
< classpathentry KIND =输出路径=斌/班/>
< /类路径>
我知道,根据肖恩以上,这在技术上是不正确的,但这种解决了通过链接它作为一个库。
在ZXing:
1.右键单击项目
2.点击属性
3.点击安卓在左侧的菜单
4.检查是库
在我的应用程序:
1.右键单击项目
2.点击属性
3.点击安卓在左侧的菜单
4.点击添加
5.选择ZXing项目
Whenever the activity that initiates the scan happens, the android application force closes. It worked at one point and suddenly won't work anymore. Core.jar is in a lib folder.
Logcat:
11-08 18:13:16.490: E/AndroidRuntime(1667): FATAL EXCEPTION: main
11-08 18:13:16.490: E/AndroidRuntime(1667): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.picky.pickyeater/libcom.google.zxing.client.android.CaptureActivity}: java.lang.ClassNotFoundException: libcom.google.zxing.client.android.CaptureActivity in loader dalvik.system.PathClassLoader[/data/app/com.picky.pickyeater-1.apk]
11-08 18:13:16.490: E/AndroidRuntime(1667): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
11-08 18:13:16.490: E/AndroidRuntime(1667): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
11-08 18:13:16.490: E/AndroidRuntime(1667): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
11-08 18:13:16.490: E/AndroidRuntime(1667): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
11-08 18:13:16.490: E/AndroidRuntime(1667): at android.os.Handler.dispatchMessage(Handler.java:99)
11-08 18:13:16.490: E/AndroidRuntime(1667): at android.os.Looper.loop(Looper.java:123)
11-08 18:13:16.490: E/AndroidRuntime(1667): at android.app.ActivityThread.main(ActivityThread.java:4627)
11-08 18:13:16.490: E/AndroidRuntime(1667): at java.lang.reflect.Method.invokeNative(Native Method)
11-08 18:13:16.490: E/AndroidRuntime(1667): at java.lang.reflect.Method.invoke(Method.java:521)
11-08 18:13:16.490: E/AndroidRuntime(1667): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-08 18:13:16.490: E/AndroidRuntime(1667): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-08 18:13:16.490: E/AndroidRuntime(1667): at dalvik.system.NativeStart.main(Native Method)
11-08 18:13:16.490: E/AndroidRuntime(1667): Caused by: java.lang.ClassNotFoundException: libcom.google.zxing.client.android.CaptureActivity in loader dalvik.system.PathClassLoader[/data/app/com.picky.pickyeater-1.apk]
11-08 18:13:16.490: E/AndroidRuntime(1667): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
11-08 18:13:16.490: E/AndroidRuntime(1667): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
11-08 18:13:16.490: E/AndroidRuntime(1667): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
11-08 18:13:16.490: E/AndroidRuntime(1667): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
11-08 18:13:16.490: E/AndroidRuntime(1667): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
OnCreate():
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
startActivityForResult(intent, 0);
}
AndroidManifest.xml excerpt:
<activity
android:configChanges="orientation|keyboardHidden"
android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter >
<action android:name="com.google.zxing.client.android.SCAN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
.classpath:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="lib" path="lib/gson-1.7.1.jar"/>
<classpathentry kind="lib" path="lib/jsoup-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/core.jar"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
I know that according to Sean above, this is technically incorrect, but this was solved by linking it in as a library.
In ZXing:
1. Right click on project
2. Click Properties
3. Click Android in the left hand side menu
4. Check Is Library
In my app:
1. Right click on project
2. Click Properties
3. Click Android in the left hand side menu
4. Click Add
5. Select the ZXing project
这篇关于Zxing造成Android应用程序强制关闭的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!