Problem:
You want to create a UDP socket on the JNI layer to communicate with the server, but there is no success. Finally found to be created socket failed (code for example below)
Create SOCKETG_SD = socket (af_inet, SOCK_DGRAM, 0), if ( -1 = = g_sd) {perror ("socket ()"); goto Err_socket;}
The workaround:
In the Androidmanifest.xml file. To join the access network:
<uses-permission android:name= "Android.permission.INTERNET"/>
(Join location for example below)
<?xml version= "1.0" encoding= "Utf-8"? ><manifest xmlns:android= "http://schemas.android.com/apk/res/ Android "package=" Com.aran.envmonitor "android:versioncode=" 1 "android:versionname=" 1.0 "> <uses-sdk android:minsdkversion= "android:targetsdkversion="/> <!--join network access and <uses-permissio n android:name= "Android.permission.INTERNET"/> <application android:allowbackup= "true" Android:ico n= "@drawable/ic_launcher" android:label= "@string/app_name" android:theme= "@style/apptheme" > <u Ses-library android:name= "Env_tools"/> <activity android:name= ". Mainactivity "android:label=" @string/app_name "> <intent-filter> <action Android:name= "Android.intent.action.MAIN"/> <category android:name= "Android.intent.category.LAUNCHER "/> </intent-filter> </activity> </application></manifest>
Android JNI layer creates Linux socket error problem resolution