Zxing造成Android应用程序强制关闭 [英] Zxing Causing Android App to Force Close

查看:193
本文介绍了Zxing造成Android应用程序强制关闭的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无论何时启动扫描活动的发生,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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆