0

Я использую студию Android с SDK от Epson Wikitude. Когда я запускаю приложение, он выходит из строя, и я получаю ошибку класса раздувания. Я просмотрел несколько других вопросов, но ни один из них не был таким же или работал на мою проблему.Ошибка раздувания класса com.wikitude.architect.ArchitectView

/com.example.username.myapplication E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering/
    com.example.username.myapplication E/AndroidRuntime: FATAL EXCEPTION: main 
Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: load_library[1091]: Library '/data/data/com.example.pmbi002.myapplication/libarchitect.so' 
not found 
at java.lang.Runtime.load(Runtime.java: 340) 
at java.lang.System.load(System.java: 524) 
at com.wikitude.architect.ArchitectView.e(Unknown Source) 
at com.wikitude.architect.ArchitectView.a(Unknown Source) 
at com.wikitude.architect.ArchitectView. <init> (Unknown Source) 
at com.wikitude.architect.ArchitectView. <init> (Unknown Source) 
at java.lang.reflect.Constructor.constructNative(Native Method)  
at java.lang.reflect.Constructor.newInstance(Constructor.java: 417)  
at android.view.LayoutInflater.createView(LayoutInflater.java: 586)  
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java: 680)  
at android.view.LayoutInflater.rInflate(LayoutInflater.java: 739)  
at android.view.LayoutInflater.inflate(LayoutInflater.java: 489)  
at android.view.LayoutInflater.inflate(LayoutInflater.java: 396)  
at android.view.LayoutInflater.inflate(LayoutInflater.java: 352)  
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java: 280)  
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java: 140)  
at com.example.pmbi002.myapplication.MainActivity.onCreate(MainActivity.java: 30)  
at android.app.Activity.performCreate(Activity.java: 4465)  
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java: 1049)  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 1920)  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 1981)  
at android.app.ActivityThread.access$600(ActivityThread.java: 123)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1147)  
at android.os.Handler.dispatchMessage(Handler.java: 99)  
at android.os.Looper.loop(Looper.java: 137)  
at android.app.ActivityThread.main(ActivityThread.java: 4424)  
at java.lang.reflect.Method.invokeNative(Native Method)  
at java.lang.reflect.Method.invoke(Method.java: 511)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: 784)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 551)  
at dalvik.system.NativeStart.main(Native Method)  

build.gradle файл:

apply plugin: 'com.android.application' 

    android { 
     compileSdkVersion 15 
     buildToolsVersion '22.0.0' 
     defaultConfig { 
      applicationId "com.example.myusername.myapplication" 
      minSdkVersion 11 
      targetSdkVersion 15 
      versionCode 1 
      versionName "1.0" 
     } 
     buildTypes { 
      release { 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
     } 
     productFlavors {} 
    } 

    dependencies { 
     compile fileTree(include: ['*.jar'], dir: 'libs') 
     testCompile 'junit:junit:4.12' 
     compile 'com.android.support:appcompat-v4:22.0.0' 
     compile 'com.android.support:design:22.0.0' 
    } 
+0

Важной линией кода ошибки является «Невозможно загрузить библиотеку: load_library [1091]: Library '/data/data/com.example.pmbi002.myapplication/libarchitect.so' not found". Это приложение, которое не может загружать родную библиотеку, которую я предполагаю, должно предоставляться с помощью sdk, который вы интегрируете. Причина, по которой она возникает, как ошибка раздувания, заключается в том, что именно тогда загружается библиотека, поэтому она выглядит так, как будто инфляция не удалась. – Warrick

ответ

2

Android студия ожидает нативные библиотеки, чтобы быть в Lib папки внутри кувшина, пока они находятся в папке ЛИЭСА так андроид студия не может найти их.

Что вы можете сделать, чтобы исправить это:

  • сделать копию банки
  • распаковать его извлекать из ЛИЭСА папки
  • переименовать LIBS в Lib и почтовый Либерал папки,
  • переименования новый .zip на .jar

и импортировать его в Gradle файле:

dependencies{ 
    compile fileTree(dir: 'libs', include: '*.jar’) 
} 

Это исправлено для меня. Было также описано в Wikitude форуме: http://www.wikitude.com/developer/developer-forum/-/message_boards/message/858620#_19_message_858823

Edit: Вы можете также попробовать

  • множество классов 'com.android.tools.build:gradle:1.5.0' на «ком. android.tools.build:gradle:1.3.0' в build.gradle от вашего проекта
  • убедитесь, что compileSdkVersion, targetSdkVersion и com.android.support-v4 являются 22 или ниже

Это не должно быть проблема, потому что Принтер Epson Moverio BT-200 работает на Android 15

Edit: Эта Gradle установка решена проблема для меня: /app/build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "com.wikitude.sdksamples" 
     minSdkVersion 9 
     targetSdkVersion 22 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile 'com.android.support:support-v4:21.0.3' 
    compile fileTree(dir: 'libs', include: '*.jar') 
} 

проект build.gradle:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.3.0' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

Как я уже упомянул в комментариях, скоро появится версия Wikitude Epson SDK, которая должна избавиться от осложнений с помощью студии android.

+0

Я выполнил эти шаги и теперь имею файл wikitudesdk.jar и файл lib.jar в C: \ Users \ username \ AndroidStudioProjects \ MyApplication \ app \ libs, но когда я пытаюсь синхронизировать проект, он говорит, что он дает мне следующую ошибку , Благодарю.Ошибка: (22, 0) Не удается вызвать метод компиляцию() на объекте нулевого Open File Mariah

+0

у вас есть "репозитории { flatDir { DIRS 'LIBS' }} " в вашем build.gradle? – Alex

+0

да, я. Я скопирую файл build.gradle выше. Я также попытался сменить файл внутри wikitudesdk на lib и перетащить этот файл. Это оставляет меня только с файлом wikitudesdk.jar, но приводит к той же ошибке. – Mariah