Skip to content
This repository has been archived by the owner on Jan 12, 2019. It is now read-only.

Support 64-bit processors #51

Closed
vkochar opened this issue Mar 23, 2015 · 18 comments
Closed

Support 64-bit processors #51

vkochar opened this issue Mar 23, 2015 · 18 comments
Labels

Comments

@vkochar
Copy link

vkochar commented Mar 23, 2015

The sdk cannot scan card on a Nexus 9. Could you please add support for 64bit processors and other architectures.

@braebot
Copy link
Member

braebot commented Mar 24, 2015

Do you receive an error, or does the scanner fail to initialize? Some logs might be helpful in determining whether the processor is supported or not.

@vkochar
Copy link
Author

vkochar commented Mar 24, 2015

The logs are below

03-24 11:27:29.117  17642-17642/I/card.io﹕ Checking hardware support...
03-24 11:27:29.117  17642-17642/I/card.io﹕ card.io 5.0.0 03/10/2015 11:22:54 -0500
03-24 11:27:29.119  17642-17642/D/card.io﹕ Loaded card.io decider library.  nUseNeon():false,nUseTegra():false
03-24 11:27:29.120  17642-17642/W/card.io﹕ unsupported processor - card.io scanning requires ARMv7 architecture
03-24 11:27:29.120  17642-17642/W/card.io﹕ - Processor type is not supported
03-24 11:27:29.120  17642-17642/W/card.io﹕ ERROR_NO_DEVICE_SUPPORT: This device cannot use the camera to read card numbers.

The Nexus 9 does not have a ARMv7 processor, so scanning does not work. Its mentioned here that card.io requires ARMv7. I would like to request support for processors that are based on architectures other than ARMv7.

Thanks!

@braebot
Copy link
Member

braebot commented Mar 25, 2015

Thanks for the logs. Non-ARMv7 processors are not currently in the development pipeline. But, you're welcome to hack away at the source yourself in the open source repo.

@braebot
Copy link
Member

braebot commented Jun 4, 2015

Fixed in 5.0.1.

@braebot braebot closed this as completed Jun 4, 2015
@vkochar
Copy link
Author

vkochar commented Jun 5, 2015

Hi,

Thanks for the update on this. But I'm not able to get it working with 5.0.1. There is a different error now.

06-04 17:12:18.121  10100-10100/? I/card.io﹕ Checking hardware support...
06-04 17:12:18.127  10100-10100/? I/card.io﹕ card.io 5.0.1 06/04/2015 17:39:33 -0500
06-04 17:12:18.129  10100-10100/? E/card.io﹕ Failed to load native library: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.x.x-1/base.apk"],nativeLibraryDirectories=[/data/app/com.x.x-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libcardioDecider.so"
06-04 17:12:18.130  10100-10100/? W/card.io﹕ - Processor type is not supported
06-04 17:12:18.130  10100-10100/? W/card.io﹕ ERROR_NO_DEVICE_SUPPORT: This device cannot use the camera to read card numbers.
06-04 17:12:18.130  10100-10100/? I/card.io﹕ Camera not available and manual entry suppressed.

I tried building card.io with libcardioDecider for arm64-v8a and I get the error in my first post again.
Am I missing something.?
Thanks!

@braebot
Copy link
Member

braebot commented Jun 5, 2015

Well shoot. We tested this on an S6, and the fallback to v7a worked. I'm not sure what's going on with the Nexus 9. I'll reopen this issue until we can figure it out.

@braebot braebot reopened this Jun 5, 2015
@tomwhipple tomwhipple added the bug label Jun 8, 2015
@jmaffre
Copy link

jmaffre commented Aug 26, 2015

Hey @braebot, I have the same error as @varunkochar (couldn't find "libcardioDecider.so") on an S6 when I include an other third party lib which use arm64-v8a folder.
When I remove the other lib, it's fine so It seems that the fallback to the folder v7a occurs only if you don't have the arm64-v8a folder at all.

@ghost
Copy link

ghost commented Aug 31, 2015

@braebot I have the same error on Samsung Galaxy Tab 3
We already use the latest version
is there any solution ?

@ayltai
Copy link

ayltai commented Sep 3, 2015

Same case here. On S6, with another 64bit library in arm64-v8a folder, card.io will not work with error ERROR_NO_DEVICE_SUPPORT: This device cannot use the camera to read card numbers

@ghost
Copy link

ghost commented Sep 7, 2015

@braebot Can you please give us any feedback from your side?

@corbt
Copy link

corbt commented Sep 11, 2015

Hey, I'd just like to mention that I'm hitting this same error on a nexus 9. The logs are below in case they help.

I'm happy to run any tests or provide any further details needed in adding support for the Nexus 9.

09-11 19:29:02.801  16349-16349/com.emberall.kiosk.local I/card.io﹕ Checking hardware support...
09-11 19:29:02.806  16349-16349/com.emberall.kiosk.local I/card.io﹕ card.io 5.0.1 06/04/2015 17:39:33 -0500
09-11 19:29:02.807  16349-16349/com.emberall.kiosk.local E/card.io﹕ Failed to load native library: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.emberall.kiosk.local-1/base.apk"],nativeLibraryDirectories=[/data/app/com.emberall.kiosk.local-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libcardioDecider.so"
09-11 19:29:02.808  16349-16349/com.emberall.kiosk.local W/card.io﹕ - Processor type is not supported
09-11 19:29:02.808  16349-16349/com.emberall.kiosk.local W/card.io﹕ ERROR_NO_DEVICE_SUPPORT: This device cannot use the camera to read card numbers.

@brooth
Copy link

brooth commented Sep 15, 2015

Not working on galaxy s4 and nexus 4/5. getting the folowing output:

I/card.io: card.io 5.0.1 06/04/2015 17:39:33 -0500
D/card.io: Loaded card.io decider library.  nUseNeon():true,nUseTegra():false
D/card.io: Loaded opencv core library
D/card.io: Loaded opencv imgproc library
E/card.io: Failed to load native library: JNI_ERR returned from JNI_OnLoad in "/data/app/_/lib/arm/libcardioRecognizer.so"
W/card.io: - Processor type is not supported

please give a help

@braebot
Copy link
Member

braebot commented Sep 17, 2015

We need to add 64 bit support. I've renamed this issue accordingly.

@braebot braebot changed the title Cannot scan card on Nexus 9 Support 64-bit processors Sep 17, 2015
@corbt
Copy link

corbt commented Sep 17, 2015

@braebot if you're wondering why the fallback worked for you in testing on an S6 and it's not working for some of us in the wild, it may be related to this answer on Stack Overflow. Basically if a project already has some 64-bit dependencies Android won't load 32-bit native libs.

@braebot
Copy link
Member

braebot commented Sep 17, 2015

Thanks for the info @corbt! We found this to be the case as well through some trial and error. It's unfortunate it wasn't publicized.

@corbt
Copy link

corbt commented Sep 18, 2015

Hey everybody, for those still struggling with this issue, after further investigation I've found a (very sub-optimal) workaround that I've tested and found to work on my Nexus 9. I wrote it up in a blog here. I'm still hoping for a 64-bit version of card.io, but at least this works in the meantime.

@zsavely
Copy link

zsavely commented Sep 22, 2015

@corbt Thanks for your post. It works

@braebot
Copy link
Member

braebot commented Oct 1, 2015

Fixed in release 5.1.0. Thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

8 participants