java.lang.UnsatisfiedLinkError: impossible de charger le eposprint: findLibrary retourné null
Je suis en utilisant Android Studio. Je suis à l'aide de e-POS-Print.jar dans mon application. Chaque fois que j'exécute le code, j'obtiens cette erreur:
java.lang.ExceptionInInitializerError
at com.stc.printer.MyActivity.onCreate(MyActivity.java:48)
at android.app.Activity.performCreate(Activity.java:5163)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2061)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2122)
at android.app.ActivityThread.access$600(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1228)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4895)
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:994)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load eposprint: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:365)
at java.lang.System.loadLibrary(System.java:535)
at com.epson.eposprint.Print.<clinit>(Print.java:18)
at com.stc.printer.MyActivity.onCreate(MyActivity.java:48)
Mon code:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
System.out.println("started");
printerName = getString(R.string.printername_t81ii);
language = Builder.MODEL_SOUTHASIA;
//bellow is line no. 48
Print newPrinter = new Print(getApplicationContext());
try{
newPrinter.openPrinter(deviceType, openDeviceName, enabled, interval);
}catch(Exception e){
System.out.println("Error");
e.printStackTrace();
newPrinter = null;
}
setPrinter(newPrinter);
}
L'exemple de projet à partir d'Epson est d'avoir un fichier natif .afin d'extension. Mais même si je supprimer ce fichier à partir de l'exemple de projet, il fonctionne.
J'ai aussi essayé d'ajouter le fichier à mon projet. Mais je ne suis pas en mesure d'ajouter ce fichier dans mon build path.
J'ai aussi fait référence à de multiples réponses de ce lien mais je suis d'échec.
J'ai essayé même code dans Eclipse. Il est de travail. Android studio est de ne pas l'accepter .(bibliothèque native). Je suis à la recherche de la contourner. Une fois trouvé, je vais le poster ici.
OriginalL'auteur Paritosh | 2014-08-16
Vous devez vous connecter pour publier un commentaire.
Après vérification de nombreux sites, la lecture de plusieurs réponses, j'ai enfin trouvé la solution.
Créer un dossier de l'arborescence:
Placer vos fichiers sous
armeabi
dossier. Et il va fonctionner.Plus sur
java.lang.unsatisfiedlinkerror
ou x86 dans le cas où vous utilisez un émulateur comme Genymotion
a travaillé comme un charme. Merci
Serait-ce de travailler avec gradle expérimentale plugin?
Besoin de les vérifier. Je l'ai utilisé dans un de mes projet d'application. Si votre script est le déplacement de la bibliothèque de ce chemin d'accès, puis suivez les processus de construction, cela devrait fonctionner.
OriginalL'auteur Paritosh