|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
Windev Android app couldn't find JAVA native libraries (.so) |
Iniciado por Rossano, dez., 18 2018 11:24 AM - Sem resposta |
| |
| | | |
|
| |
Membro registado 1 mensagem |
|
Publicado em dezembro, 18 2018 - 11:24 AM |
I'm developing a Windev Mobile app for a new mobile RFID scanner. I copied the JAVA source code, .JAR and .SO file from the manufacturer SDK and included them in my app. I was able to build and generate my app but I'm getting the following errors:
FATAL ERROR WIN_MAIN.BTN_Start process. Internal error of WD Java Framework.:dalvik.system.PathClassLoader[DexPathList[[zip file */data/app/com.mirnah.orcascan-1/base.apk"],nativeLibraryDirectories=[/data/app/com.mirnah.orcascan-1/lib/arm,/vendor/lib,/system/lib]]] couldn't find 'libserial_port.so"
I already included the .so and .jar file in the "Integrating Files" and "Including Libraries" part of the APK generation wizard and still getting the FATAL Error message.
I'm not familiar with general structure of how Android files are saved on a mobile device. Perhaps I need to save them on another directory but don't know where.
Does any body know what's the proper way in attaching or including my external native libraries so the Windev can easily find and read them.
Here I've attached part of my code for scanning RFID tags.
import com.nativec.tools.ModuleManager; import com.nativec.tools.SerialPortFinder; import com.module.interaction.ModuleConnector; import com.rfid.RFIDReaderHelper; import com.rfid.ReaderConnector; import com.rfid.rxobserver.RXObserver; import com.rfid.rxobserver.bean.RXInventoryTag; import com.xdl2d.scanner.TDScannerConnector; import com.xdl2d.scanner.TDScannerHelper; import com.xdl2d.scanner.callback.RXCallback;
public static void Scan() { RXObserver rxObserver; ModuleConnector connector = new ReaderConnector(); ModuleConnector mConnector = new TDScannerConnector(); RFIDReaderHelper mReader; connector.connectCom("dev/ttyS4", 115200); rxObserver = new RXObserver() { @Override protected void onInventoryTag(RXInventoryTag tag) { String msg = callWLProcedure_String("ReadTag", tag.strEPC); } @Override protected void onInventoryTagEnd(RXInventoryTag.RXInventoryTagEnd tagEnd) { try { Thread.currentThread().sleep(50); } catch (InterruptedException e) { e.printStackTrace(); } } };
ModuleManager.newInstance().setScanStatus(false); ModuleManager.newInstance().setUHFStatus(true); try { mReader = RFIDReaderHelper.getDefaultHelper(); mReader.registerObserver(rxObserver); } catch (Exception e) { e.printStackTrace(); } } |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|