Software Archive
Read-only legacy content
17061 Discussions

Failed to build app with 3rd party plugin (Scandit) #SOLVED!

Rodrigo_M_1
New Contributor II
2,688 Views

Hi there!

So,  I'm trying to build a small app using the "Scandit" 3rd party plugin for barcode scan... (I have used others Barcode Scanner Plugin, but I really want to make the Scandit work on my app)...

May I'm doing something wrong, but I really appreciate your help to figure out this issue, so there we go:

This is the GitHib link of the Plugin: https://github.com/Scandit/BarcodeScannerPlugin

I'm importing the plugin by Add a Third-Party Plugin, where on:

Name: ScanditBarcodeScanner

Plugin ID: com.mirasense.scanditsdk.plugin

Repo URL: https://github.com/Scandit/BarcodeScannerPlugin.git

But when I try to Build it for Android (later I'll have to do this for iOS), I got the follow message:

The build failed.
An error occurred while building the application. Verify your build assets are correct and try again.
Build Log:
  • Building a Cordova 4.1.2 application.
  • The application name is "SCANDIT"
  • The package name is "xdk.intel.blank.ad.template"
  • Plugin "org.apache.cordova.splashscreen" (0.3.5) installed.
  • Plugin "org.apache.cordova.camera" (0.3.4) installed.
  • Plugin "org.apache.cordova.device" (0.2.13) installed.
  • Plugin "com.intel.xdk.device" (1.0.7) installed.
  • Error: Plugin ScanditBarcodeScanner failed to install.

 

0 Kudos
1 Solution
PaulF_IntelCorp
Employee
2,688 Views

@Moritz -- thank you for the clarification paragraph on the plugin repo!

For anyone else who is looking at this thread, this means that if you want to use the Scandit barcode scanner you must:

  • sign up for a Scandit account
  • download the Scandit plugin from Scandit directly, not from GitHub
  • unzip the full plugin you downloaded directly from Scandit (note, on Windows machines, unzip into the root directory)
  • "import" that plugin into your XDK project as a third-party local plugin

This plugin may work best if you use the current EA version of the XDK, which manages plugins in a way that is compatible with standard Cordova CLI. That method of managing plugins will become standard practice in the next major release of the XDK.

View solution in original post

0 Kudos
8 Replies
PaulF_IntelCorp
Employee
2,688 Views

My suspicion is there is a problem due to a bunch of missing library files in the repo. See the last lines of the plugin.xml file:

          <!-- copy Scandit SDK libs -->      
          <source-file src="src/android/scanditsdk-community-android_4.0.0/libs/scanditsdk-android-4.0.0.jar" target-dir="libs"/>
          <source-file src="src/android/scanditsdk-community-android_4.0.0/libs/armeabi/libscanditsdk-android-4.0.0.so" target-dir="libs/armeabi"/>
          <source-file src="src/android/scanditsdk-community-android_4.0.0/libs/armeabi-v7a/libscanditsdk-android-4.0.0.so" target-dir="libs/armeabi-v7a"/>
          <source-file src="src/android/scanditsdk-community-android_4.0.0/libs/x86/libscanditsdk-android-4.0.0.so" target-dir="libs/x86"/>
          <!-- copy Scandit SDK resources (images, beep) -->      
          <source-file src="src/android/scanditsdk-community-android_4.0.0/res/raw/beep.wav" target-dir="res/raw"/>      
          <source-file src="src/android/scanditsdk-community-android_4.0.0/res/raw/poweredby2x.png" target-dir="res/raw"/>      
          <source-file src="src/android/scanditsdk-community-android_4.0.0/res/raw/ic_btn_search.png" target-dir="res/raw"/>      
          <source-file src="src/android/scanditsdk-community-android_4.0.0/res/raw/flashlight_turn_off_icon.png" target-dir="res/raw"/>      
          <source-file src="src/android/scanditsdk-community-android_4.0.0/res/raw/flashlight_turn_on_icon.png" target-dir="res/raw"/>      
          <!-- add plugin source code -->      
          <source-file src="src/android/com/mirasense/scanditsdk/plugin/ScanditSDK.java" target-dir="src/com/mirasense/scanditsdk/plugin"/>      
          <source-file src="src/android/com/mirasense/scanditsdk/plugin/ScanditSDKActivity.java" target-dir="src/com/mirasense/scanditsdk/plugin"/>      
          <source-file src="src/android/com/mirasense/scanditsdk/plugin/ScanditSDKResultRelay.java" target-dir="src/com/mirasense/scanditsdk/plugin"/>
          <source-file src="src/android/com/mirasense/scanditsdk/plugin/ScanditSDKParameterParser.java" target-dir="src/com/mirasense/scanditsdk/plugin"/>

Those directories and files do not exist in the plugin repo, but the plugin.xml file requires them. Given that the repo was updated in just the past seven days I would say that this plugin is "under construction" and may not be usable, you'll have to inquire with the plugin developer. Also, the developer has not tagged any releases for the repo, even though it has been in existence for about two years. You might ask the developer to create some "release tags" so that known good versions of the plugin could be referenced. As it is, all you'll get is the "current version" which means you're likely to get something that is "under construction."

There is an older version that was added to the Cordova plugin registry, which you could reference as a "plugin is located in the registry" -- see this page for the description in the registry: http://plugins.cordova.io/#/package/com.mirasense.scanditsdk.plugin

I don't find an entry for it in the new NPM-based plugin registry.

 

0 Kudos
Rodrigo_M_1
New Contributor II
2,688 Views

Thanks Paul F. for your help!

Also I tryied to reference as a "plugin is located in the registry", but got the same error!

I'll keep trying other alternatives, if you know a good barcode scanner plugin for Intel XDK even if have to pay, let me know!

Thanks!

Rodrigo.

0 Kudos
PaulF_IntelCorp
Employee
2,688 Views

The Intel XDK builds standard Cordova apps, so I would investigate those that are most popular among Cordova and PhoneGap users.

0 Kudos
Rodrigo_M_1
New Contributor II
2,688 Views

Hi Paul F., I was looking and comparing the entire structure of the missing files for cordova plugin, but I found a last version on their website for phonegap: https://ssl.scandit.com/account/sdk   file name: "scandit-barcodescanner-test-phonegap_4.7.3.zip"

(By the way I sent a mail to them asking for help and I reference this post topic.)

I have imported the plugin locally, but it's failing on build... check out the log of Android build:

Calling plugman.fetch on plugin ".../cachedPlugins.c4FsOI.tmp/cache.kMzJ64.pl/org.apache.cordova.splashscreen"
Copying plugin ".../cachedPlugins.c4FsOI.tmp/cache.kMzJ64.pl/org.apache.cordova.splashscreen" => ".../SCANDIT/plugins/org.apache.cordova.splashscreen"
Calling plugman.install on plugin ".../SCANDIT/plugins/org.apache.cordova.splashscreen" for platform "android" with options "{"cli_variables":{},"browserify":false,"nohooks":["."]}"
Installing "org.apache.cordova.splashscreen" for android
Install start for "org.apache.cordova.splashscreen" on android.
path does not exist: .../SCANDIT/platforms/android/src/org/apache/cordova/splashscreen
Beginning processing of action stack for android project...
Parsing android project files...
Action stack processing complete.
Running command: .../SCANDIT/platforms/android/cordova/version 
Command finished with error code 0: .../SCANDIT/platforms/android/cordova/version 
Writing out android project files...
Preparing android project
Processing configuration changes for plugins.
Iterating over installed plugins: [ 'org.apache.cordova.splashscreen' ]
Writing out cordova_plugins.js...
Install complete for org.apache.cordova.splashscreen on android.
Calling plugman.fetch on plugin ".../cachedPlugins.c4FsOI.tmp/cache.5M8_ni.pl/org.apache.cordova.camera"
Copying plugin ".../cachedPlugins.c4FsOI.tmp/cache.5M8_ni.pl/org.apache.cordova.camera" => ".../SCANDIT/plugins/org.apache.cordova.camera"
Calling plugman.install on plugin ".../SCANDIT/plugins/org.apache.cordova.camera" for platform "android" with options "{"cli_variables":{},"browserify":false,"nohooks":["."]}"
Installing "org.apache.cordova.camera" for android
Install start for "org.apache.cordova.camera" on android.
path does not exist: .../SCANDIT/platforms/android/src/org/apache/cordova/camera
path does not exist: .../SCANDIT/platforms/android/src/org/apache/cordova/camera
path does not exist: .../SCANDIT/platforms/android/src/org/apache/cordova/camera
Beginning processing of action stack for android project...
Parsing android project files...
Action stack processing complete.
Running command: .../SCANDIT/platforms/android/cordova/version 
Command finished with error code 0: .../SCANDIT/platforms/android/cordova/version 
Writing out android project files...
Preparing android project
Processing configuration changes for plugins.
Iterating over installed plugins: [ 'org.apache.cordova.splashscreen',
  'org.apache.cordova.camera' ]
Writing out cordova_plugins.js...
Install complete for org.apache.cordova.camera on android.
Calling plugman.fetch on plugin ".../cachedPlugins.c4FsOI.tmp/cache.UGftzW.pl/org.apache.cordova.device"
Copying plugin ".../cachedPlugins.c4FsOI.tmp/cache.UGftzW.pl/org.apache.cordova.device" => ".../SCANDIT/plugins/org.apache.cordova.device"
Calling plugman.install on plugin ".../SCANDIT/plugins/org.apache.cordova.device" for platform "android" with options "{"cli_variables":{},"browserify":false,"nohooks":["."]}"
Installing "org.apache.cordova.device" for android
Install start for "org.apache.cordova.device" on android.
path does not exist: .../SCANDIT/platforms/android/src/org/apache/cordova/device
Beginning processing of action stack for android project...
Parsing android project files...
Action stack processing complete.
Running command: .../SCANDIT/platforms/android/cordova/version 
Command finished with error code 0: .../SCANDIT/platforms/android/cordova/version 
Writing out android project files...
Preparing android project
Processing configuration changes for plugins.
Iterating over installed plugins: [ 'org.apache.cordova.splashscreen',
  'org.apache.cordova.camera',
  'org.apache.cordova.device' ]
Writing out cordova_plugins.js...
Install complete for org.apache.cordova.device on android.
Calling plugman.fetch on plugin ".../cachedPlugins.c4FsOI.tmp/cache.zwEXBD.pl/com.intel.xdk.device"
Copying plugin ".../cachedPlugins.c4FsOI.tmp/cache.zwEXBD.pl/com.intel.xdk.device" => ".../SCANDIT/plugins/com.intel.xdk.device"
Calling plugman.install on plugin ".../SCANDIT/plugins/com.intel.xdk.device" for platform "android" with options "{"cli_variables":{},"browserify":false,"nohooks":["."]}"
Installing "com.intel.xdk.device" for android
Install start for "com.intel.xdk.device" on android.
path does not exist: .../SCANDIT/platforms/android/src/com/intel/xdk/device
path does not exist: .../SCANDIT/platforms/android/src/com/phonegap/plugins/barcodescanner
path does not exist: .../SCANDIT/platforms/android/res/drawable-xxhdpi
path does not exist: .../SCANDIT/platforms/android/res/layout
path does not exist: .../SCANDIT/platforms/android/res/layout
path does not exist: .../SCANDIT/platforms/android/res/layout
path does not exist: .../SCANDIT/platforms/android/res/layout
path does not exist: .../SCANDIT/platforms/android/res/layout
path does not exist: .../SCANDIT/platforms/android/res/layout
path does not exist: .../SCANDIT/platforms/android/res/layout
path does not exist: .../SCANDIT/platforms/android/res/layout
path does not exist: .../SCANDIT/platforms/android/res/layout
path does not exist: .../SCANDIT/platforms/android/res/layout-land
path does not exist: .../SCANDIT/platforms/android/res/layout-land
path does not exist: .../SCANDIT/platforms/android/res/layout-ldpi
path does not exist: .../SCANDIT/platforms/android/res/menu
path does not exist: .../SCANDIT/platforms/android/res/menu
path does not exist: .../SCANDIT/platforms/android/res/menu
path does not exist: .../SCANDIT/platforms/android/res/raw
Beginning processing of action stack for android project...
Parsing android project files...
Action stack processing complete.
Running command: .../SCANDIT/platforms/android/cordova/version 
Command finished with error code 0: .../SCANDIT/platforms/android/cordova/version 
Writing out android project files...
Preparing android project
Processing configuration changes for plugins.
Iterating over installed plugins: [ 'org.apache.cordova.splashscreen',
  'org.apache.cordova.camera',
  'org.apache.cordova.device',
  'com.intel.xdk.device' ]
Writing out cordova_plugins.js...
Install complete for com.intel.xdk.device on android.
Calling plugman.fetch on plugin ".../cachedPlugins.c4FsOI.tmp/cache.836WBW.pl/com.mirasense.scanditsdk.plugin"
Copying plugin ".../cachedPlugins.c4FsOI.tmp/cache.836WBW.pl/com.mirasense.scanditsdk.plugin" => ".../SCANDIT/plugins/com.mirasense.scanditsdk.plugin"
Calling plugman.install on plugin ".../SCANDIT/plugins/com.mirasense.scanditsdk.plugin" for platform "android" with options "{"cli_variables":{},"browserify":false,"nohooks":["."]}"
Installing "com.mirasense.scanditsdk.plugin" for android
Install start for "com.mirasense.scanditsdk.plugin" on android.
path does not exist: .../SCANDIT/platforms/android/libs/armeabi
path does not exist: .../SCANDIT/platforms/android/libs/armeabi-v7a
path does not exist: .../SCANDIT/platforms/android/libs/x86
path does not exist: .../SCANDIT/platforms/android/src/com/mirasense/scanditsdk/plugin
path does not exist: .../SCANDIT/platforms/android/src/com/mirasense/scanditsdk/plugin
path does not exist: .../SCANDIT/platforms/android/src/com/mirasense/scanditsdk/plugin
path does not exist: .../SCANDIT/platforms/android/src/com/mirasense/scanditsdk/plugin
Beginning processing of action stack for android project...
Parsing android project files...
Action stack processing complete.
Running command: .../SCANDIT/platforms/android/cordova/version 
Command finished with error code 0: .../SCANDIT/platforms/android/cordova/version 
Writing out android project files...
Preparing android project
Processing configuration changes for plugins.
Iterating over installed plugins: [ 'org.apache.cordova.splashscreen',
  'org.apache.cordova.camera',
  'org.apache.cordova.device',
  'com.intel.xdk.device',
  'com.mirasense.scanditsdk.plugin' ]
Writing out cordova_plugins.js...
Install complete for com.mirasense.scanditsdk.plugin on android.
Generating config.xml from defaults for platform "android"
Calling plugman.prepare for platform "android"
Preparing android project
Processing configuration changes for plugins.
Iterating over installed plugins: [ 'org.apache.cordova.splashscreen',
  'org.apache.cordova.camera',
  'org.apache.cordova.device',
  'com.intel.xdk.device',
  'com.mirasense.scanditsdk.plugin' ]
Writing out cordova_plugins.js...
Wrote out Android application name to "SCANDIT"
This app does not have launcher icons defined
Wrote out Android package name to "xdk.intel.blank.ad.template"
************* Processing the main config.xml file (after_prepare)  *****************
App Directory = [.../SCANDIT]
Will process and update the following config files:
    Config.xml = [.../SCANDIT/config.xml]
Namespaces:
    prefix/uri ''/'http://www.w3.org/ns/widgets'
    prefix/uri 'intelxdk'/'http://xdk.intel.com/ns/v1'
Android Manifest Namespaces:
    prefix/uri 'android'/'http://schemas.android.com/apk/res/android'
Name of the app is [SCANDIT]
Updating full app name to [SCANDIT]
Processing preference android-minSdkVersion [10]
Processing preference android-targetSdkVersion [19]
Processing preference android-installLocation [auto]
Processing preference permissions
Updating the versionCode
Updating the versionName
Processing debuggable
Added [{http://schemas.android.com/apk/res/android}debuggable] with [false]
Processing config file values
No splash screen supplied for drawable-land-mdpi.  Cleaning up.
Removing unused density: .../SCANDIT/platforms/android/res/drawable-land-mdpi
No splash screen supplied for drawable-port-xhdpi.  Cleaning up.
Removing unused density: .../SCANDIT/platforms/android/res/drawable-port-xhdpi
No splash screen supplied for drawable-port-ldpi.  Cleaning up.
Removing unused density: .../SCANDIT/platforms/android/res/drawable-port-ldpi
No splash screen supplied for drawable-land-ldpi.  Cleaning up.
Removing unused density: .../SCANDIT/platforms/android/res/drawable-land-ldpi
No splash screen supplied for drawable-port-hdpi.  Cleaning up.
Removing unused density: .../SCANDIT/platforms/android/res/drawable-port-hdpi
No splash screen supplied for drawable-land-xhdpi.  Cleaning up.
Removing unused density: .../SCANDIT/platforms/android/res/drawable-land-xhdpi
No splash screen supplied for drawable-land-hdpi.  Cleaning up.
Removing unused density: .../SCANDIT/platforms/android/res/drawable-land-hdpi
No splash screen supplied for drawable-port-mdpi.  Cleaning up.
Removing unused density: .../SCANDIT/platforms/android/res/drawable-port-mdpi
Saving config.xml to [.../SCANDIT/config.xml]
************* Completed processing the main config.xml file (after_prepare)  *****************
Running command: .../SCANDIT/platforms/android/cordova/build --release
Buildfile: .../SCANDIT/platforms/android/build.xml

-set-mode-check:

-set-release-mode:

-release-obfuscation-check:
     [echo] proguard.config is ${proguard.config}

-pre-build:

-check-env:
 [checkenv] Android SDK Tools Revision 24.3.3
 [checkenv] Installed at /Developer/android-sdk-linux

-setup:
     [echo] Project Name: CordovaApp
  [gettype] Project Type: Application

-build-setup:
[getbuildtools] Using latest Build Tools: 22.0.1
     [echo] Resolving Build Target for CordovaApp...
[gettarget] Project Target:   Android 4.4.2
[gettarget] API level:        19
     [echo] ----------
     [echo] Creating output directories if needed...
    [mkdir] Created dir: .../SCANDIT/platforms/android/ant-build
    [mkdir] Created dir: .../SCANDIT/platforms/android/ant-build/res
    [mkdir] Created dir: .../SCANDIT/platforms/android/ant-build/rsObj
    [mkdir] Created dir: .../SCANDIT/platforms/android/ant-build/rsLibs
    [mkdir] Created dir: .../SCANDIT/platforms/android/ant-gen
    [mkdir] Created dir: .../SCANDIT/platforms/android/ant-build/classes
    [mkdir] Created dir: .../SCANDIT/platforms/android/ant-build/dexedLibs
     [echo] ----------
     [echo] Resolving Dependencies for CordovaApp...
[dependency] Library dependencies:
[dependency] 
[dependency] ------------------
[dependency] Ordered libraries:
[dependency] 
[dependency] ------------------
     [echo] ----------
     [echo] Building Libraries with 'release'...

nodeps:

-set-mode-check:

-set-release-mode:

-release-obfuscation-check:
     [echo] proguard.config is ${proguard.config}

-pre-build:

-check-env:
 [checkenv] Android SDK Tools Revision 24.3.3
 [checkenv] Installed at /Developer/android-sdk-linux

-setup:
     [echo] Project Name: CordovaApp
  [gettype] Project Type: Android Library

-build-setup:
[getbuildtools] Using latest Build Tools: 22.0.1
     [echo] Resolving Build Target for CordovaApp...
[gettarget] Project Target:   Android 4.4.2
[gettarget] API level:        19
     [echo] ----------
     [echo] Creating output directories if needed...
    [mkdir] Created dir: .../SCANDIT/platforms/android/CordovaLib/res
    [mkdir] Created dir: .../SCANDIT/platforms/android/CordovaLib/libs
    [mkdir] Created dir: .../SCANDIT/platforms/android/CordovaLib/ant-build
    [mkdir] Created dir: .../SCANDIT/platforms/android/CordovaLib/ant-build/res
    [mkdir] Created dir: .../SCANDIT/platforms/android/CordovaLib/ant-build/rsObj
    [mkdir] Created dir: .../SCANDIT/platforms/android/CordovaLib/ant-build/rsLibs
    [mkdir] Created dir: .../SCANDIT/platforms/android/CordovaLib/ant-gen
    [mkdir] Created dir: .../SCANDIT/platforms/android/CordovaLib/ant-build/classes
    [mkdir] Created dir: .../SCANDIT/platforms/android/CordovaLib/ant-build/dexedLibs
     [echo] ----------
     [echo] Resolving Dependencies for CordovaApp...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency] 
[dependency] ------------------

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

-pre-compile:

-compile:
    [javac] Compiling 93 source files to .../SCANDIT/platforms/android/CordovaLib/ant-build/classes
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
     [echo] Creating library output jar file...
      [jar] Building jar: .../SCANDIT/platforms/android/CordovaLib/ant-build/classes.jar

-post-compile:

-obfuscate:

-dex:
     [echo] Library project: do not convert bytecode...

-crunch:
   [crunch] Crunching PNG Files in source dir: .../SCANDIT/platforms/android/CordovaLib/res
   [crunch] To destination dir: .../SCANDIT/platforms/android/CordovaLib/ant-build/res
   [crunch] Crunched 0 PNG files to update cache

-package-resources:
     [echo] Library project: do not package resources...

-package:
     [echo] Library project: do not package apk...

-post-package:

-release-prompt-for-password:

-release-nosign:
     [echo] 
[propertyfile] Creating new property file: .../SCANDIT/platforms/android/CordovaLib/ant-build/build.prop
[propertyfile] Updating property file: .../SCANDIT/platforms/android/CordovaLib/ant-build/build.prop
[propertyfile] Updating property file: .../SCANDIT/platforms/android/CordovaLib/ant-build/build.prop
[propertyfile] Updating property file: .../SCANDIT/platforms/android/CordovaLib/ant-build/build.prop

-release-sign:

-post-build:

release:

-code-gen:
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
     [echo] Handling aidl files...
     [aidl] No AIDL files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
     [echo] ----------
     [echo] Handling Resources...
     [aapt] Generating resource IDs...
     [aapt] res/raw/beep.wav:0: error: Resource entry beep is already defined.
     [aapt] res/raw/beep.ogg:0: Originally defined here.
     [aapt] 

BUILD FAILED
/Developer/android-sdk-linux/tools/ant/build.xml:649: The following error occurred while executing this line:
/Developer/android-sdk-linux/tools/ant/build.xml:694: null returned: 1

Total time: 5 seconds

.../SCANDIT/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: ant with args: release,-f,.../SCANDIT/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Command finished with error code 8: .../SCANDIT/platforms/android/cordova/build --release
Error: .../SCANDIT/platforms/android/cordova/build: Command failed with exit code 8
    at ChildProcess.whenDone (/Developer/cordova/4.1.2/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:743:16)
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)

 

0 Kudos
PaulF_IntelCorp
Employee
2,687 Views

I still think it's due to missing library files, see this post: http://stackoverflow.com/a/25232695/2914328 -- I think the only way this plugin is going to work is that you have to clone it locally and then add the missing library files that you presumably get from the originator of the library that this guy is wrapping up into a Cordova plugin.

His instructions are not clear, but note the second bullet under this heading in the README.md: https://github.com/Scandit/BarcodeScannerPlugin#scandit-barcode-scanner-sdk-plugin-integration-via-the-cordova-command-line-interface-cli

That implies to me that you need to have the native development systems installed on your system with the Scandit SDK installed on your system, and then the expectation is that the build will occur locally on your system where the library files are installed. If my theory is correct it means you cannot make this plugin work with our build system, because it won't have that SDK installed on the build system.

Not all plugins are usable with a cloud-based build system like ours, this one looks like such an example. You might be able to get it to work by cloning the plugin, downloading the SDK, placing the lib files into the plugin and figuring out a way to reference them from the plugin.xml file (which is the key install/build file for the plugin). Unfortunately, I don't know precisely what you would have to do to make that happen.

0 Kudos
Moritz_H_
Beginner
2,688 Views

Hi guys, I am the person responsible for keeping the PhoneGap plugin up to date at Scandit and thought I would clarify here how it works.

 

As Paul has already said the problem is therefore that the plugin is missing files that it needs to install. Our library is not publicly available which means we can't provide it on github. All that is on github is the code creating the plugin and wrapping the library but not the library itself. Because of this the readme tells you to sign up for an account and download the plugin there. This seems to not be clear enough so I will adjust the wording. The simple solution is that you download the phonegap plugin from your Scandit account and install it by referencing the content of that zip file. You don't need anything installed on your system or the like it is just that the libraries can't be made available publicly. This also means that you can't make them available publicly without breaking the licensing agreement. If you can only add plugins that are available through an internet accessible repository then you will not be able to install the Scandit plugin.

0 Kudos
Rodrigo_M_1
New Contributor II
2,688 Views

After talking by mail with Mr. Moritz H, he told me that the problem may possible that it has to do with the maximum path length of windows (project path).

So he told me to try create the project on C:\ for example, and that works right the way!

Mr. Moritz H and Mr. Paul F., thanks for all your help !

My best regards,

Rodrigo.

0 Kudos
PaulF_IntelCorp
Employee
2,689 Views

@Moritz -- thank you for the clarification paragraph on the plugin repo!

For anyone else who is looking at this thread, this means that if you want to use the Scandit barcode scanner you must:

  • sign up for a Scandit account
  • download the Scandit plugin from Scandit directly, not from GitHub
  • unzip the full plugin you downloaded directly from Scandit (note, on Windows machines, unzip into the root directory)
  • "import" that plugin into your XDK project as a third-party local plugin

This plugin may work best if you use the current EA version of the XDK, which manages plugins in a way that is compatible with standard Cordova CLI. That method of managing plugins will become standard practice in the next major release of the XDK.

0 Kudos
Reply