我想在我的Android应用程序中运行Android Screenshot Library's JNI code。
根据其docs,您只需运行.bat / .sh文件,该文件将本机代码复制到设备中,然后执行它。启动服务。哪个有用。
但我正在创建一个应用程序,将此本机代码从其资源文件夹复制到设备,然后启动该服务。
我能够复制文件并执行代码,但服务还没有开始。
仔细观察后,我在 main.c 以下代码行中发现了该问题:
Log("Starting server...");
int sfd = socket(AF_INET, SOCK_STREAM, 0);
if (sfd < 0) return -1;
Log("- Socket creation");
问题出在sdf
&amp; log - 套接字创建永远不会被打印。
我不太熟悉 JNI&amp; C ,这就是我寻求专家意见的原因。
这是日志文件,当.bat文件成功执行时:
Program initialized
Starting server...
- Socket creation
- Socket binding
- Socket in listening mode
Server started.
Listening on 0.0.0.0:42380
Signal handling setup
Starting main loop.
<< select() on sockets... >>
这是我的应用程序中的日志文件:
Program initialized
Starting server...
Error while starting server
Signal handling setup
Starting main loop.
<< select() on sockets... >>
我还在清单中添加了
<uses-permission android:name="android.permission.INTERNET" />
请建议。