12 Replies Latest reply on May 11, 2016 11:04 AM by Peter Arcuri

    MC67 Android issue with sample EMDK barcode scanner demo

    Michael Bedford

      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" />





      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:


      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!




        • Re: MC67 Android issue with sample EMDK barcode scanner demo
          Charitha Mallawaarachchi

          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.




            • Re: MC67 Android issue with sample EMDK barcode scanner demo
              Michael Bedford



              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?