juli0n_ juli0n_ - 1 month ago 13
Android Question

Motorola EMDK 3.1 error (app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\22.2.1\res\values-v21\values-v21.xml)

I'm using the Motorola EMDK 3.1 to programm a little scan application in Android Studio. This application should run at a TC55 on Android 4.1.

I get this error when I try to run my application:

C:\Users\herold.IDENTWERK\Desktop\EmdkTest\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\22.2.1\res\values-v17\values-v17.xml
Error:(6, 21) No resource found that matches the given name: attr 'android:textAlignment'.
Error:(10, 21) No resource found that matches the given name: attr 'android:paddingEnd'.
Error:(10, 21) No resource found that matches the given name: attr 'android:paddingEnd'.
Error:(13, 21) No resource found that matches the given name: attr 'android:paddingStart'.
Error:(17, 21) No resource found that matches the given name: attr 'android:layout_marginEnd'.
Error:(10, 21) No resource found that matches the given name: attr 'android:paddingEnd'.
Error:(23, 21) No resource found that matches the given name: attr 'android:layout_marginStart'.
Error:(26, 21) No resource found that matches the given name: attr 'android:layout_alignParentStart'.
Error:(6, 21) No resource found that matches the given name: attr 'android:textAlignment'.
Error:(10, 21) No resource found that matches the given name: attr 'android:paddingEnd'.
Error:(13, 21) No resource found that matches the given name: attr 'android:paddingStart'.
Error:(26, 21) No resource found that matches the given name: attr 'android:layout_alignParentStart'.
Error:(37, 21) No resource found that matches the given name: attr 'android:layout_toStartOf'.
Error:(40, 21) No resource found that matches the given name: attr 'android:layout_alignParentEnd'.
Error:(44, 21) No resource found that matches the given name: attr 'android:layout_toEndOf'.
Error:(37, 21) No resource found that matches the given name: attr 'android:layout_toStartOf'.
Error:(23, 21) No resource found that matches the given name: attr 'android:layout_marginStart'.
Error:(13, 21) No resource found that matches the given name: attr 'android:paddingStart'.


And this is my Gradle:

apply plugin: 'com.android.application'

android {
compileSdkVersion 'Symbol Technologies, Inc.:EMDK 3.1 (API 16):16'
buildToolsVersion '21.1.1'

defaultConfig {
applicationId "com.example.herold.emdktest"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:22.2.1'

Answer

You're getting the error because the latest AndroidStudio templates generates apps that cannot be compile with an API level 16. Like you're doing here compiling against the EMDK.

You can find the latest version of the jar library in the EMDK download for the Mac (that is available as a zip archive instead that having just the setup package like you've for Windows).

You best option is to manually include the com.symbol.emdk.jar in the libs folder of your project and compile the application using the latest available SDK.

android {
  compileSdkVersion 23
   buildToolsVersion "23.0.1"

Last action is to instruct gradle to not compile the emdk jar in the final apk:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'], exclude: ['com.symbol.emdk.jar'])
  compile 'com.android.support:appcompat-v7:23.0.1'
   provided fileTree(dir: 'libs', include: ['com.symbol.emdk.jar'])
}
Comments