我正在使用摩托罗拉EMDK 3.1在Android Studio中编程一个小扫描应用程序。这个应用程序应该在Android 4.1上的TC55上运行。
当我尝试运行我的应用程序时,我遇到了这个错误:
C:Usersherold.IDENTWERKDesktopEmdkTestappbuildintermediatesexploded-aarcom.android.supportappcompat-v722.2.1resvalues-v17values-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'.
这是我的毕业生:
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'
您会收到错误,因为最新的AndroidStudio模板生成的应用程序无法使用API 16级编译。就像你在这里针对EMDK进行编译一样。
您可以在适用于Mac的EMDK下载中找到jar库的最新版本(它可以作为zip档案提供,而不是像Windows那样只有安装包(。
最好的选择是手动将com.symbol.emdk.jar
包含在项目的libs文件夹中,并使用最新的可用SDK编译应用程序。
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
最后一个操作是指示gradle不要在最终的apk:中编译emdk-jar
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'])
}
用这个代替你的。我希望它能起作用。
compileSdkVersion 21
buildToolsVersion '21.1.2'
和
compile 'com.android.support:appcompat-v7:21.0.3'
确保添加了Motorola EMDK 3.1
罐子。
现在,你应该使用
compileSdkVersion 24
buildToolsVersion "24.0.2"
和
compile 'com.android.support:appcompat-v7:24.2.0'