Java goldfishAddressSpaceHostMemoryLocator:ioctl_ping失败
迁移到AndroidX后,此代码已停止工作。 在迁移到AndroidX之前,这段代码是有效的 错误: 2020-02-24 09:41:17.918 17888-17921/edmt.dev.androidgridlayout E/eglcodecommon:goldfishAddressSpaceHostMemoryLocator:ioctl ping设备类型=5失败,ret=-1 BackgroundTask.java:Java goldfishAddressSpaceHostMemoryLocator:ioctl_ping失败,java,android,android-studio,logcat,Java,Android,Android Studio,Logcat,迁移到AndroidX后,此代码已停止工作。 在迁移到AndroidX之前,这段代码是有效的 错误: 2020-02-24 09:41:17.918 17888-17921/edmt.dev.androidgridlayout E/eglcodecommon:goldfishAddressSpaceHostMemoryLocator:ioctl ping设备类型=5失败,ret=-1 BackgroundTask.java: package edmt.dev.androidgridlayout;
package edmt.dev.androidgridlayout;
import android.content.Context;
import android.os.AsyncTask;
import android.view.View;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import javax.net.ssl.HttpsURLConnection;
public class BackgroundTask extends AsyncTask<String,String,String> {
Context ctx;
BackgroundTask(Context ctx)
{
this.ctx=ctx;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onProgressUpdate(String... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
Toast.makeText(ctx,result,Toast.LENGTH_LONG).show();
}
@Override
protected String doInBackground(String... params) {
// String url="http://192.168.42.159/kamakshi/addproduct.php?name="+name+"&quantity="+quantity;
String url="http://10.0.2.2/kamakshi/addproduct.php";
String method = params[0];
if (method.equals("addproduct"))
{
String name=params[1];
String quantity=params[2];
String cp=params[3];
String sp=params[4];
String etseller=params[5];
String seller=params[6];
String brand=params[7];
String colour=params[8];
String fabric=params[9];
String size=params[10];
String type=params[11];
// String gender=params[12];
System.out.println(method+"omkar"+name+"......"+quantity+" "+cp+" "+sp+" "+etseller+" "+seller+" "+brand+" "+colour+" "+fabric+" "+size);
try{
URL url1 = new URL(url);
HttpURLConnection httpsURLConnection = (HttpURLConnection)url1.openConnection();
if(httpsURLConnection!=null)
{
System.out.println("connn established");
}
else
{
System.out.println("connn failed");
}
System.out.println("connn established");
httpsURLConnection.setRequestMethod("POST");
httpsURLConnection.setDoOutput(true);
OutputStream os=httpsURLConnection.getOutputStream();
BufferedWriter bufferedWriter=new BufferedWriter(new OutputStreamWriter(os,"UTF-8"));
String data= URLEncoder.encode("name","UTF-8")+"="+URLEncoder.encode(name,"UTF-8")+"&"+
URLEncoder.encode("cp","UTF-8")+"="+URLEncoder.encode(cp,"UTF-8")+"&"+
URLEncoder.encode("sp","UTF-8")+"="+URLEncoder.encode(sp,"UTF-8")+"&"+
URLEncoder.encode("etseller","UTF-8")+"="+URLEncoder.encode(etseller,"UTF-8")+"&"+
URLEncoder.encode("seller","UTF-8")+"="+URLEncoder.encode(seller,"UTF-8")+"&"+
URLEncoder.encode("brand","UTF-8")+"="+URLEncoder.encode(brand,"UTF-8")+"&"+
URLEncoder.encode("colour","UTF-8")+"="+URLEncoder.encode(colour,"UTF-8")+"&"+
URLEncoder.encode("fabric","UTF-8")+"="+URLEncoder.encode(fabric,"UTF-8")+"&"+
URLEncoder.encode("size","UTF-8")+"="+URLEncoder.encode(size,"UTF-8")+"&"+
URLEncoder.encode("type","UTF-8")+"="+URLEncoder.encode(type,"UTF-8")+"&"+
// URLEncoder.encode("gender","UTF-8")+"="+URLEncoder.encode(gender,"UTF-8")+"&"+
URLEncoder.encode("quantity","UTF-8")+"="+URLEncoder.encode(quantity,"UTF-8");
bufferedWriter.write(data);
bufferedWriter.flush();
bufferedWriter.close();
os.close();
InputStream IS= httpsURLConnection.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(IS,"iso-8859-1"));
br.close();
IS.close();
httpsURLConnection.disconnect();
}catch (Exception e)
{
e.printStackTrace();
}
}
return url;
}
}
包edmt.dev.androidgridlayout;
导入android.content.Context;
导入android.os.AsyncTask;
导入android.view.view;
导入android.widget.Toast;
导入java.io.BufferedReader;
导入java.io.BufferedWriter;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.io.OutputStream;
导入java.io.OutputStreamWriter;
导入java.net.HttpURLConnection;
导入java.net.URL;
导入java.net.urlcoder;
导入javax.net.ssl.HttpsURLConnection;
公共类BackgroundTask扩展了AsyncTask{
上下文ctx;
背景任务(上下文ctx)
{
这个.ctx=ctx;
}
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
}
@凌驾
受保护的void onProgressUpdate(字符串…值){
super.onProgressUpdate(值);
}
@凌驾
受保护的void onPostExecute(字符串结果){
Toast.makeText(ctx,result,Toast.LENGTH_LONG).show();
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
//字符串url=”http://192.168.42.159/kamakshi/addproduct.php?name=“+name+”&quantity=“+quantity;
字符串url=”http://10.0.2.2/kamakshi/addproduct.php";
字符串方法=参数[0];
if(方法等于(“添加产品”))
{
字符串名称=参数[1];
字符串数量=参数[2];
字符串cp=params[3];
字符串sp=params[4];
字符串etseller=params[5];
字符串卖方=参数[6];
字符串品牌=参数[7];
字符串颜色=参数[8];
字符串结构=参数[9];
字符串大小=参数[10];
字符串类型=参数[11];
//字符串性别=参数[12];
系统输出打印项次(方法+“omkar”+名称+“…”+数量+“”+cp+“”+sp+“”+etseller+“”+seller+“”+品牌+“”+颜色+“”+面料+“”+尺码);
试一试{
URL url1=新的URL(URL);
HttpURLConnection httpsURLConnection=(HttpURLConnection)url1.openConnection();
如果(httpsURLConnection!=null)
{
System.out.println(“康恩成立”);
}
其他的
{
System.out.println(“connn失败”);
}
System.out.println(“康恩成立”);
httpsURLConnection.setRequestMethod(“POST”);
httpsURLConnection.setDoOutput(真);
OutputStream os=httpsURLConnection.getOutputStream();
BufferedWriter BufferedWriter=新的BufferedWriter(新的OutputStreamWriter(os,“UTF-8”));
字符串数据=URLEncoder.encode(“名称”,“UTF-8”)+”=“+URLEncoder.encode(名称,“UTF-8”)+”&”+
URLEncoder.encode(“cp”,“UTF-8”)+”=“+URLEncoder.encode(cp,“UTF-8”)+”&”+
URLEncoder.encode(“sp”、“UTF-8”)+”=“+URLEncoder.encode(sp,“UTF-8”)+”&”+
URLEncoder.encode(“ET卖方”,“UTF-8”)+”=“+URLEncoder.encode(ET卖方,“UTF-8”)+”&”+
URLEncoder.encode(“卖方”、“UTF-8”)+“=”+URLEncoder.encode(卖方,“UTF-8”)+“&”+
URLEncoder.encode(“品牌”、“UTF-8”)+”=“+URLEncoder.encode(品牌,“UTF-8”)+”&”+
URLEncoder.encode(“颜色”,“UTF-8”)+”=“+URLEncoder.encode(颜色,“UTF-8”)+”&”+
URLEncoder.encode(“结构”、“UTF-8”)+”=“+URLEncoder.encode(结构,“UTF-8”)+”&”+
URLEncoder.encode(“大小”,“UTF-8”)+”=“+URLEncoder.encode(大小,“UTF-8”)+”&”+
URLEncoder.encode(“类型”,“UTF-8”)+”=“+URLEncoder.encode(类型,“UTF-8”)+”&”+
//URLEncoder.encode(“性别”,“UTF-8”)+”=“+URLEncoder.encode(性别,“UTF-8”)+”&”+
urlcoder.encode(“数量”,“UTF-8”)+“=”+urlcoder.encode(数量,“UTF-8”);
bufferedWriter.write(数据);
bufferedWriter.flush();
bufferedWriter.close();
os.close();
InputStream IS=httpsURLConnection.getInputStream();
BufferedReader br=新的BufferedReader(新的InputStreamReader(IS,“iso-8859-1”);
br.close();
IS.close();
httpsURLConnection.disconnect();
}捕获(例外e)
{
e、 printStackTrace();
}
}
返回url;
}
}
AndroidManifest.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edmt.dev.androidgridlayout">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".scandemo"></activity>
<activity android:name=".Scanner" />
<activity android:name=".ProductTable" />
<activity android:name=".ProductView" />
<activity android:name=".addproduct" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ActivityOne" />
</application>
</manifest>
在清单文件的应用程序标记下添加这一行-
android:usesCleartextTraffic=“true”
我已经用所需的语句更新了您清单文件的代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edmt.dev.androidgridlayout">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">
<activity android:name=".scandemo"></activity>
<activity android:name=".Scanner" />
<activity android:name=".ProductTable" />
<activity android:name=".ProductView" />
<activity android:name=".addproduct" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ActivityOne" />
</application>
</manifest>
共享您的manifest.xml
filesir,我已经更新了我的帖子和共享manifest.xml文件服务器u,使用10.0.0.2作为您的ip连接到该服务器?你也尝试在api pie上运行你的应用程序吗?是的,先生,我正在使用10.0.2.2作为我的ip连接到该服务器,也使用api pie。请分享需要使用的确切代码added@OmkarGhurye我已经更新了我的答案,包括代码片段。值得一提的是,这解决了java.io.Exception。它与goldfishAddressSpaceHostMemoryLocator消息错误无关。