0

J'utilise le studio Android avec le SDK d'Epson Wikitude. Lorsque je lance l'application, il se bloque et je reçois une erreur de classe gonfler. J'ai regardé plusieurs autres questions, mais aucune de ces questions n'était identique ou ne fonctionnait pour mon problème.Erreur de gonflement de la classe 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)  

fichier 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

La ligne importante du code d'erreur est "Impossible de charger la bibliothèque: load_library [1091]: Library '/data/data/com.example.pmbi002.myapplication/libarchitect.so' introuvable". C'est l'application ne pas être en mesure de charger une bibliothèque native que je suppose devrait être fournie par le SDK que vous intégrez. La raison pour laquelle cela se présente comme une erreur de gonflement est parce que c'est lorsque la bibliothèque est chargée, il semble que l'inflation a échoué. – Warrick

Répondre

2

studio Android attend les bibliothèques natives d'être au dossier lib à l'intérieur du pot alors qu'ils sont dans le dossier libs donc studio android ne peut pas trouver leur.

Qu'est-ce que vous pouvez faire pour résoudre ce problème est:

  • faire une copie du pot
  • décompressez-extraire les libs dossier
  • renomme libs lib et zip dans le dossier lib
  • renommage la nouvelle .zip .jar

et l'importer dans votre fichier gradle:

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

Ceci l'a fixé pour moi. Il a également été décrit dans le forum Wikitude: http://www.wikitude.com/developer/developer-forum/-/message_boards/message/858620#_19_message_858823

Edit: Vous pouvez également essayer de

  • set CLASSPATH 'com.android.tools.build:gradle:1.5.0' à « com. android.tools.build:gradle:1.3.0' dans build.gradle de votre projet
  • assurez-vous que le compileSdkVersion, targetSdkVersion et com.android.support-v4 sont 22 ou moins

Cela ne devrait pas être un problème parce que le BT-200 Epson Moverio fonctionne sur Android 15

Edit: Cette configuration gradle a résolu le problème pour moi: /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') 
} 

projet build.gradle:

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

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

Comme je l'ai mentionné dans les commentaires, il y a une mise à jour de Wikitude Epson SDK qui devrait bientôt se débarrasser des complications avec le studio android.

+0

J'ai suivi ces étapes et maintenant j'ai un fichier wikitudesdk.jar et un fichier lib.jar dans C: \ Users \ nom d'utilisateur \ AndroidStudioProjects \ MyApplication \ app \ libs mais quand j'essaye de synchroniser le projet il dit qu'il me donne l'erreur suivante . Merci.Erreur: (22, 0) ne peut pas invoquer la méthode de compilation() sur l'objet null Open File Mariah

+0

avez-vous "référentiels {{ flatDir dirs 'libs' }} " dans votre build.gradle? – Alex

+0

oui, je le fais. Je vais copier mon fichier build.gradle ci-dessus. J'ai aussi essayé de changer le fichier à l'intérieur de wikitudesdk en lib et de le modifier. Cela me laisse juste avec le fichier wikitudesdk.jar, mais aboutit à la même erreur. – Mariah