pagseguro / plugpag

Integração via bluetooth
49 stars 43 forks source link

Erro ao carregar libswitch.so em Android 4.1 armv7 #25

Open dantti opened 5 years ago

dantti commented 5 years ago

Usar o PlugPag em Androides mais recentes funciona, mesmo a aplicação sendo 32bits, porém caso o Android for antigo, porém é a versão que vocês dizem ser suportada o aplicativo da crash, o código do aplicativo pode ser acessado no repositório: PlugPagQt

Para dexar claro o mesmo APK funciona em Androids mais novos e o arquivo que o trace diz não encontrar está dentro do APK em armv7, armv8, x86 e x86_64, obrigado.

D/dalvikvm(26640): Trying to load lib /data/data/br.com.ceciletti.PlugPagQt/lib/libPlugPag.so 0x41433910
W/dalvikvm(26640): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lbr/com/uol/pagseguro/plugpag/PlugPagAppIdentification;
W/dalvikvm(26640): threadid=14: thread exiting with uncaught exception (group=0x40c52318)
E/AndroidRuntime(26640): FATAL EXCEPTION: Thread-585
E/AndroidRuntime(26640): java.lang.ExceptionInInitializerError
E/AndroidRuntime(26640):    at br.com.ceciletti.PlugPagQt.PlugPagQt$2.run(PlugPagQt.java:100)
E/AndroidRuntime(26640):    at java.lang.Thread.run(Thread.java:856)
E/AndroidRuntime(26640): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1891]:  2070 could not load needed library 'libswitch.so' for 'libPlugPag.so' (load_library[1093]: Library 'libswitch.so' not found)
E/AndroidRuntime(26640):    at java.lang.Runtime.loadLibrary(Runtime.java:370)
E/AndroidRuntime(26640):    at java.lang.System.loadLibrary(System.java:535)
E/AndroidRuntime(26640):    at br.com.uol.pagseguro.plugpag.PlugPagLibraryLoader.loadNativeLibraries(PlugPagLibraryLoader.java:10)
E/AndroidRuntime(26640):    at br.com.uol.pagseguro.plugpag.PlugPagAppIdentification.<clinit>(PlugPagAppIdentification.java:17)
E/AndroidRuntime(26640):    ... 2 more
E/libEGL  (26640): eglMakeCurrent:534 error 3009 (EGL_BAD_MATCH)
hhideki commented 5 years ago

@dantti, eu sei que já faz muito tempo que vc abriu a issue, mas vc tem mais informações sobre o aparelho no qual vc tentou utilizar o PlugPag?

Aparelhos antigos, com arquitetura anterior ao ARM-v7, podem não ser suportados. A ABI armeabi foi removida dos toolchains do NDK, não sendo mais possível compilar código para essa ABI. A arquitetura mais próxima é a armeabi-v7a, mas mesmo assim depende do processador para garantir compatibilidade.

dantti commented 5 years ago

É um Xperia P com um Armv7-A, a ABI continua lá pois meus aplicativos são feitos com Qt que utiliza NDK na ultima versão inclusive.

lucasmeneghin commented 4 years ago

Estou tendo o mesmo erro com a api 17, aparelho de arquitetura ARMv7-A.