2016-06-19 2 views
0

처리 중 버전 3에서 qr 코드 스캐닝을위한 코드를 실행하려고합니다. 이미 QR 코드 라이브러리에서 제공된 예제 코드를 사용하고 있습니다. JDK 8과 android SDK도 설치했는데, 여전히 안드로이드 폰에서 응용 프로그램을 실행할 수 없습니다. 그것은 설치되고 있지만 실행 중 자체를 닫습니다 ("불행히도, QR 코드 예제가 멈췄다"를 보여줍니다) (나는 몇 가지 다른 예제를 시도해 보았습니다!).QR 코드 스캐너 안드로이드 폰에서 실행되지 않는 QR 코드 라이브러리의 예제 코드

여기에 참조 코드와 콘솔에 표시된 오류에 대해서만 코드를 추가합니다 (예제 코드이므로 수정해야하며 변경하지 않았습니다). 프로그래밍에 익숙하지 않으므로 오류가 정확히 무엇인지 알 수는 없습니다. 누군가 좀 봐주세요. 나를 도와주세요.

미리 감사드립니다.

/* 
QRcode reader 
Generate images from a QRcode generator such as 
http://qrcode.kaywa.com/ and put them in this sketch's 
data folder. 
Press spacebar to read from the camera, generate an image, 
and scan for barcodes. Press f to read from a file and scan. 
Press s for camera settings. 
Created 9 June 2007 
by Tom Igoe/Daniel Shiffman 
*/ 


import processing.video.*; 
import qrcodeprocessing.*; 

Capture video;         // instance of the video capture library 
String statusMsg = "Waiting for an image";  // a string to return messages: 

// Decoder object from prdecoder library 
Decoder decoder; 

void setup() { 
    size(400, 320); 
    video = new Capture(this, 320, 240); 
    video.start(); 

    // Create a decoder object 
    decoder = new Decoder(this); 
} 

// When the decoder object finishes 
// this method will be invoked. 
void decoderEvent(Decoder decoder) { 
    statusMsg = decoder.getDecodedString(); 
} 

void captureEvent(Capture video) { 
    video.read(); 
} 

void draw() { 
    background(0); 

    // Display video 
    image(video, 0, 0); 
    // Display status 
    text(statusMsg, 10, height-4); 

    // If we are currently decoding 
    if (decoder.decoding()) { 
    // Display the image being decoded 
    PImage show = decoder.getImage(); 
    image(show, 0, 0, show.width/4, show.height/4); 
    statusMsg = "Decoding image"; 
    for (int i = 0; i < (frameCount/2) % 10; i++) statusMsg += "."; 
    } 
} 

void keyReleased() { 
    // Depending on which key is hit, do different things: 
    switch (key) { 
    case ' ':   
    // Spacebar takes a picture and tests it: 
    // copy it to the PImage savedFrame: 
    PImage savedFrame = createImage(video.width, video.height, RGB); 
    savedFrame.copy(video, 0, 0, video.width, video.height, 0, 0, video.width, video.height); 
    savedFrame.updatePixels(); 
    // Decode savedFrame 
    decoder.decodeImage(savedFrame); 
    break; 
    case 'f': // f runs a test on a file 
    PImage preservedFrame = loadImage("qrcode.png"); 
    // Decode file 
    decoder.decodeImage(preservedFrame); 
    break; 
    } 
} 

다음은 오류 보고서입니다.

[mkdir] Created dir: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin 
    [echo] org.eclipse.jdt.core.JDTCompilerAdapter 

-set-mode-check: 

-set-debug-files: 

-check-env: 
Android SDK Tools Revision 25.1.7 
Installed at C:\Users\rahul\Documents\Processing\modes\AndroidMode\sdk 

-setup: 
    [echo] Project Name: QRCodeExample 
Project Type: Application 

-set-debug-mode: 

-debug-obfuscation-check: 

-pre-build: 

-build-setup: 
Using latest Build Tools: 24.0.0 rc4 
    [echo] Resolving Build Target for QRCodeExample... 
Project Target: Android 6.0 
API level:  23 
    [echo] ---------- 
    [echo] Creating output directories if needed... 
    [mkdir] Created dir: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\res 
    [mkdir] Created dir: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\rsObj 
    [mkdir] Created dir: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\rsLibs 
    [mkdir] Created dir: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\gen 
    [mkdir] Created dir: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\classes 
    [mkdir] Created dir: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\dexedLibs 
    [echo] ---------- 
    [echo] Resolving Dependencies for QRCodeExample... 
Library dependencies: 
No Libraries 

------------------ 
    [echo] ---------- 
    [echo] Building Libraries with 'debug'... 
    [subant] No sub-builds to iterate on 

-code-gen: 
Merging AndroidManifest files into one. 
Manifest merger disabled. Using project manifest only. 
    [echo] Handling aidl files... 
No AIDL files to compile. 
    [echo] ---------- 
    [echo] Handling RenderScript files... 
    [echo] ---------- 
    [echo] Handling Resources... 
Generating resource IDs... 
    [echo] ---------- 
    [echo] Handling BuildConfig class... 
Generating BuildConfig class. 

-pre-compile: 

-compile: 
    [javac] Compiling 4 source files to C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\classes 
---------- 
1. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 4) 
    import processing.data.*; 
      ^^^^^^^^^^^^^^^ 
The import processing.data is never used 
---------- 
2. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 5) 
    import processing.event.*; 
      ^^^^^^^^^^^^^^^^ 
The import processing.event is never used 
---------- 
3. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 6) 
    import processing.opengl.*; 
      ^^^^^^^^^^^^^^^^^ 
The import processing.opengl is never used 
---------- 
4. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 11) 
    import java.util.HashMap; 
      ^^^^^^^^^^^^^^^^^ 
The import java.util.HashMap is never used 
---------- 
5. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 12) 
    import java.util.ArrayList; 
      ^^^^^^^^^^^^^^^^^^^ 
The import java.util.ArrayList is never used 
---------- 
6. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 13) 
    import java.io.File; 
      ^^^^^^^^^^^^ 
The import java.io.File is never used 
---------- 
7. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 14) 
    import java.io.BufferedReader; 
      ^^^^^^^^^^^^^^^^^^^^^^ 
The import java.io.BufferedReader is never used 
---------- 
8. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 15) 
    import java.io.PrintWriter; 
      ^^^^^^^^^^^^^^^^^^^ 
The import java.io.PrintWriter is never used 
---------- 
9. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 16) 
    import java.io.InputStream; 
      ^^^^^^^^^^^^^^^^^^^ 
The import java.io.InputStream is never used 
---------- 
10. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 17) 
    import java.io.OutputStream; 
      ^^^^^^^^^^^^^^^^^^^^ 
The import java.io.OutputStream is never used 
---------- 
11. WARNING in C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\src\processing\test\qrcodeexample\QRCodeExample.java (at line 18) 
    import java.io.IOException; 
      ^^^^^^^^^^^^^^^^^^^ 
The import java.io.IOException is never used 
---------- 
11 problems (11 warnings) 

-post-compile: 

-obfuscate: 

-dex: 
input: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\classes 
input: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\qrcodeprocessing.jar 
input: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\gstreamer-java.jar 
input: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\video.jar 
input: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\jna.jar 
input: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\processing-core.jar 
input: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\qrcode.jar 
Pre-Dexing C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\qrcodeprocessing.jar -> qrcodeprocessing-e0f68c0ac279966ab95e5f6515104871.jar 
Pre-Dexing C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\gstreamer-java.jar -> gstreamer-java-d1933e0463161ece1a19c077f43e4ba6.jar 
Pre-Dexing C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\video.jar -> video-e674dd3032ffd15eae0908334b2f493e.jar 
Pre-Dexing C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\jna.jar -> jna-de64a2cde02c00ee2f942b718e389e21.jar 
Pre-Dexing C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\processing-core.jar -> processing-core-51bd73b29340db555e7a49941792c93e.jar 
Pre-Dexing C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\libs\qrcode.jar -> qrcode-6164974c3d18fd7eabc11f7143b49b00.jar 
Converting compiled files and external libraries into C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\classes.dex... 
     [dx] Merged dex #1 (8 defs/5.7KiB) 
     [dx] Merged dex #2 (899 defs/521.6KiB) 
     [dx] Merged dex #3 (107 defs/156.1KiB) 
     [dx] Merged dex #4 (160 defs/684.4KiB) 
     [dx] Merged dex #5 (31 defs/66.3KiB) 
     [dx] Merged dex #6 (2 defs/3.6KiB) 
     [dx] Merged dex #7 (12 defs/34.2KiB) 
     [dx] Result is 1219 defs/1774.0KiB. Took 0.5s 

-crunch: 
    [crunch] Crunching PNG Files in source dir: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\res 
    [crunch] To destination dir: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\res 
    [crunch] Processing image to cache: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\res\drawable-hdpi\icon.png => C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\res\drawable-hdpi\icon.png 
    [crunch] (processed image to cache entry C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\res\drawable-hdpi\icon.png: 47% size of source) 
    [crunch] Processing image to cache: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\res\drawable-ldpi\icon.png => C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\res\drawable-ldpi\icon.png 
    [crunch] (processed image to cache entry C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\res\drawable-ldpi\icon.png: 0% size of source) 
    [crunch] Processing image to cache: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\res\drawable-xhdpi\icon.png => C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\res\drawable-xhdpi\icon.png 
    [crunch] (processed image to cache entry C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\res\drawable-xhdpi\icon.png: 32% size of source) 
    [crunch] Processing image to cache: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\res\drawable\icon.png => C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\res\drawable\icon.png 
    [crunch] (processed image to cache entry C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\res\drawable\icon.png: 0% size of source) 
    [crunch] Crunched 4 PNG files to update cache 

-package-resources: 
Creating full resource package... 
    [aapt] Warning: AndroidManifest.xml already defines debuggable (in http://schemas.android.com/apk/res/android); using existing value in manifest. 

-package: 
Current build type is different than previous build: forced apkbuilder run. 
Creating QRCodeExample-debug-unaligned.apk and signing it with a debug key... 

-post-package: 

-do-debug: 
Running zip align on final apk... 
    [echo] Debug Package: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\QRCodeExample-debug.apk 
[propertyfile] Creating new property file: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\build.prop 
[propertyfile] Updating property file: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\build.prop 
[propertyfile] Updating property file: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\build.prop 
[propertyfile] Updating property file: C:\Users\rahul\AppData\Local\Temp\android8283714235284511395sketch\bin\build.prop 

-post-build: 

debug: 
FATAL EXCEPTION: Animation Thread 
Process: processing.test.qrcodeexample, PID: 26665 
java.lang.NoSuchFieldError: processing.core.PApplet.platform 
    at processing.video.Capture.<clinit>(Unknown Source) 
    at processing.test.qrcodeexample.QRCodeExample.setup(QRCodeExample.java:46) 
    at processing.core.PApplet.handleDraw(Unknown Source) 
    at processing.core.PGraphicsAndroid2D.requestDraw(Unknown Source) 
    at processing.core.PApplet.run(Unknown Source) 
    at java.lang.Thread.run(Thread.java:841) 
FATAL EXCEPTION: Animation Thread 
Process: processing.test.qrcodeexample, PID: 28074 
java.lang.NoSuchFieldError: processing.core.PApplet.platform 
    at processing.video.Capture.<clinit>(Unknown Source) 
    at processing.test.qrcodeexample.QRCodeExample.setup(QRCodeExample.java:46) 
    at processing.core.PApplet.handleDraw(Unknown Source) 
    at processing.core.PGraphicsAndroid2D.requestDraw(Unknown Source) 
    at processing.core.PApplet.run(Unknown Source) 
    at java.lang.Thread.run(Thread.java:841) 
FATAL EXCEPTION: Animation Thread 
Process: processing.test.qrcodeexample, PID: 28114 
java.lang.NoSuchFieldError: processing.core.PApplet.platform 
    at processing.video.Capture.<clinit>(Unknown Source) 
    at processing.test.qrcodeexample.QRCodeExample.setup(QRCodeExample.java:46) 
    at processing.core.PApplet.handleDraw(Unknown Source) 
    at processing.core.PGraphicsAndroid2D.requestDraw(Unknown Source) 
    at processing.core.PApplet.run(Unknown Source) 
    at java.lang.Thread.run(Thread.java:841) 
+0

오류 메시지가 표시됩니다. –

답변

0

Android와 호환되지 않는 라이브러리를 사용하고있는 것으로 보입니다.

코드에서 비디오 라이브러리를 사용합니다. 비디오 라이브러리는 platform이라는 변수를 사용합니다. 해당 변수를 찾을 수 없으므로 오류가 발생합니다.

당신은 최신 버전의 Processing을 사용하고 있으며 looking at the code에는 platform 변수가 표시됩니다. 그러나 looking at the code (Android 처리 용) 변수가 표시되지 않습니다. 그게 당신의 실수를 일으키는 원인이됩니다.

Android와 호환되는 라이브러리를 찾아 대신 사용해야합니다. 라이브러리가 포함 된 처리 예제는 이 아니며은 자동으로 Android 모드에서 작동합니다.

당신에게 맞는 라이브러리를 찾기 위해 인터넷 검색을해야합니다. 행운을 빕니다.

+0

글쎄, 솔직히 말해서, 나는 코드의 호환성에 대해 많이 모른다. 방금 예제 코드를 File- "Examples"에서 직접 추가했습니다. 그리고 나는 또한 처리 안드로이드 코드를 사용하고 있다고 생각합니다. –

+0

@RahulRaj 예,이 예제는 Android 모드와 호환되지 않는 라이브러리를 사용하는 것 같습니다. –

+0

안드로이드에서 실행할 수있는 유효한 처리 코드를 제안 해 주시겠습니까? 내가 응용 프로그램을 작동하게하려면 android studio를 사용해야합니다. –

0

마지막으로, 내 응용 프로그램을 중단시키고있는 스케치 권한임을 알게되었습니다. 나는 qr 코드 스캔을 위해 카메라를 사용 가능하게해야하므로 카메라에 대한 스케치 권한을 enablr해야합니다. 나는 지금 당면하고 있으며, 곧 완전한 해결책을 제공 할 것이다.