2015-05-18 3 views
0

Извините за мой английский. Я много раз пытаюсь включить libruary ZXing для проверки кода qr. Но не удалось. Я загружаю libruary от this, затем добавляю в eclipse и включаю core.jar и проверяю Android libruary. Затем я добавить libruary папки ZXing в моем приложении, но у меня есть эта ошибка:Android ZXing QR scan

05-18 20:34:59.504: W/dalvikvm(19141): Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lcom/google/zxing/client/android/CaptureActivity; 
05-18 20:34:59.504: W/dalvikvm(19141): Class init failed in newInstance call (Lcom/google/zxing/client/android/CaptureActivity;) 
05-18 20:34:59.504: D/AndroidRuntime(19141): Shutting down VM 
05-18 20:34:59.504: W/dalvikvm(19141): threadid=1: thread exiting with uncaught exception (group=0x40d4b258) 
05-18 20:34:59.509: E/AndroidRuntime(19141): FATAL EXCEPTION: main 
05-18 20:34:59.509: E/AndroidRuntime(19141): java.lang.ExceptionInInitializerError 
05-18 20:34:59.509: E/AndroidRuntime(19141): at java.lang.Class.newInstanceImpl(Native Method) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at java.lang.Class.newInstance(Class.java:1319) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at android.app.Instrumentation.newActivity(Instrumentation.java:1023) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1992) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at android.app.ActivityThread.access$600(ActivityThread.java:134) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at android.os.Handler.dispatchMessage(Handler.java:99) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at android.os.Looper.loop(Looper.java:154) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at android.app.ActivityThread.main(ActivityThread.java:4624) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at java.lang.reflect.Method.invokeNative(Native Method) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at java.lang.reflect.Method.invoke(Method.java:511) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576) 
05-18 20:34:59.509: E/AndroidRuntime(19141): at dalvik.system.NativeStart.main(Native Method) 
05-18 20:34:59.509: E/AndroidRuntime(19141): Caused by: java.lang.NoClassDefFoundError: com.google.zxing.ResultMetadataType 
05-18 20:34:59.509: E/AndroidRuntime(19141): at com.google.zxing.client.android.CaptureActivity.<clinit>(CaptureActivity.java:93) 
05-18 20:34:59.509: E/AndroidRuntime(19141): ... 15 more 

Моего MainActivity:

public class MainActivity extends Activity { 

    static final String ACTION_SCAN = "com.google.zxing.client.android.SCAN"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


     Intent intent = new Intent(ACTION_SCAN); 
     //intent.setPackage("com.example.bonsitemanager"); 
     intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
     startActivityForResult(intent, 0); 
    } 


    public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
     if (requestCode == 0) { 
      if (resultCode == RESULT_OK) { 

       String contents = intent.getStringExtra("SCAN_RESULT"); 
       String format = intent.getStringExtra("SCAN_RESULT_FORMAT"); 

       Log.e(contents, contents); 
       Log.e(format, format); 

      } else if (resultCode == RESULT_CANCELED) { 
       // Handle cancel 
       Log.i("App","Scan unsuccessful"); 
      } 
     } 
    } 
} 

манифеста

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.bonsiteqr" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="10" 
     android:targetSdkVersion="21" /> 

    <uses-permission android:name="android.permission.CAMERA"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity 
     android:name="com.google.zxing.client.android.CaptureActivity" 
     android:configChanges="orientation|keyboardHidden" 
     android:screenOrientation="landscape" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
     android:windowSoftInputMode="stateAlwaysHidden" > 
     <intent-filter> 
      <action android:name="com.google.zxing.client.android.SCAN" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 


    </application> 

</manifest> 
+1

Этот вопрос должен помочь вам. [CHECK] [1] [1]: http://stackoverflow.com/questions/4782543/integration-zxing-library-directly-into-my-android-application – josedlujan

+1

Проверьте мой развернутый ответ на [ как использовать ZXing в приложении для Android] (http://stackoverflow.com/a/30572168/165071) –

ответ

1

Шаг за шагом установки ZXing 3.2. 1 в затмении

  1. Скачать zxing-master.zip из "https://github.com/zxing/zxing"
  2. Распакуйте zxing-master.zip, использование затмение импортировать "андроид" проект в ZXing-мастер
  3. Скачать ядро-3.2.1.jar из "http://repo1.maven.org/maven2/com/google/zxing/core/3.2.1/"
  4. Создайте папку «libs» в проекте «android» и вставьте cor-3.2.1.jar в папку libs
  5. Нажмите на проект: выберите «properties» -> «Java Compiler», чтобы изменить уровень до 1.7. Затем нажмите на «Android» изменить «Цель создания проекта» на Android 4.4.2+, потому что использование 1.7 требует компиляции с Android 4.4
  6. Если «CameraConfigurationUtils.java» не существует в «zxing-master/android/app/SRC/главная/Java/COM/Google/ZXing/клиент/Android/камера /». Вы можете скопировать его из «zxing-master/android-core/src/main/java/com/google/zxing/client/android/camera /» и вставить в свой проект.
  7. Проект по очистке и строительству. Если в вашем проекте отображается ошибка «switch-case», вы должны изменить их на «if-else».
  8. Завершено. Очистить и построить проект.
  9. Ссылка ссылка: How to use Zxing in android
Смежные вопросы