MC67 Android issue with sample EMDK barcode scanner demo

Hello all,

 

 

I have a Motorola/Zebra handheld computer running Android, model MC67. I am using the EMDK and am attempting to use the barcode demo application already built in to the EMDK. The link I am referencing is here: http://emdk.github.io/xamarin-docs/1.0/#guide-sample-api-barcode

 

 

All I do is run the sample application (no changes at all) and when I try to debug, while it does build successfully, I get an error when it try's to deploy to device of:

 

 

"Android application is debugging. The application could not be started. Ensure that the application has been installed to the target device and has a launchable activity (MainLauncher = true).

Additionally, check Build->Configuration Manager to ensure this project is set to Deploy for this configuration."

 

 

I obviously tried many things such as:

1. The items listed above, checked MainLauncher was true and the only one. Checked that the Deploy check box was checked.

2. That my debug and release configuration settings are all correct.

3. Verified I can access the device (USB driver good, etc...)

4. Tried even doing a factory reset on the device to clear out all existing apps, emdk, xamarin stuff, etc...

 

 

Nothing I did fixed or even changed the issue.

 

 

The only thing that "worked" was to remove one line out of the Android manifest which was autogenerated by the sample. That line is:

<uses-library android:name="com.symbol.emdk" />

 

 

The whole manifest is:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="Symbol.XamarinEMDK.BarcodeSample1" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">

  <uses-sdk android:minSdkVersion="16" />

  <uses-permission android:name="com.symbol.emdk.permission.EMDK" />

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

  <application android:label="BarcodeSample1" android:icon="@drawable/Icon" android:theme="@android:style/Theme.Holo.Light.DarkActionBar">

    <uses-library android:name="com.symbol.emdk" />

  </application>

</manifest>

 

 

Once I remove that one line, the application will deploy to the device without the "Application could not be started" issue mentioned above. However, it presents a new issue that causes the application to crash. That error is:

"Java.Lang.RuntimeException: Unable to instantiate activity ComponentInfo{Symbol.XamarinEMDK.BarcodeSample1/md513db78596028c4274649e4a9c542af77.MainActivity}: java.lang.ClassNotFoundException: md513db78596028c4274649e4a9c542af77.MainActivity"

 

 

It is like a catch-22, Any ideas how to get this working?

 

 

Some notes on my setup:

VS2015

Xamarin 4.03 installed (through VS extensions, did it just 2 days ago).

EMDK is installed (version 1.03) by going to Components > Get More Components and choosing the EMDK for Xamarin.

This also created a reference for me of Symbol.XamarinEMDK

 

 

Thank you!

 

 

Mike

Charitha Mallaw...
Hi Mike,Hope your device is

Hi Mike,

Hope your device is running Android JB. Please note that the Xamarin version of EMDK is supported only for Android KitKat onwards: EMDK For Xamarin

Devices Supported

Currently only Zebra Android KitKat devices are supported. Be sure to run the device update on all devices before using the EMDK for Xamarin.

Thanks,

Charith.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Mike Bedford
Charith, Thank you for the

Charith,

Thank you for the reply and it is an interesting one for me. The reason it is interesting is because the MC67 shipped with Jelly Bean (4.1 API 16). That seemed a bit old to me in the Android world, so, after not having found an update available on the web, I called Zebra support and was told that in fact, Jelly Bean 4.1 is the current version for the MC67.

Since KitKat is newer than Jelly Bean, Jelly Bean is the only version on the MC67 and I must be on KitKat, I assume then that you are saying the EMDK is not supported for the MC67 in so many words?

That spawns a new question, Zebra put out the MC67 as a mobile computer with the built in barcode scanner. They then put out an EMDK to help developers get the tools and hardware running on the very device they are selling (MC67 in my case). However, I guess this is not the case for the MC67 and I have no support, or at least no EMDK, to use???

I hope I am either missing something and there is an EMDK I can use for a barcode sample to get the barcode reader working, with Xamarin, on this MC67. Or, maybe tech support was mistaken and there is actually an update to get me on KitKat or newer?

Finally, this is all assuming that my original issue is all related to this and had I been trying to deploy to KitKat or newer, it would work?

Thanks!

Mike

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Charitha Mallaw...
Hi Mike,Sorry for any

Hi Mike,

Sorry for any confusion with my reply. "EMDK for Xamarin" is a newer SDK provided by Zebra and neither the same nor a replacement for "EMDK for Android". So at the time it is decided to skip older devices as you explained which are running JB to avoid some complexities. The product support started only from KK.

Before Zebra is proving the official EMDK for Xamarin, some outside partners/ customers used some guidelines to get "EMDK for Android" working on top of xamarin. You may try one of them from the web if you are really want to stick to Xamarin development. But they are not official help documents or so and support may not available on those.

Eg:

Thanks,

Charith.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Mike Bedford
Just to add more confusion on

Just to add more confusion on this topic, I just read the below snippet, which makes it sound as though I can use the EMDK on MC67, running Jelly Bean:

Devices Supported

Although EMDK for Android has been designed to work with all Symbol mobile computers running Android, the following devices have been used for validation:

  • MC18 - KitKat
  • MC32 - OS Update image v00002 or higher (JellyBean)
  • MC40 - OS Update image v02.08.0520 or higher (JellyBean)
  • MC40 - KitKat
  • MC67 - OS Update image v01.28.14 or higher (JellyBean)
  • MC92 - KitKat
  • TC55 - OS Update image v01.74.00 or higher (JellyBean)
  • TC55 - OS Update image v02.52.02 or higher (KitKat)
  • TC70 - OS Update image v11.24.14 or higher (KitKat)
  • TC70 - KitKat Rev B
  • TC75 - KitKat

Found the above snippet on this page: http://techdocs.zebra.com/emdk-for-android/4-0/guide/about/

So, could somebody please clear up these misunderstandings? What do I need to do to get everything going?

Thanks!

Mike

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Peter Arcuri
Michael, you are correct

Michael, you are correct "EMDK for Android" does support MC67 JB. However, your initial post you make reference to the "EMDK for Xamarin".

If you're in fact using the EMDK for Android, then you must use samples or tutorials for that specific SDK.

Hope this helps clarify things.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Mike Bedford
Hello Peter,It clarifies a

Hello Peter,

It clarifies a bit. Let me state my setup and ask a final question. I am trying to use Xamarin for Android. I am running JB on the MC67.

With those two facts, where can I find examples that will help get my issue resolved and get the barcode scanner working?

Thanks!

Mike

Sent from Outlook Mobile<https://aka.ms/blhgte>

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Anonymous (not verified)
Hello Mike, In order to use

Hello Mike, In order to use the EMDK for Xamarin with that device, you will need to update the OS to KitKat. Any Samples that we could point you to would also require KitKat. 

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Mike Bedford
Hello Bill,That sounds great

Hello Bill,

That sounds great and I have no problem doing that but as mentioned in the beginning of this post, I was told that JellyBean is the latest version for the MC67.

I would be happy to upgrade to KitKat. Do you have that information for me?

Thanks!

Mike

Sent from Outlook Mobile<https://aka.ms/blhgte>

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Peter Arcuri
Hi Michael,The final touch

Hi Michael,

The final touch ups are being done on KK for MC67. I would suspect general release by end of June.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Mike Bedford
Peter,Thank you! That is

Peter,

Thank you! That is great news! I will hang tight until then.

In the meantime, is there a beta or pre-release candidate that I could try? I would be willing to help test which would help me out as I am doing active development on a pre-release product of our own, based on the MC67. This would help me move forward with my development using the Xamarin EMDK while testing the new version.

Thanks!

Mike

Get Outlook for Android<https://aka.ms/ghei36>

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Stefan Janowski
Hi Michael,I am also just

Hi Michael,

I am also just starting out developing with the MC67 and Xamarin via Visual Studio.

I have managed to get the barcode sample working and deployed to the device but am not able to debug in visual studio.

So for what its worth, here's what I had to do to get it to run...

The first issue I had was the Symbol.XamarinEMDK.dll file in the lib folder was missing - shown with a yellow triangle in solution explorer.  I manually copied the file to this location from BarcodeSample1\Components\emdk-component-1.0.3\lib\android.

Second issue - set the Minimum Android to target to API 16 (Android 4.1).  Right click properties on the BarcodeSample project to get to the required settings.

Thirdly, the MC67 device ships without the device runtime (for emdk) installed and so I needed to install this.

The EMDK menu in Visual Studio has an option for doing this but in my case I just got an error saying your device appears to not be connected.

You can manually install this - go to C:\Users\Public\Symbol EMDK for Xamarin

copy the EmdkOSUpdateApp_v3.1.38.apk file from there to your MC67.

On the MC67 open file explorer and browse to the apk you just copied. Click the apk to install it and when this is done click Open to run it.  This should go through the installation and eventually reboot your device.

Once this had completed the application would deploy to the device and run properly but I cannot get any breakpoints working in visual studio to debug it.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Peter Arcuri
Hi Mike,I'm not aware of a

Hi Mike,

I'm not aware of a beta program for this KK build. I would suggest getting in contact with your Zebra representative to see if they can help.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Log in to post comments