Android related questions

General information about Neurotechnology and its software

Re: embedded version [Android]

Postby Martynas » Jan 23, 2013 09:12

aman000 wrote:Hi There,
I have successfully installed the licensing manager and the biometrics onto the emulator. But when i tried to run the licensing manager on the emulator, it said unexpected external error and then crashed.

When i tried them on actual devise, the licensing manager kept trying connecting, as a result, i am getting "licensing not obtained" message from biometrics apps.

I didn't have much information to give to you, just from this syptoms, are you able to tell what i have done wrong?

Here is the logcat report. I am not able to find a clue from this. Please help.
Code: Select all
01-22 07:16:41.190: D/ACRA(12887): Retrieve application default SharedPreferences.
01-22 07:16:41.230: D/ACRA(12887): Set OnSharedPreferenceChangeListener.
01-22 07:16:41.230: D/ACRA(12887): ACRA is enabled for com.neurotec.samples.licensing, intializing...
01-22 07:16:41.340: D/ACRA(12887): Looking for error files in /data/data/com.neurotec.samples.licensing/files
01-22 07:16:41.340: D/ACRA(12887): Looking for error files in /data/data/com.neurotec.samples.licensing/files
01-22 07:16:41.490: D/LibraryManager(12887): Loading native libraries
01-22 07:16:41.490: D/LibraryManager(12887): Loading library NCore
01-22 07:16:41.540: D/dalvikvm(12887): Trying to load lib /data/app-lib/com.neurotec.samples.licensing-1/libNCore.so 0x40ce5748
01-22 07:16:41.581: D/dalvikvm(12887): Added shared lib /data/app-lib/com.neurotec.samples.licensing-1/libNCore.so 0x40ce5748
01-22 07:16:41.581: D/dalvikvm(12887): No JNI_OnLoad found in /data/app-lib/com.neurotec.samples.licensing-1/libNCore.so 0x40ce5748, skipping init
01-22 07:16:41.581: D/LibraryManager(12887): Loading library NLicensing
01-22 07:16:41.581: D/dalvikvm(12887): Trying to load lib /data/app-lib/com.neurotec.samples.licensing-1/libNLicensing.so 0x40ce5748
01-22 07:16:41.581: D/dalvikvm(12887): Added shared lib /data/app-lib/com.neurotec.samples.licensing-1/libNLicensing.so 0x40ce5748
01-22 07:16:41.590: D/dalvikvm(12887): No JNI_OnLoad found in /data/app-lib/com.neurotec.samples.licensing-1/libNLicensing.so 0x40ce5748, skipping init
01-22 07:16:41.590: D/LibraryManager(12887): Loading library NService
01-22 07:16:41.590: D/dalvikvm(12887): Trying to load lib /data/app-lib/com.neurotec.samples.licensing-1/libNService.so 0x40ce5748
01-22 07:16:41.600: D/dalvikvm(12887): Added shared lib /data/app-lib/com.neurotec.samples.licensing-1/libNService.so 0x40ce5748
01-22 07:16:41.600: D/dalvikvm(12887): No JNI_OnLoad found in /data/app-lib/com.neurotec.samples.licensing-1/libNService.so 0x40ce5748, skipping init
01-22 07:16:41.600: D/LibraryManager(12887): Loading library NMedia
01-22 07:16:41.600: D/dalvikvm(12887): Trying to load lib /data/app-lib/com.neurotec.samples.licensing-1/libNMedia.so 0x40ce5748
01-22 07:16:41.610: D/dalvikvm(12887): Added shared lib /data/app-lib/com.neurotec.samples.licensing-1/libNMedia.so 0x40ce5748
01-22 07:16:41.610: D/dalvikvm(12887): No JNI_OnLoad found in /data/app-lib/com.neurotec.samples.licensing-1/libNMedia.so 0x40ce5748, skipping init
01-22 07:16:41.610: D/LibraryManager(12887): Loading library NMediaProc
01-22 07:16:41.620: W/LibraryManager(12887): Library NMediaProc could not be found
01-22 07:16:41.620: D/LibraryManager(12887): Loading library NBiometrics
01-22 07:16:41.630: W/LibraryManager(12887): Library NBiometrics could not be found
01-22 07:16:41.630: D/LibraryManager(12887): Loading library NSmartCards
01-22 07:16:41.630: W/LibraryManager(12887): Library NSmartCards could not be found
01-22 07:16:41.630: D/LibraryManager(12887): Loading library NBiometricStandards
01-22 07:16:41.630: W/LibraryManager(12887): Library NBiometricStandards could not be found
01-22 07:16:41.640: D/LibraryManager(12887): Loading library NDevices
01-22 07:16:41.640: W/LibraryManager(12887): Library NDevices could not be found
01-22 07:16:41.640: D/LibraryManager(12887): Loading library SentiSight
01-22 07:16:41.640: W/LibraryManager(12887): Library SentiSight could not be found
01-22 07:16:41.640: D/LibraryManager(12887): Loading library jniPtapi
01-22 07:16:41.651: W/LibraryManager(12887): Library jniPtapi could not be found
01-22 07:16:41.651: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:16:41.651: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:16:42.070: D/dalvikvm(12887): GC_CONCURRENT freed 196K, 11% free 2591K/2904K, paused 96ms+100ms, total 286ms
01-22 07:16:42.180: D/dalvikvm(12887): GC_FOR_ALLOC freed 15K, 9% free 2718K/2960K, paused 24ms, total 25ms
01-22 07:16:42.180: I/dalvikvm-heap(12887): Grow heap (frag case) to 3.372MB for 635812-byte allocation
01-22 07:16:42.300: D/dalvikvm(12887): GC_FOR_ALLOC freed 2K, 7% free 3336K/3584K, paused 113ms, total 113ms
01-22 07:16:42.360: D/dalvikvm(12887): GC_CONCURRENT freed 1K, 7% free 3344K/3584K, paused 9ms+5ms, total 61ms
01-22 07:16:42.480: I/ApplicationManager(12887): Adding handle : com.neurotec.samples.licensing.LicensingServiceActivity@40cf7330
01-22 07:16:42.500: D/dalvikvm(12887): Trying to load lib /data/app-lib/com.neurotec.samples.licensing-1/libjnidispatch.so 0x40ce5748
01-22 07:16:42.510: D/dalvikvm(12887): Added shared lib /data/app-lib/com.neurotec.samples.licensing-1/libjnidispatch.so 0x40ce5748
01-22 07:16:42.510: D/dalvikvm(12887): GREF has increased to 201
01-22 07:16:42.880: D/dalvikvm(12887): GC_CONCURRENT freed 262K, 10% free 3555K/3936K, paused 103ms+102ms, total 264ms
01-22 07:16:42.880: D/dalvikvm(12887): Trying to load lib /data/app-lib/com.neurotec.samples.licensing-1/libNCore.so 0x40ce5748
01-22 07:16:42.880: D/dalvikvm(12887): Shared lib '/data/app-lib/com.neurotec.samples.licensing-1/libNCore.so' already loaded in same CL 0x40ce5748
01-22 07:16:51.120: D/dalvikvm(12887): GREF has increased to 301
01-22 07:16:51.160: E/LicensingServiceActivity(12887): Exception
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at nservice_get_status
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    --- End of external call stack ---
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    --- End of native stack trace ---
01-22 07:16:51.160: E/LicensingServiceActivity(12887): External error occurred
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.lang.RuntimeErrorCreator.create(RuntimeErrorCreator.java:49)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.lang.ChainedErrorCreator.create(ChainedErrorCreator.java:20)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.lang.NError.get(NError.java:143)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.lang.NError.get(NError.java:163)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.lang.NError.getLast(NError.java:177)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.lang.NResult.checkUnchecked(NResult.java:230)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.lang.NResult.raiseError(NResult.java:308)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.lang.NResult.check(NResult.java:219)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.licensing.NLicensingService.getStatus(NLicensingService.java:129)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.samples.licensing.LicensingServiceActivity$BackgroundTask.doInBackground(LicensingServiceActivity.java:239)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at com.neurotec.samples.licensing.LicensingServiceActivity$BackgroundTask.doInBackground(LicensingServiceActivity.java:193)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
01-22 07:16:51.160: E/LicensingServiceActivity(12887):    at java.lang.Thread.run(Thread.java:856)
01-22 07:16:56.280: E/LicensingManagerActivity(12887): Exception
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at nservice_is_trial
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    --- End of external call stack ---
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    --- End of native stack trace ---
01-22 07:16:56.280: E/LicensingManagerActivity(12887): External error occurred
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.neurotec.lang.RuntimeErrorCreator.create(RuntimeErrorCreator.java:49)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.neurotec.lang.ChainedErrorCreator.create(ChainedErrorCreator.java:20)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.neurotec.lang.NError.get(NError.java:143)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.neurotec.lang.NError.get(NError.java:163)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.neurotec.lang.NError.getLast(NError.java:177)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.neurotec.lang.NResult.checkUnchecked(NResult.java:230)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.neurotec.lang.NResult.raiseError(NResult.java:308)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.neurotec.lang.NResult.check(NResult.java:219)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.neurotec.licensing.NLicensingService.isTrial(NLicensingService.java:167)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.neurotec.samples.licensing.LicensingManagerActivity.onCreate(LicensingManagerActivity.java:35)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at android.app.Activity.performCreate(Activity.java:5104)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at android.os.Looper.loop(Looper.java:137)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at android.app.ActivityThread.main(ActivityThread.java:5039)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at java.lang.reflect.Method.invokeNative(Native Method)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at java.lang.reflect.Method.invoke(Method.java:511)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-22 07:16:56.280: E/LicensingManagerActivity(12887):    at dalvik.system.NativeStart.main(Native Method)
01-22 07:16:56.580: I/ApplicationManager(12887): Adding handle : com.neurotec.samples.licensing.LicensingManagerActivity@40d125d8
01-22 07:16:56.640: D/dalvikvm(12887): GC_CONCURRENT freed 355K, 12% free 3645K/4120K, paused 7ms+97ms, total 210ms
01-22 07:16:56.660: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:16:56.670: I/Choreographer(12887): Skipped 3698 frames!  The application may be doing too much work on its main thread.

01-22 07:17:10.871: D/AndroidRuntime(12887): Shutting down VM
01-22 07:17:10.871: W/dalvikvm(12887): threadid=1: thread exiting with uncaught exception (group=0x40a70930)
01-22 07:17:10.871: E/ACRA(12887): ACRA caught a ExternalException exception for com.neurotec.samples.licensing. Building report.
01-22 07:17:10.889: D/ACRA(12887): Retrieve application default SharedPreferences.
01-22 07:17:11.060: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.060: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.110: I/ACRA(12887): READ_LOGS not allowed. ACRA will not include LogCat and DropBox data.
01-22 07:17:11.180: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.269: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.280: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.280: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.290: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.290: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.290: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.300: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.330: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.330: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.340: D/gralloc_goldfish(12887): Emulator without GPU emulation detected.
01-22 07:17:11.440: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:11.490: W/Trace(12887): Unexpected value from nativeGetEnabledTags: 0
01-22 07:17:12.470: D/ACRA(12887): Writing crash report file.
01-22 07:17:12.600: D/dalvikvm(12887): GC_CONCURRENT freed 294K, 10% free 3781K/4192K, paused 72ms+88ms, total 220ms
01-22 07:17:12.675: D/ACRA(12887): Retrieve application default SharedPreferences.
01-22 07:17:12.680: D/ACRA(12887): Creating Notification for 1358839032000.stacktrace
01-22 07:17:12.760: E/ACRA(12887): Licensing manager fatal error : External error occurred
01-22 07:17:12.760: E/ACRA(12887):    at nservice_get_status
01-22 07:17:12.760: E/ACRA(12887):    --- End of external call stack ---
01-22 07:17:12.760: E/ACRA(12887):    --- End of native stack trace ---
01-22 07:17:12.760: E/ACRA(12887): External error occurred
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.lang.RuntimeErrorCreator.create(RuntimeErrorCreator.java:49)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.lang.ChainedErrorCreator.create(ChainedErrorCreator.java:20)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.lang.NError.get(NError.java:143)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.lang.NError.get(NError.java:163)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.lang.NError.getLast(NError.java:177)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.lang.NResult.checkUnchecked(NResult.java:230)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.lang.NResult.raiseError(NResult.java:308)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.lang.NResult.check(NResult.java:219)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.licensing.NLicensingService.getStatus(NLicensingService.java:129)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.samples.licensing.LicensingServiceManager.isRunning(LicensingServiceManager.java:226)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.samples.licensing.LicensingServiceActivity.update(LicensingServiceActivity.java:63)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.samples.licensing.LicensingServiceActivity.access$1100(LicensingServiceActivity.java:22)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.samples.licensing.LicensingServiceActivity$BackgroundTask.onPostExecute(LicensingServiceActivity.java:252)
01-22 07:17:12.760: E/ACRA(12887):    at com.neurotec.samples.licensing.LicensingServiceActivity$BackgroundTask.onPostExecute(LicensingServiceActivity.java:193)
01-22 07:17:12.760: E/ACRA(12887):    at android.os.AsyncTask.finish(AsyncTask.java:631)
01-22 07:17:12.760: E/ACRA(12887):    at android.os.AsyncTask.access$600(AsyncTask.java:177)
01-22 07:17:12.760: E/ACRA(12887):    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
01-22 07:17:12.760: E/ACRA(12887):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-22 07:17:12.760: E/ACRA(12887):    at android.os.Looper.loop(Looper.java:137)
01-22 07:17:12.760: E/ACRA(12887):    at android.app.ActivityThread.main(ActivityThread.java:5039)
01-22 07:17:12.760: E/ACRA(12887):    at java.lang.reflect.Method.invokeNative(Native Method)
01-22 07:17:12.760: E/ACRA(12887):    at java.lang.reflect.Method.invoke(Method.java:511)
01-22 07:17:12.760: E/ACRA(12887):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-22 07:17:12.760: E/ACRA(12887):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-22 07:17:12.760: E/ACRA(12887):    at dalvik.system.NativeStart.main(Native Method)
01-22 07:17:12.760: I/Process(12887): Sending signal. PID: 12887 SIG: 9

Thank you very much

Cheers

what version of the Android OS your emulator is running?
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Re: embedded version [Android]

Postby aman000 » Jan 28, 2013 09:05

Hi Martynas,

I used Android 4.2, API level 17 for both emulator and android ADT. After import samples, I got errors saying Android 10 target not found. So i reset up Android build target to platform 4.2 and API level 17. It appears to have fixed the error. After it was deployed to emulator, I got the program crashed message.

Thanks in advance.


Regards,
aman000
 
Posts: 11
Joined: Jan 12, 2013 21:40

Re: embedded version [Android]

Postby Martynas » Jan 28, 2013 11:17

aman000 wrote:I used Android 4.2, API level 17 for both emulator and android ADT. After import samples, I got errors saying Android 10 target not found. So i reset up Android build target to platform 4.2 and API level 17. It appears to have fixed the error. After it was deployed to emulator, I got the program crashed message.

According to our developers only the Trial version of the SDK can be used on the Emulator. if the full SDK was purchased, then it should be used on a real device.
Do you use the trial version of the SDK or full one?
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Re: embedded version [Android]

Postby Martynas » Jan 28, 2013 12:00

aman000 wrote:I used Android 4.2, API level 17 for both emulator and android ADT. After import samples, I got errors saying Android 10 target not found. So i reset up Android build target to platform 4.2 and API level 17. It appears to have fixed the error. After it was deployed to emulator, I got the program crashed message.

also please use the lower version of the Android OS on the emulator, i.e. 4.0.
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

license activation for android trial [Android]

Postby aman000 » Feb 02, 2013 10:28

Hi there,

I have successfully installed trial version of embedded multibiometric sample on to my android phone. However, i could not get the license activated. I installed the licensing-manager from the Target folder. And also tried to use the one in the bin/android folder. Both of them give an unknown status from licensing manager screen. I have tried both direct and from PC setting. My phone has internet access.

When i tried verilook, it tells me the license not abtained.

Can you please help.

Thanks in advance.

Admin: merged to "Android related questions"
aman000
 
Posts: 11
Joined: Jan 12, 2013 21:40

Re: license activation for android trial

Postby opmo » Feb 02, 2013 23:18

aman000 wrote:Hi there,

I have successfully installed trial version of embedded multibiometric sample on to my android phone. However, i could not get the license activated. I installed the licensing-manager from the Target folder. And also tried to use the one in the bin/android folder. Both of them give an unknown status from licensing manager screen. I have tried both direct and from PC setting. My phone has internet access.

When i tried verilook, it tells me the license not abtained.

Can you please help.

Thanks in advance.

Hello Aman,

I have the same situation like You. I have Samsung Galaxy S2 phone, and when I look in to the Reports folder (/storage/sdcard0/Neurotechnology/Reports/) and report TXT file (licensing_service_report_DATE_TIME.txt), for trial licence type, in Configuration section of Report file I have following:
Code: Select all
...
Configuration:
Mode = Server
StoragePath = /storage/sdcard0/Download
SD card is not ready for reading. Please unmounted it from PC and try again.

Obviously, the last line tell the problem (SD card not ready) - maybe I wrong?
I'm using latest Eclipse, Maven and Java JDK, my phone is connected to PC via USB cable (with Developer options and USB debugging turned on). I use rooted phone with Android 4.1.2.
I tried Licensing Manager from Android/Bin folder and from my eclipse rebuild-ed project also. Also, tried with Directly and From-PC licensing mode. Also, when I tried VeriLook, it told me in ToastMessage that "License were not obtained", and I can't got any green rectangle over the any face in video preview on my phone.

Can somebody help us ?

Thanks in advance, sorry for coping some part of previous message post ( :) ), and sorry for my bad English.

Best Regards.
Last edited by Sergey on Feb 13, 2013 09:50, edited 2 times in total.
Reason: Wrapped the report into code tags
opmo
 
Posts: 8
Joined: Feb 02, 2013 17:20

Re: license activation for android trial

Postby Martynas » Feb 04, 2013 10:22

aman000 wrote:I have successfully installed trial version of embedded multibiometric sample on to my android phone. However, i could not get the license activated. I installed the licensing-manager from the Target folder. And also tried to use the one in the bin/android folder. Both of them give an unknown status from licensing manager screen. I have tried both direct and from PC setting. My phone has internet access.

When i tried verilook, it tells me the license not abtained.
Can you please help.

opmo wrote:I have the same situation like You. I have Samsung Galaxy S2 phone, and when I look in to the Reports folder (/storage/sdcard0/Neurotechnology/Reports/) and report TXT file (licensing_service_report_DATE_TIME.txt), for trial licence type, in Configuration section of Report file I have following:
Code: Select all
...
Configuration:
Mode = Server
StoragePath = /storage/sdcard0/Download
SD card is not ready for reading. Please unmounted it from PC and try again.

Obviously, the last line tell the problem (SD card not ready) - maybe I wrong?
I'm using latest Eclipse, Maven and Java JDK, my phone is connected to PC via USB cable (with Developer options and USB debugging turned on). I use rooted phone with Android 4.1.2.
I tried Licensing Manager from Android/Bin folder and from my eclipse rebuild-ed project also. Also, tried with Directly and From-PC licensing mode. Also, when I tried VeriLook, it told me in ToastMessage that "License were not obtained", and I can't got any green rectangle over the any face in video preview on my phone.

Can somebody help us ?

Hello,

after installation of the License Manager apk file on the phone, it is needed to disconnect the device from the computer.
When License Manager starts it creates the "/sdcard/Neurotechnology/Licenses" folder. If this folder is not created, then during start (you need to press button "start" in License Manager for this), the service will not be started and the statuses "unknown" will be shown.
the Android device, where the Trial SDK is used, should have a direct Internet connection - 3G/2G connections are not supported.
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Re: license activation for android trial

Postby opmo » Feb 05, 2013 17:54

Martynas wrote:after installation of the License Manager apk file on the phone, it is needed to disconnect the device from the computer.
When License Manager starts it creates the "/sdcard/Neurotechnology/Licenses" folder. If this folder is not created, then during start (you need to press button "start" in License Manager for this), the service will not be started and the statuses "unknown" will be shown.
the Android device, where the Trial SDK is used, should have a direct Internet connection - 3G/2G connections are not supported.

Hello Martynas,

thank You for fast response. I already tried to disconnect phone from my computer, but when I make a direct connection (with WLAN - not 2/3G), I successfully activate my trial licence. Thank You very much for this solution!

Best Regards.
opmo
 
Posts: 8
Joined: Feb 02, 2013 17:20

How to install MegaMatcher Embedded SDK in Mac?

Postby vino » Feb 11, 2013 11:06

Hi all,

I been using Neuro for 3 months. I managed to create an app which does Face Biometric. But recently seen this line in the documentation it says that i can install the sdk with mega matcher sdk. But there is no MegaMatcher Embedded SDK Installer while downloading it.

HOW TO INSTALL SDK?
===================
MegaMatcher Embedded SDK Installer will start automatically when you download the SDK from its Android address.


How to install the sdk?
If so can i access it using ecllipse?

Many Thanks,
Regards
Vino

Admin: merged to "Android related questions"
vino
 
Posts: 22
Joined: Sep 27, 2012 14:43

Re: How to install MegaMatcher Embedded SDK in Mac?

Postby Martynas » Feb 11, 2013 11:14

vino wrote:Hi all,

I been using Neuro for 3 months. I managed to create an app which does Face Biometric. But recently seen this line in the documentation it says that i can install the sdk with mega matcher sdk. But there is no MegaMatcher Embedded SDK Installer while downloading it.

HOW TO INSTALL SDK?
===================
MegaMatcher Embedded SDK Installer will start automatically when you download the SDK from its Android address.


How to install the sdk?
If so can i access it using ecllipse?

Many Thanks,
Regards
Vino

Hi,

it is not necessary to install Embedded SDK at all. PC/MAC are used only to compile the apk, which will be used on the device .The instructions how to import the samples projects in the Eclipse are provided in the latest version SDKs documentation.
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Eclipse project without Maven Error

Postby opmo » Mar 01, 2013 01:51

Hello,

I try to integrate VeriLook SDK into my application without using Maven. I successfully build, run and test projects from Your Samples directory of SDK with Maven. Now, when I try to check for Licenses in my application (like in SDK demos - EnrollFaceFromCamera.java and FaceRecognitionActivity.java) with this code:

Definitions:
Code: Select all
private static final String[] VL_LICENSES =
{
   LicensingManager.LICENSE_DEVICES_CAMERAS,
   LicensingManager.LICENSE_FACE_DETECTION,
   LicensingManager.LICENSE_FACE_EXTRACTION,
   LicensingManager.LICENSE_FACE_MATCHING,
   LicensingManager.LICENSE_FACE_STANDARDS,
   LicensingManager.LICENSE_FACE_MATCHING_FAST
};
private ProgressDialog mProgressDialog;


In onCreate() Function:
Code: Select all
LicensingManager.getInstance().obtain(this, this, Arrays.asList(VL_LICENSES));


And:
Code: Select all
public void onLicensingStateChanged(final LicensingState state)
{
   switch (state)
   {
   case OBTAINING:
      mProgressDialog = ProgressDialog.show(contextL, "Licences", getString(R.string.format_obtaining_licenses, Arrays.toString(VL_LICENSES)));
      break;
   case OBTAINED:
      mProgressDialog.dismiss();               
      break;
   case NOT_OBTAINED:
      mProgressDialog.dismiss();
      Log.e("DBG", getString(R.string.msg_licenses_not_obtained));
      break;
   default:
      Log.e("DBG", "Unknown error");
   }
};


I got the following errors:

Code: Select all
03-01 02:22:11.163: E/AndroidRuntime(20998): FATAL EXCEPTION: main
03-01 02:22:11.163: E/AndroidRuntime(20998): java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.samples.licensing.LicensingManager.obtain(LicensingManager.java:242)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.oki.zedd.LoginActivity.onCreate(LoginActivity.java:248)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.Activity.performCreate(Activity.java:5206)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.ActivityThread.access$700(ActivityThread.java:140)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.os.Looper.loop(Looper.java:137)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.ActivityThread.main(ActivityThread.java:4921)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at java.lang.reflect.Method.invokeNative(Native Method)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at java.lang.reflect.Method.invoke(Method.java:511)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at dalvik.system.NativeStart.main(Native Method)
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.samples.licensing.LicensingMode.getDefault(LicensingMode.java:38)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.samples.licensing.LicensingServiceManager.<clinit>(LicensingServiceManager.java:49)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 16 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.licensing.NLicensingService.<clinit>(NLicensingService.java:44)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 18 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.licensing.NLicensing.<clinit>(NLicensing.java:45)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 19 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.licensing.NLicensing.<clinit>(NLicensing.java:42)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 19 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.lang.NCore.<clinit>(NCore.java:132)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 20 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.lang.NCore.<clinit>(NCore.java:124)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 20 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.sun.jna.NativeLibrary.<clinit>(NativeLibrary.java:62)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 21 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/android-arm/libjnidispatch.so) not found in resource path
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:730)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.sun.jna.Native.loadNativeLibrary(Native.java:704)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.sun.jna.Native.<clinit>(Native.java:127)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 22 more


When I comment only above line in my onCreate() code, my application (rest of it) works fine.
I'm using Eclipse Java EE IDE - Juno SR1 on Windows 7 x64, Android 4.2 (API 17), Android SDK Tools 21.1.

Does anyone have an example of using VeriLook SDK without Maven also?

Thanks in advance.
Best Regards.
opmo
 
Posts: 8
Joined: Feb 02, 2013 17:20

running MegaMatcher embedded samples!? [Android]

Postby Chance04 » Mar 01, 2013 07:43

First, I will apologize, as my newbie questions will seem a bit stupid! I have been programming computers for several years, but this is my first time with android and my first time with Java...so two strikes against me there!

I've read the running samples section from the documentation; which did help a lot. I do have Eclipse running, with Maven 3.0.4 embedded installed, and local to Maven 3.0.5. The Android SDK is installed, and m2e connectors. Of course the latest JDK is installed as well.

When I import the samples (import ... existing maven project), it appears to load normally. (For the past 2 days I've been fighting with errors in the POM, which I finally did get resolved after the m2e android connectors were installed). But, when I go to look at any of the existing layout pages, I can't see them. Error at the bottom says "The project target is not set. Right click project, choose Properties | Android."

But when I right click, choose properties, there is no android option available. If I go into debug configurations, I can choose m2e android. ... but of course I get errors. Yet, if I start a new maven project, I can click properties and choose m2e android. So it's there for a new project, but not this existing. So, I believe I missing something, or have an incompatible version of something ... but what??


Also, when I am working on my own project which is in very early stages, there seems to be something missing. I can't seem to find NLEDetectionDetails... in the samples provided, the ResultView.Java file contains the line "import com.neurotec.biometrics.NLEDetectionDetails;". I can't seem to find this anywhere to import into my project ?

I'd appreciate any tips!

Thanks!!

Admin: merged to "Android related questions"
Chance04
 
Posts: 5
Joined: Feb 28, 2013 02:13

Re: Android related questions

Postby vaidasz » Mar 08, 2013 13:45

opmo wrote:Hello,

I try to integrate VeriLook SDK into my application without using Maven. I successfully build, run and test projects from Your Samples directory of SDK with Maven. Now, when I try to check for Licenses in my application (like in SDK demos - EnrollFaceFromCamera.java and FaceRecognitionActivity.java) with this code:

Definitions:
Code: Select all
private static final String[] VL_LICENSES =
{
   LicensingManager.LICENSE_DEVICES_CAMERAS,
   LicensingManager.LICENSE_FACE_DETECTION,
   LicensingManager.LICENSE_FACE_EXTRACTION,
   LicensingManager.LICENSE_FACE_MATCHING,
   LicensingManager.LICENSE_FACE_STANDARDS,
   LicensingManager.LICENSE_FACE_MATCHING_FAST
};
private ProgressDialog mProgressDialog;


In onCreate() Function:
Code: Select all
LicensingManager.getInstance().obtain(this, this, Arrays.asList(VL_LICENSES));


And:
Code: Select all
public void onLicensingStateChanged(final LicensingState state)
{
   switch (state)
   {
   case OBTAINING:
      mProgressDialog = ProgressDialog.show(contextL, "Licences", getString(R.string.format_obtaining_licenses, Arrays.toString(VL_LICENSES)));
      break;
   case OBTAINED:
      mProgressDialog.dismiss();               
      break;
   case NOT_OBTAINED:
      mProgressDialog.dismiss();
      Log.e("DBG", getString(R.string.msg_licenses_not_obtained));
      break;
   default:
      Log.e("DBG", "Unknown error");
   }
};


I got the following errors:

Code: Select all
03-01 02:22:11.163: E/AndroidRuntime(20998): FATAL EXCEPTION: main
03-01 02:22:11.163: E/AndroidRuntime(20998): java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.samples.licensing.LicensingManager.obtain(LicensingManager.java:242)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.oki.zedd.LoginActivity.onCreate(LoginActivity.java:248)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.Activity.performCreate(Activity.java:5206)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.ActivityThread.access$700(ActivityThread.java:140)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.os.Looper.loop(Looper.java:137)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at android.app.ActivityThread.main(ActivityThread.java:4921)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at java.lang.reflect.Method.invokeNative(Native Method)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at java.lang.reflect.Method.invoke(Method.java:511)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at dalvik.system.NativeStart.main(Native Method)
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.samples.licensing.LicensingMode.getDefault(LicensingMode.java:38)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.samples.licensing.LicensingServiceManager.<clinit>(LicensingServiceManager.java:49)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 16 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.licensing.NLicensingService.<clinit>(NLicensingService.java:44)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 18 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.licensing.NLicensing.<clinit>(NLicensing.java:45)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 19 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.licensing.NLicensing.<clinit>(NLicensing.java:42)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 19 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.lang.NCore.<clinit>(NCore.java:132)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 20 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.neurotec.lang.NCore.<clinit>(NCore.java:124)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 20 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.ExceptionInInitializerError
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.sun.jna.NativeLibrary.<clinit>(NativeLibrary.java:62)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 21 more
03-01 02:22:11.163: E/AndroidRuntime(20998): Caused by: java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/android-arm/libjnidispatch.so) not found in resource path
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:730)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.sun.jna.Native.loadNativeLibrary(Native.java:704)
03-01 02:22:11.163: E/AndroidRuntime(20998):    at com.sun.jna.Native.<clinit>(Native.java:127)
03-01 02:22:11.163: E/AndroidRuntime(20998):    ... 22 more


When I comment only above line in my onCreate() code, my application (rest of it) works fine.
I'm using Eclipse Java EE IDE - Juno SR1 on Windows 7 x64, Android 4.2 (API 17), Android SDK Tools 21.1.

Does anyone have an example of using VeriLook SDK without Maven also?

Thanks in advance.
Best Regards.


Hello,

You have to duplicate armeabi/libjnidispatch.so file to armeabi-v7a folder. Maven does it automatically, but since you don‘t use it, you will have to do it manually.
Yesterday we released SDK update. This misleading issue has been fixed in the release.
Vaidas Z
Neurotechnology
vaidasz
Neurotechnology
 
Posts: 559
Joined: Apr 30, 2010 06:57
Location: Vilnius, Lithuania

How to run VeriLook Embedded one with out Maven for Android?

Postby vino » Mar 08, 2013 14:27

I am trying to run your sample Verilook embedded one without Maven. I am able to import all the library and jar files. While obtaining licenses i end up with the following error. I really dont have any idea about resolving this. The problem i am facing is in FaceRecognitionActivity.java

Code: Select all
03-08 12:55:51.514: E/LicensingManager(19622): Exception
03-08 12:55:51.514: E/LicensingManager(19622):    at nservice_get_status
03-08 12:55:51.514: E/LicensingManager(19622):    --- End of external call stack ---
03-08 12:55:51.514: E/LicensingManager(19622):    --- End of native stack trace ---
03-08 12:55:51.514: E/LicensingManager(19622): External error occurred
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.RuntimeErrorCreator.create(RuntimeErrorCreator.java:49)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.ChainedErrorCreator.create(ChainedErrorCreator.java:20)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NError.get(NError.java:143)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NError.get(NError.java:163)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NError.getLast(NError.java:177)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NResult.checkUnchecked(NResult.java:230)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NResult.raiseError(NResult.java:308)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NResult.check(NResult.java:219)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.licensing.NLicensingService.uninstall(NLicensingService.java:106)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.skotkonung.apps.monitoring.utils.licensing.LicensingServiceManager.start(LicensingServiceManager.java:181)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.skotkonung.apps.monitoring.utils.licensing.LicensingManager.obtain(LicensingManager.java:281)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.skotkonung.apps.monitoring.utils.licensing.LicensingManager$2.doInBackground(LicensingManager.java:256)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.skotkonung.apps.monitoring.utils.licensing.LicensingManager$2.doInBackground(LicensingManager.java:1)
03-08 12:55:51.514: E/LicensingManager(19622):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
03-08 12:55:51.514: E/LicensingManager(19622):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
03-08 12:55:51.514: E/LicensingManager(19622):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
03-08 12:55:51.514: E/LicensingManager(19622):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
03-08 12:55:51.514: E/LicensingManager(19622):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
03-08 12:55:51.514: E/LicensingManager(19622):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
03-08 12:55:51.514: E/LicensingManager(19622):    at java.lang.Thread.run(Thread.java:864)



What this error means?
How to resolve this?

Any help is much appreciated.

Admin: merged to "Android related questions"
vino
 
Posts: 22
Joined: Sep 27, 2012 14:43

Re: running MegaMatcher embedded samples!? [Android]

Postby vaidasz » Mar 08, 2013 15:32

Chance04 wrote:First, I will apologize, as my newbie questions will seem a bit stupid! I have been programming computers for several years, but this is my first time with android and my first time with Java...so two strikes against me there!

I've read the running samples section from the documentation; which did help a lot. I do have Eclipse running, with Maven 3.0.4 embedded installed, and local to Maven 3.0.5. The Android SDK is installed, and m2e connectors. Of course the latest JDK is installed as well.

When I import the samples (import ... existing maven project), it appears to load normally. (For the past 2 days I've been fighting with errors in the POM, which I finally did get resolved after the m2e android connectors were installed). But, when I go to look at any of the existing layout pages, I can't see them. Error at the bottom says "The project target is not set. Right click project, choose Properties | Android."

But when I right click, choose properties, there is no android option available. If I go into debug configurations, I can choose m2e android. ... but of course I get errors. Yet, if I start a new maven project, I can click properties and choose m2e android. So it's there for a new project, but not this existing. So, I believe I missing something, or have an incompatible version of something ... but what??

Hello,

Which version of Eclipse do you use? Is the Eclipse dedicated for Android?

Chance04 wrote:Also, when I am working on my own project which is in very early stages, there seems to be something missing. I can't seem to find NLEDetectionDetails... in the samples provided, the ResultView.Java file contains the line "import com.neurotec.biometrics.NLEDetectionDetails;". I can't seem to find this anywhere to import into my project ?


It seems that reference to neurotec-biometrics-android.jar is missing.
Vaidas Z
Neurotechnology
vaidasz
Neurotechnology
 
Posts: 559
Joined: Apr 30, 2010 06:57
Location: Vilnius, Lithuania

Android verifinger sample does not detect UPEK scanners

Postby ali » Mar 11, 2013 08:13

I think I've discovered why sample app does not detect UPEK scanner
The reason is in class DeviceManager there a function to bring all USB devices "getDevices"
But there is a condition that the USB device must be Futronic

so

how to make condition for Futronic and UPEK

Admin: merged to "Android related questions"
ali
 
Posts: 2
Joined: Mar 11, 2013 07:59

Upek Futronic Android

Postby ali » Mar 11, 2013 14:37

I started looking for the problem what appears to me that there is a condition in source code as shown in the picture

http://www11.0zz0.com/2013/03/11/14/700898161.png


So that the application does not display in the devices list only Futronics devices
So I erased this condition and then UPEK device appeared to me, but when I press the device button to try to take a fingerprint image it shows me this error in this picture

http://www11.0zz0.com/2013/03/11/14/964194144.png

Will how can I deal with this UPEK devices

http://www11.0zz0.com/2013/03/11/14/649397167.jpg
ali
 
Posts: 2
Joined: Mar 11, 2013 07:59

Re: Upek Futronic Android

Postby vaidasz » Mar 12, 2013 13:48

ali wrote:I started looking for the problem what appears to me that there is a condition in source code as shown in the picture

http://www11.0zz0.com/2013/03/11/14/700898161.png


So that the application does not display in the devices list only Futronics devices
So I erased this condition and then UPEK device appeared to me, but when I press the device button to try to take a fingerprint image it shows me this error in this picture

http://www11.0zz0.com/2013/03/11/14/964194144.png

Will how can I deal with this UPEK devices

http://www11.0zz0.com/2013/03/11/14/649397167.jpg


Hello,

The condition is made because Futronic supports USB Host with Android 3.2. Upek scanners do not support. This is why the scanner was found, but it could not work.

To be able to use Upek scanner you need to root you device and then change permissions of the scanner.
To change permissions you need to download Terminal from Android Market first. The follow the steps:
1. Disconnect the scanner
2. Open Terminal
2. Enter su -
3. Enter cd /dev/bus/usb/001
4. Enter lsusb
5. Connect then scanner
6. Enter lsusb – find out device id (the new record that appeared) 7. Enter chmod 666 001 – change permission for device (in the sample device is 001) Now start the VeriFinger sample.
Vaidas Z
Neurotechnology
vaidasz
Neurotechnology
 
Posts: 559
Joined: Apr 30, 2010 06:57
Location: Vilnius, Lithuania

Re: How to run VeriLook Embedded one with out Maven for Andr

Postby vaidasz » Mar 13, 2013 12:27

vino wrote:I am trying to run your sample Verilook embedded one without Maven. I am able to import all the library and jar files. While obtaining licenses i end up with the following error. I really dont have any idea about resolving this. The problem i am facing is in FaceRecognitionActivity.java

Code: Select all
03-08 12:55:51.514: E/LicensingManager(19622): Exception
03-08 12:55:51.514: E/LicensingManager(19622):    at nservice_get_status
03-08 12:55:51.514: E/LicensingManager(19622):    --- End of external call stack ---
03-08 12:55:51.514: E/LicensingManager(19622):    --- End of native stack trace ---
03-08 12:55:51.514: E/LicensingManager(19622): External error occurred
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.RuntimeErrorCreator.create(RuntimeErrorCreator.java:49)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.ChainedErrorCreator.create(ChainedErrorCreator.java:20)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NError.get(NError.java:143)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NError.get(NError.java:163)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NError.getLast(NError.java:177)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NResult.checkUnchecked(NResult.java:230)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NResult.raiseError(NResult.java:308)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.lang.NResult.check(NResult.java:219)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.neurotec.licensing.NLicensingService.uninstall(NLicensingService.java:106)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.skotkonung.apps.monitoring.utils.licensing.LicensingServiceManager.start(LicensingServiceManager.java:181)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.skotkonung.apps.monitoring.utils.licensing.LicensingManager.obtain(LicensingManager.java:281)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.skotkonung.apps.monitoring.utils.licensing.LicensingManager$2.doInBackground(LicensingManager.java:256)
03-08 12:55:51.514: E/LicensingManager(19622):    at com.skotkonung.apps.monitoring.utils.licensing.LicensingManager$2.doInBackground(LicensingManager.java:1)
03-08 12:55:51.514: E/LicensingManager(19622):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
03-08 12:55:51.514: E/LicensingManager(19622):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
03-08 12:55:51.514: E/LicensingManager(19622):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
03-08 12:55:51.514: E/LicensingManager(19622):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
03-08 12:55:51.514: E/LicensingManager(19622):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
03-08 12:55:51.514: E/LicensingManager(19622):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
03-08 12:55:51.514: E/LicensingManager(19622):    at java.lang.Thread.run(Thread.java:864)



What this error means?
How to resolve this?

Any help is much appreciated.


Hello,

As you have written in an e-mail, there was some activtiy missing manifest files.
Vaidas Z
Neurotechnology
vaidasz
Neurotechnology
 
Posts: 559
Joined: Apr 30, 2010 06:57
Location: Vilnius, Lithuania

Android camera orientation VeriLook SDK [Android]

Postby opmo » Mar 18, 2013 01:11

Hello,

again me... I integrate code from VL SDK Samples for Face recognition in my application without using Maven (off course with great help of this Forum and Technical support).

Now I have another problem. In my application I'm using the back camera from my Galaxy S2, and only PORTRAIT display orientation in my application (in Your samples it is Landscape :( ). When I use landscape orientation it all run OK. But the problem is when I want to use Portrait.

To use Portrait, I use this code in my OnCreate():
Code: Select all
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vl);   
      
// Set Application Font
fontB = Typeface.createFromAsset(getAssets(), "DotaMS.ttf");
      
// Go full screen
WindowManager.LayoutParams attrs = this.getWindow().getAttributes();
attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
attrs.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
this.getWindow().setAttributes(attrs);

// Change to fixed portrait mode
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

// Set Action bar
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getActionBar().setCustomView(R.layout.acbar_vl);


And in settings camera parameter, to get right proper orientation of video stream, I use:
Code: Select all
// Set Camera orientation
cCamera.setDisplayOrientation(90);


My code for processing camera video frame in real-time:
Code: Select all
private void processFrame(byte[] data, Camera.Size size)
{
   NImage image = null;
   NGrayscaleImage grayscale = null;
   try
   {
      mExtractor.setFaceRollAngleBase(-90);      // To get face detection when user stand in front of camera (phone and application orientation portrait)
      NLEFace[] faces = null;
         
      // First way to get GrayScale image
      image = ImageUtils.fromNV21(data, size.width, size.height);
      grayscale = image.toGrayscale();

      if (isUseMultiFaceMode)
      {
               faces = mExtractor.detectFaces(grayscale);
      }
      else
      {
         NLEFace face = mExtractor.detectFace(grayscale);
         if (face != null)
         {
            faces = new NLEFace[] {face};
         }
      }
         
      mFaceDetected = faces != null && faces.length > 0;
      mFaceView.setDetectionDetails(applyPrieviewTransformation(createDetectionDetails(faces), size, size));

      if (!mExtracting)
      {
         // Continue preview from camera stream
         mCameraView.requestPreviewFrame();
      }
   }
   finally
   {
      if (image != null)
      {
         image.dispose();
      }
      if (grayscale != null)
      {
         grayscale.dispose();
      }
   }          
}

private NLEDetectionDetails[] createDetectionDetails(NLEFace[] faces)
{
   NLEDetectionDetails[] details = null;
   if (faces != null && faces.length > 0)
   {
      details = new NLEDetectionDetails[faces.length];
      for (int ii = 0; ii < faces.length; ii++)
      {
         details[ii] = new NLEDetectionDetails();
         details[ii].faceAvailable = true;
         details[ii].getFace().confidence = faces[ii].confidence;
         details[ii].getFace().getRotation().pitch = faces[ii].getRotation().pitch;
         details[ii].getFace().getRotation().roll = faces[ii].getRotation().roll;
         details[ii].getFace().getRotation().yaw = faces[ii].getRotation().yaw;

         details[ii].getFace().getRectangle().bottom = faces[ii].getRectangle().bottom;
         details[ii].getFace().getRectangle().left = faces[ii].getRectangle().left;
         details[ii].getFace().getRectangle().right = faces[ii].getRectangle().right;
         details[ii].getFace().getRectangle().top = faces[ii].getRectangle().top;
      }
   }
   return details;
}


private NLEDetectionDetails[] applyPrieviewTransformation(NLEDetectionDetails[] detectionDetails, Size getPreviewSize, Size getPreviewContentSize)
{
   if (detectionDetails != null)
   {
      for (NLEDetectionDetails details : detectionDetails)
      {            
         float horizontalRatio = (float) getPreviewContentSize.width / getPreviewSize.width;
         float verticalRatio = (float) getPreviewContentSize.height / getPreviewSize.height;
         Rect original = details.getFace().getRectangle();

         Matrix matrix = new Matrix();
         matrix.postScale(horizontalRatio, verticalRatio);
         matrix.postTranslate((mFaceView.getWidth() - getPreviewContentSize.width) / 2, (mFaceView.getHeight() - getPreviewContentSize.height) / 2);
         RectF result = new RectF(original);
         matrix.mapRect(result);

         // Front camera (detection from vertical camera stream)
         float[] mirrorY = {-1, 0, 0, 0, 1, 0, 0, 0, 1};
         Matrix matrixMirrorY = new Matrix();
         matrixMirrorY.setValues(mirrorY);
         matrixMirrorY.mapRect(result);
         result.offset(mFaceView.getWidth(), 0);

         result.round(details.getFace().getRectangle());
      }
   }
   return detectionDetails;
}


With above code, I got green rectangle also, but it is shown on right position (right where is the face on stream from camera, in center of it) only in area near the center of preview (display), when I try to move face in the corner of preview, green rectangle goes on opposite way (i.e. my face is in the top right corner of camera preview stream on my display, but the green rectangle goes on top left corner - where face is not)...

Maybe I make error in applyPrieviewTransformation() because of my display size is 480x800, and size of mFaceView (NLView class) is 800x480 (not 480x800). I try to set rotation
Code: Select all
mFaceView.setRotateFaceRectangle(true);
but without success (also with 'false' parameter).

When I set camera orientation without rotation, in above code with
Code: Select all
cCamera.setDisplayOrientation(0);
I got the good result (green rectangle follow face in the live camera stream good), but like You already know, in that case, live camera preview is rotated and very hard for using and deal with it...

So my question is, finally, what I'm doing wrong in my code, and what can I do to use Face recognition in situation when user hold phone vertically (portrait), my application have portrait orientation of display (who showing live preview from camera), and targeted man stand up in front of camera phone?

P.S. I noticed also that in my cases, parameters Size getPreviewSize and Size getPreviewContentSize which I send to applyPrieviewTransformation() function is always the same (i.e. both of them is 640x480).

Thanks in advance.
Best Regards.

Admin: merged to "Android related questions"
opmo
 
Posts: 8
Joined: Feb 02, 2013 17:20

Re: Android camera orientation VeriLook SDK

Postby vaidasz » Mar 21, 2013 10:15

opmo wrote:Hello,

again me... I integrate code from VL SDK Samples for Face recognition in my application without using Maven (off course with great help of this Forum and Technical support).

Now I have another problem. In my application I'm using the back camera from my Galaxy S2, and only PORTRAIT display orientation in my application (in Your samples it is Landscape :( ). When I use landscape orientation it all run OK. But the problem is when I want to use Portrait.

To use Portrait, I use this code in my OnCreate():
Code: Select all
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vl);   
      
// Set Application Font
fontB = Typeface.createFromAsset(getAssets(), "DotaMS.ttf");
      
// Go full screen
WindowManager.LayoutParams attrs = this.getWindow().getAttributes();
attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
attrs.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
this.getWindow().setAttributes(attrs);

// Change to fixed portrait mode
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

// Set Action bar
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getActionBar().setCustomView(R.layout.acbar_vl);


And in settings camera parameter, to get right proper orientation of video stream, I use:
Code: Select all
// Set Camera orientation
cCamera.setDisplayOrientation(90);


My code for processing camera video frame in real-time:
Code: Select all
private void processFrame(byte[] data, Camera.Size size)
{
   NImage image = null;
   NGrayscaleImage grayscale = null;
   try
   {
      mExtractor.setFaceRollAngleBase(-90);      // To get face detection when user stand in front of camera (phone and application orientation portrait)
      NLEFace[] faces = null;
         
      // First way to get GrayScale image
      image = ImageUtils.fromNV21(data, size.width, size.height);
      grayscale = image.toGrayscale();

      if (isUseMultiFaceMode)
      {
               faces = mExtractor.detectFaces(grayscale);
      }
      else
      {
         NLEFace face = mExtractor.detectFace(grayscale);
         if (face != null)
         {
            faces = new NLEFace[] {face};
         }
      }
         
      mFaceDetected = faces != null && faces.length > 0;
      mFaceView.setDetectionDetails(applyPrieviewTransformation(createDetectionDetails(faces), size, size));

      if (!mExtracting)
      {
         // Continue preview from camera stream
         mCameraView.requestPreviewFrame();
      }
   }
   finally
   {
      if (image != null)
      {
         image.dispose();
      }
      if (grayscale != null)
      {
         grayscale.dispose();
      }
   }          
}

private NLEDetectionDetails[] createDetectionDetails(NLEFace[] faces)
{
   NLEDetectionDetails[] details = null;
   if (faces != null && faces.length > 0)
   {
      details = new NLEDetectionDetails[faces.length];
      for (int ii = 0; ii < faces.length; ii++)
      {
         details[ii] = new NLEDetectionDetails();
         details[ii].faceAvailable = true;
         details[ii].getFace().confidence = faces[ii].confidence;
         details[ii].getFace().getRotation().pitch = faces[ii].getRotation().pitch;
         details[ii].getFace().getRotation().roll = faces[ii].getRotation().roll;
         details[ii].getFace().getRotation().yaw = faces[ii].getRotation().yaw;

         details[ii].getFace().getRectangle().bottom = faces[ii].getRectangle().bottom;
         details[ii].getFace().getRectangle().left = faces[ii].getRectangle().left;
         details[ii].getFace().getRectangle().right = faces[ii].getRectangle().right;
         details[ii].getFace().getRectangle().top = faces[ii].getRectangle().top;
      }
   }
   return details;
}


private NLEDetectionDetails[] applyPrieviewTransformation(NLEDetectionDetails[] detectionDetails, Size getPreviewSize, Size getPreviewContentSize)
{
   if (detectionDetails != null)
   {
      for (NLEDetectionDetails details : detectionDetails)
      {            
         float horizontalRatio = (float) getPreviewContentSize.width / getPreviewSize.width;
         float verticalRatio = (float) getPreviewContentSize.height / getPreviewSize.height;
         Rect original = details.getFace().getRectangle();

         Matrix matrix = new Matrix();
         matrix.postScale(horizontalRatio, verticalRatio);
         matrix.postTranslate((mFaceView.getWidth() - getPreviewContentSize.width) / 2, (mFaceView.getHeight() - getPreviewContentSize.height) / 2);
         RectF result = new RectF(original);
         matrix.mapRect(result);

         // Front camera (detection from vertical camera stream)
         float[] mirrorY = {-1, 0, 0, 0, 1, 0, 0, 0, 1};
         Matrix matrixMirrorY = new Matrix();
         matrixMirrorY.setValues(mirrorY);
         matrixMirrorY.mapRect(result);
         result.offset(mFaceView.getWidth(), 0);

         result.round(details.getFace().getRectangle());
      }
   }
   return detectionDetails;
}


With above code, I got green rectangle also, but it is shown on right position (right where is the face on stream from camera, in center of it) only in area near the center of preview (display), when I try to move face in the corner of preview, green rectangle goes on opposite way (i.e. my face is in the top right corner of camera preview stream on my display, but the green rectangle goes on top left corner - where face is not)...

Maybe I make error in applyPrieviewTransformation() because of my display size is 480x800, and size of mFaceView (NLView class) is 800x480 (not 480x800). I try to set rotation
Code: Select all
mFaceView.setRotateFaceRectangle(true);
but without success (also with 'false' parameter).

When I set camera orientation without rotation, in above code with
Code: Select all
cCamera.setDisplayOrientation(0);
I got the good result (green rectangle follow face in the live camera stream good), but like You already know, in that case, live camera preview is rotated and very hard for using and deal with it...

So my question is, finally, what I'm doing wrong in my code, and what can I do to use Face recognition in situation when user hold phone vertically (portrait), my application have portrait orientation of display (who showing live preview from camera), and targeted man stand up in front of camera phone?

P.S. I noticed also that in my cases, parameters Size getPreviewSize and Size getPreviewContentSize which I send to applyPrieviewTransformation() function is always the same (i.e. both of them is 640x480).

Thanks in advance.
Best Regards.


Hello,

Our developer is checking your reported issue. Once he will provide a solution I will send it to you (it should be in couple of days if no issues occurs).
Vaidas Z
Neurotechnology
vaidasz
Neurotechnology
 
Posts: 559
Joined: Apr 30, 2010 06:57
Location: Vilnius, Lithuania

Re: Android camera orientation VeriLook SDK

Postby opmo » Mar 21, 2013 18:14

Great news. Thank You in advance, I'll really needed that.

Best Regards.
opmo
 
Posts: 8
Joined: Feb 02, 2013 17:20

Re: Android related questions

Postby rodrigo » Mar 22, 2013 13:58

Does someone knows the solution for this maven problem?
Code: Select all
[ERROR] Failed to execute goal on project multibiometric-sample-android: Could not resolve dependencies for project com.neurotec.samples:multibiometric-sample-android:apk:1.2.0.0: The following artifacts could not be resolved: com.neurotec.samples:utils-android:apklib:1.2.0.0, com.neurotec:neurotec-media-android:jar:4.1.0.0, com.neurotec:neurotec-media-processing-android:jar:4.4.0.0, com.neurotec:neurotec-biometrics-android:jar:4.4.0.0, com.neurotec:neurotec-smartcards-android:jar:4.4.0.0, com.neurotec:neurotec-devices-android:jar:4.1.0.0, com.neurotec:neurotec-biometrics-gui-android:jar:4.4.0.0, com.neurotec:neurotec-biometrics-standards-android:jar:4.4.0.0, com.neurotec:libNMedia:so:armeabi:4.1.0.0, com.neurotec:libNMedia:so:armeabi-v7a:4.1.0.0, com.neurotec:libNMediaProc:so:armeabi:4.4.0.0, com.neurotec:libNMediaProc:so:armeabi-v7a:4.4.0.0, com.neurotec:libNBiometrics:so:armeabi:4.4.0.0, com.neurotec:libNBiometrics:so:armeabi-v7a:4.4.0.0, com.neurotec:libNSmartCards:so:armeabi-v7a:4.4.0.0, com.neurotec:libNSmartCards:so:armeabi:4.4.0.0, com.neurotec:libNBiometricStandards:so:armeabi-v7a:4.4.0.0, com.neurotec:libNBiometricStandards:so:armeabi:4.4.0.0, com.neurotec:libNDevices:so:armeabi:4.1.0.0, com.neurotec:libNDevices:so:armeabi-v7a:4.1.0.0, com.authentec:ptapi:jar:1.0.0.0, com.authentec:libjniPtapi:so:armeabi:1.0.0.0, com.authentec:libjniPtapi:so:armeabi-v7a:1.0.0.0, com.futronic:libftrScanAPI:so:armeabi:1.0.0.0, com.futronic:libftrScanAPI:so:armeabi-v7a:1.0.0.0, com.futronic:libusb-1.0:so:armeabi:1.0.0.0, com.futronic:libusb-1.0:so:armeabi-v7a:1.0.0.0, com.futronic:libNdmFutronic:so:armeabi:1.0.0.0, com.futronic:libNdmFutronic:so:armeabi-v7a:1.0.0.0, com.futronic:libftrScanApiAndroidJni:so:armeabi:1.0.0.0, com.futronic:libftrScanApiAndroidJni:so:armeabi-v7a:1.0.0.0: Failure to find com.neurotec.samples:utils-android:apklib:1.2.0.0 in https://repository.jboss.org/nexus/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of jboss-public-repository-group has elapsed or updates are forced -> [Help 1]
Last edited by Sergey on Mar 25, 2013 13:40, edited 1 time in total.
Reason: Wrapped the log into code tags
rodrigo
 
Posts: 51
Joined: Aug 14, 2012 16:51

Re: Android related questions

Postby rodrigo » Mar 22, 2013 14:16

I changed my settings my still same error:
Code: Select all
Failed to execute goal on project multibiometric-sample-android: Could not resolve dependencies for project com.neurotec.samples:multibiometric-sample-android:apk:1.2.0.0: The following artifacts could not be resolved: com.neurotec.samples:utils-android:apklib:1.2.0.0, com.neurotec:neurotec-media-android:jar:4.1.0.0, com.neurotec:neurotec-media-processing-android:jar:4.4.0.0, com.neurotec:neurotec-biometrics-android:jar:4.4.0.0, com.neurotec:neurotec-smartcards-android:jar:4.4.0.0, com.neurotec:neurotec-devices-android:jar:4.1.0.0, com.neurotec:neurotec-biometrics-gui-android:jar:4.4.0.0, com.neurotec:neurotec-biometrics-standards-android:jar:4.4.0.0, com.neurotec:libNMedia:so:armeabi:4.1.0.0, com.neurotec:libNMedia:so:armeabi-v7a:4.1.0.0, com.neurotec:libNMediaProc:so:armeabi:4.4.0.0, com.neurotec:libNMediaProc:so:armeabi-v7a:4.4.0.0, com.neurotec:libNBiometrics:so:armeabi:4.4.0.0, com.neurotec:libNBiometrics:so:armeabi-v7a:4.4.0.0, com.neurotec:libNSmartCards:so:armeabi-v7a:4.4.0.0, com.neurotec:libNSmartCards:so:armeabi:4.4.0.0, com.neurotec:libNBiometricStandards:so:armeabi-v7a:4.4.0.0, com.neurotec:libNBiometricStandards:so:armeabi:4.4.0.0, com.neurotec:libNDevices:so:armeabi:4.1.0.0, com.neurotec:libNDevices:so:armeabi-v7a:4.1.0.0, com.authentec:ptapi:jar:1.0.0.0, com.authentec:libjniPtapi:so:armeabi:1.0.0.0, com.authentec:libjniPtapi:so:armeabi-v7a:1.0.0.0, com.futronic:libftrScanAPI:so:armeabi:1.0.0.0, com.futronic:libftrScanAPI:so:armeabi-v7a:1.0.0.0, com.futronic:libusb-1.0:so:armeabi:1.0.0.0, com.futronic:libusb-1.0:so:armeabi-v7a:1.0.0.0, com.futronic:libNdmFutronic:so:armeabi:1.0.0.0, com.futronic:libNdmFutronic:so:armeabi-v7a:1.0.0.0, com.futronic:libftrScanApiAndroidJni:so:armeabi:1.0.0.0, com.futronic:libftrScanApiAndroidJni:so:armeabi-v7a:1.0.0.0: Failure to find com.neurotec.samples:utils-android:apklib:1.2.0.0 in http://acra.googlecode.com/svn/repository/releases was cached in the local repository, resolution will not be reattempted until the update interval of acra-releases has elapsed or updates are forced
Last edited by Sergey on Mar 25, 2013 13:40, edited 1 time in total.
Reason: Wrapped the log into code tags
rodrigo
 
Posts: 51
Joined: Aug 14, 2012 16:51

Re: Android related questions

Postby rodrigo » Mar 22, 2013 18:07

my question is already solved. I execute mvn install to other pom at sample folder.
rodrigo
 
Posts: 51
Joined: Aug 14, 2012 16:51

Re: Android related questions

Postby rodrigo » Mar 22, 2013 18:17

In multibiometric-sample there is a readme file with wrong instructions. Is there any other file explain how to use this sample?
rodrigo
 
Posts: 51
Joined: Aug 14, 2012 16:51

Re: Android related questions

Postby rodrigo » Mar 22, 2013 20:39

Now i got successful configuring everything. My question now is if its possible to use an android application finding person at my NServer.
rodrigo
 
Posts: 51
Joined: Aug 14, 2012 16:51

Re: Android related questions

Postby Martynas » Mar 25, 2013 08:15

rodrigo wrote:Now i got successful configuring everything. My question now is if its possible to use an android application finding person at my NServer.

Hello Rodrigo,

at the moment the Android samples does not have a functionality to use the NServer directly.
You need to develop the middleware, which will be accepting templates form the Android application and will be adding the matching task to NServer. After matching this middleware should send the results to Android device.
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Re: Android camera orientation VeriLook SDK

Postby vaidasz » Mar 25, 2013 14:37

opmo wrote:Hello,

again me... I integrate code from VL SDK Samples for Face recognition in my application without using Maven (off course with great help of this Forum and Technical support).

Now I have another problem. In my application I'm using the back camera from my Galaxy S2, and only PORTRAIT display orientation in my application (in Your samples it is Landscape :( ). When I use landscape orientation it all run OK. But the problem is when I want to use Portrait.

To use Portrait, I use this code in my OnCreate():
Code: Select all
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_vl);   
      
// Set Application Font
fontB = Typeface.createFromAsset(getAssets(), "DotaMS.ttf");
      
// Go full screen
WindowManager.LayoutParams attrs = this.getWindow().getAttributes();
attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
attrs.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
this.getWindow().setAttributes(attrs);

// Change to fixed portrait mode
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

// Set Action bar
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getActionBar().setCustomView(R.layout.acbar_vl);


And in settings camera parameter, to get right proper orientation of video stream, I use:
Code: Select all
// Set Camera orientation
cCamera.setDisplayOrientation(90);


My code for processing camera video frame in real-time:
Code: Select all
private void processFrame(byte[] data, Camera.Size size)
{
   NImage image = null;
   NGrayscaleImage grayscale = null;
   try
   {
      mExtractor.setFaceRollAngleBase(-90);      // To get face detection when user stand in front of camera (phone and application orientation portrait)
      NLEFace[] faces = null;
         
      // First way to get GrayScale image
      image = ImageUtils.fromNV21(data, size.width, size.height);
      grayscale = image.toGrayscale();

      if (isUseMultiFaceMode)
      {
               faces = mExtractor.detectFaces(grayscale);
      }
      else
      {
         NLEFace face = mExtractor.detectFace(grayscale);
         if (face != null)
         {
            faces = new NLEFace[] {face};
         }
      }
         
      mFaceDetected = faces != null && faces.length > 0;
      mFaceView.setDetectionDetails(applyPrieviewTransformation(createDetectionDetails(faces), size, size));

      if (!mExtracting)
      {
         // Continue preview from camera stream
         mCameraView.requestPreviewFrame();
      }
   }
   finally
   {
      if (image != null)
      {
         image.dispose();
      }
      if (grayscale != null)
      {
         grayscale.dispose();
      }
   }          
}

private NLEDetectionDetails[] createDetectionDetails(NLEFace[] faces)
{
   NLEDetectionDetails[] details = null;
   if (faces != null && faces.length > 0)
   {
      details = new NLEDetectionDetails[faces.length];
      for (int ii = 0; ii < faces.length; ii++)
      {
         details[ii] = new NLEDetectionDetails();
         details[ii].faceAvailable = true;
         details[ii].getFace().confidence = faces[ii].confidence;
         details[ii].getFace().getRotation().pitch = faces[ii].getRotation().pitch;
         details[ii].getFace().getRotation().roll = faces[ii].getRotation().roll;
         details[ii].getFace().getRotation().yaw = faces[ii].getRotation().yaw;

         details[ii].getFace().getRectangle().bottom = faces[ii].getRectangle().bottom;
         details[ii].getFace().getRectangle().left = faces[ii].getRectangle().left;
         details[ii].getFace().getRectangle().right = faces[ii].getRectangle().right;
         details[ii].getFace().getRectangle().top = faces[ii].getRectangle().top;
      }
   }
   return details;
}


private NLEDetectionDetails[] applyPrieviewTransformation(NLEDetectionDetails[] detectionDetails, Size getPreviewSize, Size getPreviewContentSize)
{
   if (detectionDetails != null)
   {
      for (NLEDetectionDetails details : detectionDetails)
      {            
         float horizontalRatio = (float) getPreviewContentSize.width / getPreviewSize.width;
         float verticalRatio = (float) getPreviewContentSize.height / getPreviewSize.height;
         Rect original = details.getFace().getRectangle();

         Matrix matrix = new Matrix();
         matrix.postScale(horizontalRatio, verticalRatio);
         matrix.postTranslate((mFaceView.getWidth() - getPreviewContentSize.width) / 2, (mFaceView.getHeight() - getPreviewContentSize.height) / 2);
         RectF result = new RectF(original);
         matrix.mapRect(result);

         // Front camera (detection from vertical camera stream)
         float[] mirrorY = {-1, 0, 0, 0, 1, 0, 0, 0, 1};
         Matrix matrixMirrorY = new Matrix();
         matrixMirrorY.setValues(mirrorY);
         matrixMirrorY.mapRect(result);
         result.offset(mFaceView.getWidth(), 0);

         result.round(details.getFace().getRectangle());
      }
   }
   return detectionDetails;
}


With above code, I got green rectangle also, but it is shown on right position (right where is the face on stream from camera, in center of it) only in area near the center of preview (display), when I try to move face in the corner of preview, green rectangle goes on opposite way (i.e. my face is in the top right corner of camera preview stream on my display, but the green rectangle goes on top left corner - where face is not)...

Maybe I make error in applyPrieviewTransformation() because of my display size is 480x800, and size of mFaceView (NLView class) is 800x480 (not 480x800). I try to set rotation
Code: Select all
mFaceView.setRotateFaceRectangle(true);
but without success (also with 'false' parameter).

When I set camera orientation without rotation, in above code with
Code: Select all
cCamera.setDisplayOrientation(0);
I got the good result (green rectangle follow face in the live camera stream good), but like You already know, in that case, live camera preview is rotated and very hard for using and deal with it...

So my question is, finally, what I'm doing wrong in my code, and what can I do to use Face recognition in situation when user hold phone vertically (portrait), my application have portrait orientation of display (who showing live preview from camera), and targeted man stand up in front of camera phone?

P.S. I noticed also that in my cases, parameters Size getPreviewSize and Size getPreviewContentSize which I send to applyPrieviewTransformation() function is always the same (i.e. both of them is 640x480).

Thanks in advance.
Best Regards.


Hello,

The description of Camera.setDisplayOrientation(int) method (http://developer.android.com/reference/ ... tation(int)) states:
"This does not affect the order of byte array passed in onPreviewFrame(byte[], Camera), JPEG pictures, or recorded videos."
That means, that nevertheless display and camera orientations are set to Portrait mode, the raw data passed in onPreviewFrame(byte[], Camera) will be ordered in landscape mode.
Thus, you will need to apply transformations on detection details.
Currently we are working on a generic solution, which could be applied on any type of orientation.
As a quick fix you can apply the following transformation method:
Code: Select all
        private NLEDetectionDetails[] applyPortraitPrieviewTransformation(NLEDetectionDetails[] detectionDetails, Size previewSize, Size previewContentSize) {
                final int PORTRAIT_ROTATION = 90;
                if (detectionDetails != null) {
                        for (NLEDetectionDetails details : detectionDetails) {
                                float horizontalRatio = (float) previewContentSize.width / previewSize.width;
                                float verticalRatio = (float) previewContentSize.height / previewSize.height;
                                Rect original = details.getFace().getRectangle();
                                Matrix matrix = new Matrix();
                                matrix.postScale(horizontalRatio, verticalRatio);
                                matrix.postTranslate((mFaceView.getWidth() - previewContentSize.width) / 2, (mFaceView.getHeight() - previewContentSize.height) / 2);
                                RectF result = new RectF(original);
                                CameraResolution resolution = CameraManager.getInstance().getCameraResolution();
                                Matrix cameraRotation = new Matrix();
                                cameraRotation.preRotate(PORTRAIT_ROTATION, resolution.getWidth() / 2, resolution.getHeight() / 2);
                                cameraRotation.postTranslate((resolution.getHeight() - resolution.getWidth()) / 2, (resolution.getWidth() - resolution.getHeight()) / 2);
                                cameraRotation.postScale((float) resolution.getWidth() / resolution.getHeight(), (float) resolution.getHeight() / resolution.getWidth());
                                cameraRotation.mapRect(result);
                                matrix.mapRect(result);
                                if (CameraManager.getInstance().getCameraFacing() == CameraFacing.FRONT) {
                                        float[] mirrorY = { -1, 0, 0, 0, 1, 0, 0, 0, 1 };
                                        Matrix matrixMirrorY = new Matrix();
                                        matrixMirrorY.setValues(mirrorY);
                                        matrixMirrorY.mapRect(result);
                                        result.offset(mFaceView.getWidth(), 0);
                                        details.getFace().getRotation().roll = (short) ((360 - details.getFace().getRotation().roll));
                                }
                                details.getFace().getRotation().roll = (short) ((details.getFace().getRotation().roll + PORTRAIT_ROTATION) % 360);
                                result.round(details.getFace().getRectangle());
                        }
                }
                return detectionDetails;
        }
Vaidas Z
Neurotechnology
vaidasz
Neurotechnology
 
Posts: 559
Joined: Apr 30, 2010 06:57
Location: Vilnius, Lithuania

Re: Android related questions

Postby rodrigo » Mar 25, 2013 14:58

Hello Martynas,
how works about license? If i just want to get a fingerprint using an android application and send to my server where i use NServer, do i need to have one embedded sdk for each android device only to get a fingerprint even if i dont use matcher?
rodrigo
 
Posts: 51
Joined: Aug 14, 2012 16:51

Re: Android related questions

Postby Martynas » Mar 25, 2013 15:01

rodrigo wrote:Hello Martynas,
how works about license? If i just want to get a fingerprint using an android application and send to my server where i use NServer, do i need to have one embedded sdk for each android device only to get a fingerprint even if i dont use matcher?

Hello,

you need to purchase the Embedded SDK, to be able to develop your application. If your application will be doing the fingerprint capturing and template extraction, then you will need to use separate Finger Extractor license on each of devices where your application will be running.
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Re: Android camera orientation VeriLook SDK

Postby opmo » Mar 25, 2013 21:02

Thank You again Vaidasz, but when I do like You said, I got some difference between face on the image and green rectangle (when the face is in corners of the image).

In my Activity HDPI XML file I set size for Camera view control
Code: Select all
android:layout_width="320dp"
android:layout_height="427dp"


My returned values:
previewSize=640x480
previewContentSize=640x480
resolution = 641x480 --- because of XML values (x 1.5)

Do I need to change resolution width or something else?

Best Regards.
opmo
 
Posts: 8
Joined: Feb 02, 2013 17:20

Re: Android camera orientation VeriLook SDK

Postby vaidasz » Mar 26, 2013 13:34

opmo wrote:Thank You again Vaidasz, but when I do like You said, I got some difference between face on the image and green rectangle (when the face is in corners of the image).

In my Activity HDPI XML file I set size for Camera view control
Code: Select all
android:layout_width="320dp"
android:layout_height="427dp"


My returned values:
previewSize=640x480
previewContentSize=640x480
resolution = 641x480 --- because of XML values (x 1.5)

Do I need to change resolution width or something else?

Best Regards.


Hello,

Could you please post your SurfaceView.onMeasure(int, int) method snippet and a bigger part of layout xml file?
Vaidas Z
Neurotechnology
vaidasz
Neurotechnology
 
Posts: 559
Joined: Apr 30, 2010 06:57
Location: Vilnius, Lithuania

Re: Android camera orientation VeriLook SDK

Postby opmo » Mar 26, 2013 23:09

My whole layout xml file:
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/frame_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <com.opmo.frtest.CameraView
        android:id="@+id/camera_view"
        android:layout_width="320dp"
        android:layout_height="427dp" />

    <com.neurotec.widget.NLView
        android:id="@+id/face_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/transparent" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="bottom|center|right"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/text_view_status"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textIsSelectable="false" />

        <Button
            android:id="@+id/button_extract"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/msg_extract" />
    </LinearLayout>

</FrameLayout>


And I don't have overridden SurfaceView.onMeasure(int, int) method in my class/project.

Also, I success to make camera landscape (cCamera.setDisplayOrientation(0)), and all other things portrait (mExtractor.setFaceRollAngleBase(-90), toasts, meny bar, buttons, etc.) - activity landscape but rotated all things, and I got the right detection rectangle in all positions. I didn't tested extracted face template, but I thing that it will be fine also. But I don't want to make this "tweak" in my application (users think that application is portrait and everything likes that, but the real application is landscape). I want real solution for all orientation, like You already said.

Thanks in advance.

Best Regards.
opmo
 
Posts: 8
Joined: Feb 02, 2013 17:20

Re: Android camera orientation VeriLook SDK

Postby vaidasz » Mar 28, 2013 15:55

opmo wrote:My whole layout xml file:
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/frame_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <com.opmo.frtest.CameraView
        android:id="@+id/camera_view"
        android:layout_width="320dp"
        android:layout_height="427dp" />

    <com.neurotec.widget.NLView
        android:id="@+id/face_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/transparent" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="bottom|center|right"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/text_view_status"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textIsSelectable="false" />

        <Button
            android:id="@+id/button_extract"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/msg_extract" />
    </LinearLayout>

</FrameLayout>


And I don't have overridden SurfaceView.onMeasure(int, int) method in my class/project.

Also, I success to make camera landscape (cCamera.setDisplayOrientation(0)), and all other things portrait (mExtractor.setFaceRollAngleBase(-90), toasts, meny bar, buttons, etc.) - activity landscape but rotated all things, and I got the right detection rectangle in all positions. I didn't tested extracted face template, but I thing that it will be fine also. But I don't want to make this "tweak" in my application (users think that application is portrait and everything likes that, but the real application is landscape). I want real solution for all orientation, like You already said.

Thanks in advance.

Best Regards.


Hello,

There are two things you should do in your application for a green rectangle to be shown correctly.

1) First of all seems you are passing wrong previewContentSize parameter in:
applyPortraitPrieviewTransformation(NLEDetectionDetails[] detectionDetails, Size previewSize, Size previewContentSize);

a little bit of explanation:

previewSize - is size of frame returned by camera (basically it's resolution).
even if you use Camera.setDisplayOrientation and rotate by 90 degrees it doesn't change frame that is returned in onPreviewFrame, so
width and height of frame returned in onPreviewFrame(byte[] data, Camera camera) in your case is:
width: 640
height: 480

previewContentSize - is size of preview shown in activity (size that you set in your layout or in SurfaceView.onMeasure(int, int)).
In your case you set:
Code: Select all
android:layout_width="320dp"
android:layout_height="427dp"


considering it's HDPI and by applying 1.5 it's:
width = 480
height = 641

In your application instead of passing previewContentSize you pass previewSize (3rd parameter).
Code: Select all
mFaceView.setDetectionDetails(applyPrieviewTransformation(createDetectionDetails(faces), size, size));


you are passing image size returned by camera that is not rotated (in your case: 640x480) instead of passing container size that is rotated and is showing frames (in your case: 480x641).
So detection details aren't transformed from frame returned from camera to frame shown to you.

2) Secondly NLView is a layer showing detection details and it's layout should match surfaceView (CameraView).
So please apply same layout parameters as in CameraView.
in your case add
Code: Select all
android:layout_width="320dp"
android:layout_height="427dp"


instead of
Code: Select all
android:layout_width="wrap_content"
android:layout_height="wrap_content"
Vaidas Z
Neurotechnology
vaidasz
Neurotechnology
 
Posts: 559
Joined: Apr 30, 2010 06:57
Location: Vilnius, Lithuania

Re: Android camera orientation VeriLook SDK

Postby opmo » Mar 28, 2013 21:05

Hello,

First of all, thank You very much again.

I set all values hard-coded for the moment in my code just to try:
Code: Select all
private NLEDetectionDetails[] applyPortraitPrieviewTransformation(NLEDetectionDetails[] detectionDetails, Size previewSize)
{
        final int PORTRAIT_ROTATION = 90;
        if (detectionDetails != null)
        {
           for (NLEDetectionDetails details : detectionDetails)
           {
              final int PCwidth = 480;
              final int PCheight = 641;
              float horizontalRatio = (float) PCwidth / previewSize.width;
              float verticalRatio = (float) PCheight / previewSize.height;
              Rect original = details.getFace().getRectangle();
              Matrix matrix = new Matrix();
              matrix.postScale(horizontalRatio, verticalRatio);
              matrix.postTranslate((mFaceView.getWidth() - PCwidth) / 2, (mFaceView.getHeight() - PCheight) / 2);
              RectF result = new RectF(original);
              
              final int width = 640;
              final int height = 480;

              Matrix cameraRotation = new Matrix();
              cameraRotation.preRotate(PORTRAIT_ROTATION, width / 2, height / 2);
              cameraRotation.postTranslate((height - width) / 2, (width - height) / 2);
              cameraRotation.postScale((float) width / height, (float) height / width);
              cameraRotation.mapRect(result);
              matrix.mapRect(result);              
               
              details.getFace().getRotation().roll = (short) ((details.getFace().getRotation().roll + PORTRAIT_ROTATION) % 360);
              result.round(details.getFace().getRectangle());
           }
        }
       
        return detectionDetails;
}


and now it seems that green rectangle have right dimensions, but it is bad positioned again on the top or bottom of the screen (now it is smaller distance between real face and green rect position - little above the real face). I can put the pictures of my screen if You need it.

For the NLView thanks for suggestion, I forgot to change it because I didn't finish successfully detection step, but now, I changed it like You suggest.

I try to avoid using of Your sample Camera classes but maybe I need to use it ...

Thanks in advance,
Best Regards.
opmo
 
Posts: 8
Joined: Feb 02, 2013 17:20

Re: Android camera orientation VeriLook SDK

Postby vaidasz » Apr 04, 2013 12:45

opmo wrote:Hello,

First of all, thank You very much again.

I set all values hard-coded for the moment in my code just to try:
Code: Select all
private NLEDetectionDetails[] applyPortraitPrieviewTransformation(NLEDetectionDetails[] detectionDetails, Size previewSize)
{
        final int PORTRAIT_ROTATION = 90;
        if (detectionDetails != null)
        {
           for (NLEDetectionDetails details : detectionDetails)
           {
              final int PCwidth = 480;
              final int PCheight = 641;
              float horizontalRatio = (float) PCwidth / previewSize.width;
              float verticalRatio = (float) PCheight / previewSize.height;
              Rect original = details.getFace().getRectangle();
              Matrix matrix = new Matrix();
              matrix.postScale(horizontalRatio, verticalRatio);
              matrix.postTranslate((mFaceView.getWidth() - PCwidth) / 2, (mFaceView.getHeight() - PCheight) / 2);
              RectF result = new RectF(original);
              
              final int width = 640;
              final int height = 480;

              Matrix cameraRotation = new Matrix();
              cameraRotation.preRotate(PORTRAIT_ROTATION, width / 2, height / 2);
              cameraRotation.postTranslate((height - width) / 2, (width - height) / 2);
              cameraRotation.postScale((float) width / height, (float) height / width);
              cameraRotation.mapRect(result);
              matrix.mapRect(result);              
               
              details.getFace().getRotation().roll = (short) ((details.getFace().getRotation().roll + PORTRAIT_ROTATION) % 360);
              result.round(details.getFace().getRectangle());
           }
        }
       
        return detectionDetails;
}


and now it seems that green rectangle have right dimensions, but it is bad positioned again on the top or bottom of the screen (now it is smaller distance between real face and green rect position - little above the real face). I can put the pictures of my screen if You need it.

For the NLView thanks for suggestion, I forgot to change it because I didn't finish successfully detection step, but now, I changed it like You suggest.

I try to avoid using of Your sample Camera classes but maybe I need to use it ...

Thanks in advance,
Best Regards.


Hello,

I have replied by e-mail.
Vaidas Z
Neurotechnology
vaidasz
Neurotechnology
 
Posts: 559
Joined: Apr 30, 2010 06:57
Location: Vilnius, Lithuania

Re: Android related questions

Postby heady » Apr 07, 2013 20:52

Hello there,

I'm trying to load a Fingerprint from an Android phone. The Problem is that in the sample-project (I'm using MegaMatcher_Embedded_1_2_SDK_Trial_for_Android_2013-03-06) everything is working fine. The scanner (eikon solo) is recognized and fingerprints can be recorded. But as I tried to use the "tutorial" - EnrollFingerFromScanner - the scanner is not recognized. The problem is that the tutorial only uses the NDeviceManager, while the sample uses a DeviceManager, who does not only use the NDeviceManager, but also other Soruces.
My question is: How can I use the same functionality as the sample (meaning scanning a finger from a scanner)?

PS: This brings me to a second question: I'am debugging wireless with a smartphone and usually the app is loaded within 2 seconds. But as soon as I added the needed libraries of the MegaMatcher, the app needs between 30 up to 60 seconds for the app to deploy. Is there anything I can do to avoid such long waiting times?

Thx for any help and best regards,
Daniel
heady
 
Posts: 1
Joined: Mar 26, 2013 23:31

Re: Android related questions

Postby Martynas » Apr 08, 2013 12:12

Hello,

heady wrote:I'm trying to load a Fingerprint from an Android phone. The Problem is that in the sample-project (I'm using MegaMatcher_Embedded_1_2_SDK_Trial_for_Android_2013-03-06) everything is working fine. The scanner (eikon solo) is recognized and fingerprints can be recorded. But as I tried to use the "tutorial" - EnrollFingerFromScanner - the scanner is not recognized. The problem is that the tutorial only uses the NDeviceManager, while the sample uses a DeviceManager, who does not only use the NDeviceManager, but also other Soruces.
My question is: How can I use the same functionality as the sample (meaning scanning a finger from a scanner)?


Use the sample to see how the scanner usage is implemented. EnrollFingerFromScanner tutorial is showing how to use NDeviceManager, but fingerprint scanners usage on Android is implemented separately and they are not a part of the NDeviceManager.

heady wrote:PS: This brings me to a second question: I'am debugging wireless with a smartphone and usually the app is loaded within 2 seconds. But as soon as I added the needed libraries of the MegaMatcher, the app needs between 30 up to 60 seconds for the app to deploy. Is there anything I can do to avoid such long waiting times?


MegaMatcher libraries uses approx ~20 MB. So it takes some time to deploy them on the device.
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Automatic permission to usb

Postby pedrocp » Apr 26, 2013 00:26

Hi.
I'm running the SDK samples for fingerprint reading on Android 4.1.1 using an Upek scanner.
The scanner is working well. But every time I disconnect the scanner or reboot my Android device I have to chmod the usb port on a terminal. I need to write this application to be unattended, so i tried different ways to do an automatic/permanent chmod with no luck.
Is it possible to do a chmod automatically ?

Thanks in advance.
pedrocp
 
Posts: 3
Joined: Apr 25, 2013 23:14

Re: Automatic permission to usb

Postby vaidasz » Apr 26, 2013 12:03

pedrocp wrote:Hi.
I'm running the SDK samples for fingerprint reading on Android 4.1.1 using an Upek scanner.
The scanner is working well. But every time I disconnect the scanner or reboot my Android device I have to chmod the usb port on a terminal. I need to write this application to be unattended, so i tried different ways to do an automatic/permanent chmod with no luck.
Is it possible to do a chmod automatically ?

Thanks in advance.


Hello,

We have tried several options to implement automatic chmod but it was unsuccessful. So at the time we do not have solution for automatic chmod.
Vaidas Z
Neurotechnology
vaidasz
Neurotechnology
 
Posts: 559
Joined: Apr 30, 2010 06:57
Location: Vilnius, Lithuania

Sentisight Embedded sdk sample installing problem [Android]

Postby boosst_darren » Jun 07, 2013 06:53

when i installing the SentiSight_Embedded_1_0_SDK_Trial_for_Android samples this error happen, does anyone know how to fix this problem??
Here is the log;
Code: Select all
[INFO] ------------------------------------------------------------------------
[INFO] Building utils 1.2.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ utils-android ---
[INFO] Deleting C:\androidkit\SentiSight_Embedded_1_0_SDK_Trial_for_Android\Samples\Common\Android\utils\target
[INFO]
[INFO] --- android-maven-plugin:3.5.0:generate-sources (default-generate-sources) @ utils-android ---
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] Manifest merging disabled. Using project manifest only
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] sentisight-embedded-component-installer ........... SUCCESS [0.661s]
[INFO] utils ............................................. FAILURE [0.644s]
[INFO] Neurotec samples .................................. SKIPPED
[INFO] licensing-manager ................................. SKIPPED
[INFO] sentisight-samples-android ........................ SKIPPED
[INFO] sentisight-database ............................... SKIPPED
[INFO] sentisight-sample ................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.900s
[INFO] Finished at: Fri Jun 07 14:50:08 CST 2013
[INFO] Final Memory: 15M/215M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.5.0:generate-sources (default-generate-sources) on project utils-android: Execution default-generate-sources of goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.5.0:generate-sources failed: Could not find tool 'aapt'. Please provide a proper Android SDK directory path as configuration parameter <sdk><path>...</path></sdk> in the plugin <configuration/>. As an alternative, you may add the parameter to commandline: -Dandroid.sdk.path=... or set environment variable ANDROID_HOME. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :utils-android


Admin: merged to "Android related questions"
boosst_darren
 
Posts: 1
Joined: Jun 07, 2013 04:20

Re: Sentisight Embedded sdk sample installing problem

Postby Vytautas » Jun 07, 2013 12:40

boosst_darren wrote:when i installing the SentiSight_Embedded_1_0_SDK_Trial_for_Android samples this error happen, does anyone know how to fix this problem??
Here is the log;
Code: Select all
[INFO] ------------------------------------------------------------------------
[INFO] Building utils 1.2.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ utils-android ---
[INFO] Deleting C:\androidkit\SentiSight_Embedded_1_0_SDK_Trial_for_Android\Samples\Common\Android\utils\target
[INFO]
[INFO] --- android-maven-plugin:3.5.0:generate-sources (default-generate-sources) @ utils-android ---
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] ANDROID-904-002: Found aidl files: Count = 0
[INFO] Manifest merging disabled. Using project manifest only
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] sentisight-embedded-component-installer ........... SUCCESS [0.661s]
[INFO] utils ............................................. FAILURE [0.644s]
[INFO] Neurotec samples .................................. SKIPPED
[INFO] licensing-manager ................................. SKIPPED
[INFO] sentisight-samples-android ........................ SKIPPED
[INFO] sentisight-database ............................... SKIPPED
[INFO] sentisight-sample ................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.900s
[INFO] Finished at: Fri Jun 07 14:50:08 CST 2013
[INFO] Final Memory: 15M/215M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.5.0:generate-sources (default-generate-sources) on project utils-android: Execution default-generate-sources of goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.5.0:generate-sources failed: Could not find tool 'aapt'. Please provide a proper Android SDK directory path as configuration parameter <sdk><path>...</path></sdk> in the plugin <configuration/>. As an alternative, you may add the parameter to commandline: -Dandroid.sdk.path=... or set environment variable ANDROID_HOME. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :utils-android

Have you set Environment variables for ANDROID_HOME?
Advanced system settings -> Advanced -> Environment variables

These environment variables should be added to the system:
• ANDROID_HOME - should be set to point Android SDK home directory (e.g C:\Program Files\Android\android-sdk)
• ANDROID_SDK_HOME - e.g. (C:\Program Files\Android\)
• JAVA_HOME - should be set to point JDK home directory (e.g C:\Program Files\Java\jdk1.6.0_20)
• M2_HOME - should be set to point Maven home directory (e.g C:\Program Files\Maven_3.0)
• Also add %ANDROID_HOME%/tools;%ANDROID_HOME%/platform-tools;%JAVA_HOME%/bin;%M2_HOME%/bin to PATH environment variable where bin is home directory.
Vytautas P
Neurotechnology
Vytautas
Neurotechnology
 
Posts: 25
Joined: Apr 23, 2013 13:04

Re: Android related questions

Postby MrArun » Aug 17, 2013 09:37

I am facing with license were not obtained problem in android . How can i solve this problem. Please suggest me as soon as possible.
MrArun
 
Posts: 2
Joined: Aug 05, 2013 09:11

Re: Android related questions

Postby Martynas » Aug 19, 2013 06:14

MrArun wrote:I am facing with license were not obtained problem in android . How can i solve this problem. Please suggest me as soon as possible.

Hello,

do you use the trial version or the full version of the SDK? Which exact licenses were activated on this device, if you are using the full version?
Please provide as many details as it is possible to support@neurotechnology.com.
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

trying to run the samples

Postby jorgevaron » Aug 28, 2013 20:13

Hi,

I have downloaded the 30 day trail MegaMatcher_Embedded_1_2_SDK_Trial_for_Android_2013-06-17 i am trying to run the samples.
i am using the Eclipse dedicated for Android with Eclipse platform Version: 4.2.1.v20130118, Android Development Toolkit Version: 22.0.1.v201305230001--685705 and Maven Embedded (3.0.4/1.4.0. ) on Windows Xp.

And i am receiving the following errors:

Code: Select all
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] biometrics-samples-android
[INFO] multibiometric-sample
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building biometrics-samples-android 1.2.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- android-maven-plugin:3.6.0:run (default-cli) @ biometrics-samples-android ---
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] biometrics-samples-android ........................ FAILURE [0.313s]
[INFO] multibiometric-sample ............................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.766s
[INFO] Finished at: Wed Aug 28 14:46:21 COT 2013
[INFO] Final Memory: 11M/28M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.6.0:run (default-cli) on project biometrics-samples-android: Unable to run launcher Activity: C:\ANDROID\NEUROTECNOLOGY_EMBEDDED\MegaMatcher_Embedded_1_2_SDK_Trial_for_Android\Samples\Biometrics\Android\AndroidManifest.xml (El sistema no puede hallar el archivo especificado) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException


Thx for any help ,

jorgevaron.
jorgevaron
 
Posts: 26
Joined: Dec 14, 2011 19:05

Re: Android related questions

Postby Martynas » Aug 29, 2013 11:53

jorgevaron wrote:Hi,

I have downloaded the 30 day trail MegaMatcher_Embedded_1_2_SDK_Trial_for_Android_2013-06-17 i am trying to run the samples.
i am using the Eclipse dedicated for Android with Eclipse platform Version: 4.2.1.v20130118, Android Development Toolkit Version: 22.0.1.v201305230001--685705 and Maven Embedded (3.0.4/1.4.0. ) on Windows Xp.

And i am receiving the following errors:

Code: Select all
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] biometrics-samples-android
[INFO] multibiometric-sample
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building biometrics-samples-android 1.2.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- android-maven-plugin:3.6.0:run (default-cli) @ biometrics-samples-android ---
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] biometrics-samples-android ........................ FAILURE [0.313s]
[INFO] multibiometric-sample ............................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.766s
[INFO] Finished at: Wed Aug 28 14:46:21 COT 2013
[INFO] Final Memory: 11M/28M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.6.0:run (default-cli) on project biometrics-samples-android: Unable to run launcher Activity: C:\ANDROID\NEUROTECNOLOGY_EMBEDDED\MegaMatcher_Embedded_1_2_SDK_Trial_for_Android\Samples\Biometrics\Android\AndroidManifest.xml (El sistema no puede hallar el archivo especificado) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException


Thx for any help ,

jorgevaron.

Hello,

you are using an outdated version of the SDK. Also, the MegaMatcher Embedded SDK have been merged to the MegaMatcher SDK. Please download the latest one from our website and follow steps in the documentation to compile the sample.
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Re: Android related questions

Postby Mantas » Sep 22, 2013 10:40

Hi there, could you tell me where is the sources? I am trying to make a FingerPrint app, and when I added the *.jar"s (Properties -> Java Build Path -> Add External JARs) it requires to add the sources. Or am I doing something wrong?
P.S. I am using the trial version.
Mantas
 
Posts: 1
Joined: Sep 22, 2013 10:32

Re: Android related questions

Postby Martynas » Sep 23, 2013 08:22

Mantas wrote:Hi there, could you tell me where is the sources? I am trying to make a FingerPrint app, and when I added the *.jar"s (Properties -> Java Build Path -> Add External JARs) it requires to add the sources. Or am I doing something wrong?
P.S. I am using the trial version.

Hello,

could you, please, provide steps how this can be reproduced, as we are not able to get the same error message when the jars from the SDK are added into project in Eclipse.
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2195
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

How can I create Android project for Face Recognition only?

Postby ashis_dwkr » Oct 12, 2013 09:24

Hi,

I am using your trial sdk(Neurotec_Biometric_4_5_SDK_Trial). I want to develop an Android App that Recognises User Face & transfer user to next Screen.
I could not find any example code to do this automatically on Face-Detection, but I managed to to do so on click of Button Click.

Also, Is there a way to develop only Face part (without the Iris, Voice, Finger modules). If I try to remove these files from project, then Application builds successfully, but while it run in mobile it crashes.

Any help in the regard will be really helpfull.

Thanks
Ashish
ashis_dwkr
 
Posts: 3
Joined: Oct 12, 2013 08:17

PreviousNext

Return to Public

Who is online

Users browsing this forum: pauletteoq16 and 1 guest