我使用Motorola EMDK 3.1在Android Studio中编写一个小型扫描应用程序。此应用程序应在Android 4.1上的TC55上运行。
当我尝试运行我的应用程序时出现此错误:
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'.
这是我的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'
答案 0 :(得分:0)
使用此而不是你的。我希望它能运作。
compileSdkVersion 21
buildToolsVersion '21.1.2'
和
compile 'com.android.support:appcompat-v7:21.0.3'
确保添加了Motorola EMDK 3.1
jar。
现在,您应该使用
compileSdkVersion 24
buildToolsVersion "24.0.2"
和
compile 'com.android.support:appcompat-v7:24.2.0'
答案 1 :(得分:0)
您收到错误是因为最新的AndroidStudio模板会生成无法使用API级别16进行编译的应用程序。就像您在此处针对EMDK进行编译一样。
您可以在EMDK download for the Mac中找到最新版本的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'])
}