将so文件添加到本地android的codenameone代码中?

将so文件添加到本地android的codenameone代码中?,android,android-ndk,native,codenameone,manifest,Android,Android Ndk,Native,Codenameone,Manifest,我正在开发一些新的本机软件包来使用一些特殊的设备,使用的库是(so)文件,如果有人能帮我弄清楚如何将这些文件包括在android构建中,我会很感激,我已经尝试将这些文件添加到本机android文件夹中,但是当尝试从本机调用函数时,显示以下异常: 10-29 14:10:07.610: D/BarcodeManager(6466): Barcode_Start() 10-29 14:10:07.610: W/System.err(6466): WARNING: Could not load lib

我正在开发一些新的本机软件包来使用一些特殊的设备,使用的库是(so)文件,如果有人能帮我弄清楚如何将这些文件包括在android构建中,我会很感激,我已经尝试将这些文件添加到本机android文件夹中,但是当尝试从本机调用函数时,显示以下异常:

10-29 14:10:07.610: D/BarcodeManager(6466): Barcode_Start()
10-29 14:10:07.610: W/System.err(6466): WARNING: Could not load library!
10-29 14:10:07.610: I/info(6466): error ===  Couldn't load Jctrl_gpio: findLibrary returned null
10-29 14:10:07.610: W/dalvikvm(6466): No implementation found for native Lcom/ctrl/gpio/Ioctl;.activate:(II)I
10-29 14:10:07.610: D/AndroidRuntime(6466): Shutting down VM
10-29 14:10:07.610: W/dalvikvm(6466): threadid=1: thread exiting with uncaught exception (group=0x41cd5300)
10-29 14:10:07.620: E/AndroidRuntime(6466): FATAL EXCEPTION: main
10-29 14:10:07.620: E/AndroidRuntime(6466): java.lang.UnsatisfiedLinkError: Native method not found: com.ctrl.gpio.Ioctl.activate:(II)I
10-29 14:10:07.620: E/AndroidRuntime(6466):     at com.ctrl.gpio.Ioctl.activate(Native Method)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at com.POSD.controllers.ScanController.doScan(ScanController.java:715)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at com.POSD.controllers.ScanController.scan(ScanController.java:706)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at com.POSD.controllers.ScanController.Barcode_Start(ScanController.java:461)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at com.mycompany.myapp.NativePrinterImpl$ScanActivity.readBarCode(NativePrinterImpl.java:90)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at com.mycompany.myapp.NativePrinterImpl$ScanActivity.<init>(NativePrinterImpl.java:37)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at com.mycompany.myapp.NativePrinterImpl$1.run(NativePrinterImpl.java:130)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at android.os.Handler.handleCallback(Handler.java:615)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at android.os.Handler.dispatchMessage(Handler.java:92)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at android.os.Looper.loop(Looper.java:137)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at android.app.ActivityThread.main(ActivityThread.java:4745)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at java.lang.reflect.Method.invokeNative(Native Method)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at java.lang.reflect.Method.invoke(Method.java:511)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-29 14:10:07.620: E/AndroidRuntime(6466):     at dalvik.system.NativeStart.main(Native Method)
10-29 14:10:07.620: W/ActivityManager(272):   Force finishing activity com.mycompany.myapp/.MyApplicationStub
10-29 14:10:08.160: W/ActivityManager(272): Activity pause timeout for ActivityRecord{42681788 com.mycompany.myapp/.MyApplicationStub}
正如您所看到的,加载so文件和应用程序都没有问题


关于,

只需将该文件放在项目的
Android
文件夹
native
中,您就可以在本机源代码中这样使用它。

这些文件位于同一文件夹中,并且[我添加了例外]尝试重命名该文件以将其扩展名从
so
更改为
jar
。由于构建无法扩展ZIP'/tmp/build5780627911063745337xxx/MyApplication/libs/libN20Epp.jar,因此该文件失败。那么
.aar
如何?aar实际上可以工作,在另一个应用程序中,我使用了它,它也可以工作,但有很多(如此)我需要包含的文件,我不知道如何创建一个aar来包装(so)文件
10-29 17:22:55.990 272-301/system_process I/ActivityManager: Displayed com.POS.apis/.ApiDemosMainActivity: +804ms
10-29 17:22:56.960 272-10680/system_process I/ActivityManager: START {cmp=com.POS.apis/.ScanController.ScanActivity u=0} from pid 11196
10-29 17:22:57.060 272-10680/system_process D/dalvikvm: GC_FOR_ALLOC freed 91K, 15% free 9728K/11399K, paused 31ms, total 31ms
10-29 17:22:57.060 272-10680/system_process I/dalvikvm-heap: Grow heap (frag case) to 9.908MB for 124216-byte allocation
10-29 17:22:57.090 272-10680/system_process D/dalvikvm: GC_FOR_ALLOC freed 5K, 15% free 9844K/11527K, paused 29ms, total 29ms
10-29 17:22:57.140 11196-11200/com.POS.apis D/dalvikvm: GC_CONCURRENT freed 887K, 15% free 8127K/9479K, paused 11ms+11ms, total 33ms
10-29 17:22:57.190 100-247/? I/AwesomePlayer: AwesomePlayer::AwesomePlayer()in
10-29 17:22:57.190 100-247/? I/AwesomePlayer: AwesomePlayer::AwesomePlayer()aftermClient.connect()
10-29 17:22:57.240 100-247/? I/FrameQueueManage: FrameQueueManage::~FrameQueueManage end!
10-29 17:22:57.290 272-301/system_process I/ActivityManager: Displayed com.POS.apis/.ScanController.ScanActivity: +192ms
10-29 17:22:58.270 100-246/? D/AudioHardware: AudioHardware pcm playback is going to standby.
10-29 17:22:58.270 100-246/? D/AudioHardware: closePcmOut_l() mPcmOpenCnt: 1
10-29 17:22:58.300 100-246/? D/AudioHardware: AudioHardware pcm playback is exiting standby.
10-29 17:22:58.300 100-246/? D/AudioHardware: openPcmOut_l() mPcmOpenCnt: 0
10-29 17:22:58.310 11196-11196/com.POS.apis D/dalvikvm: Trying to load lib /data/data/com.POS.apis/lib/libJctrl_gpio.so 0x422fcf58
10-29 17:22:58.310 11196-11196/com.POS.apis D/dalvikvm: Added shared lib /data/data/com.POS.apis/lib/libJctrl_gpio.so 0x422fcf58
10-29 17:22:58.310 11196-11196/com.POS.apis I/ctrl_gpio: JNI_OnLoad
10-29 17:22:58.310 11196-11196/com.POS.apis I/ctrl_gpio: native_activate fd=49,type=17,open=0
10-29 17:22:58.310 11196-11196/com.POS.apis I/ctrl_gpio: ret-------------0
10-29 17:22:58.310 11196-11196/com.POS.apis D/dalvikvm: Trying to load lib /data/data/com.POS.apis/lib/libserialport.so 0x422fcf58
10-29 17:22:58.310 11196-11196/com.POS.apis D/dalvikvm: Added shared lib /data/data/com.POS.apis/lib/libserialport.so 0x422fcf58
10-29 17:22:58.310 11196-11196/com.POS.apis D/dalvikvm: No JNI_OnLoad found in /data/data/com.POS.apis/lib/libserialport.so 0x422fcf58, skipping init
10-29 17:22:58.310 11196-11196/com.POS.apis D/serial_port: Opening serial port /dev/ttyS1 with flags 0x2
10-29 17:22:58.310 11196-11196/com.POS.apis D/serial_port: open() fd = 51
10-29 17:22:58.310 11196-11196/com.POS.apis I/info: open device!!
10-29 17:23:00.560 1997-1999/com.wandoujia.phoenix2.usbproxy D/dalvikvm: GC_CONCURRENT freed 1233K, 39% free 9973K/16135K, paused 2ms+3ms, total 66ms
10-29 17:23:01.320 100-246/? D/AudioHardware: AudioHardware pcm playback is going to standby.
10-29 17:23:01.320 100-246/? D/AudioHardware: closePcmOut_l() mPcmOpenCnt: 1
10-29 17:23:13.180 100-246/? D/AudioHardware: AudioHardware pcm playback is exiting standby.
10-29 17:23:13.180 100-246/? D/AudioHardware: openPcmOut_l() mPcmOpenCnt: 0