java - java.lang.RuntimeException:在 Google Play 商店中上传时执行 doInBackground() 时发生错误
问题描述
我在 doinbackground() 中遇到了问题,我已经在模拟器中进行了测试,并且运行良好。但是如果我上传到playstore,就会出现这个错误,我应该怎么解决这个问题?有人帮我请
我尝试了任何方法来解决这个问题。但很难对其进行测试,因为在模拟器中或者我调试到我的 android 它运行良好,这个错误没有出现。但如果我上传到谷歌游戏商店,就会出现这个错误。对不起,我的英语不好
package com
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.crowdfire.cfalertdialog.CFAlertDialog;
import org.json.JSONException;
import org.json.JSONObject;
import org.jsoup.Jsoup;
import java.util.HashMap;
import java.util.Map;
public class Splash extends AppCompatActivity {
PrefManager prefManager;
GlobalFunction globalFunction;
API api;
Permission permission;
HashMap<String, String> dataUser;
String NIK = "", VERIFIKASI = "";
String
txtNik, txtEmail, txtNama, txtHp, txtAlamat, txtFoto, txtModel, txtImei, txtSumbar,
txtVerifikasi, txtToken;
String currentVersion, latestVersion;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
PackageManager manager = this.getPackageManager();
PackageInfo info = null;
try {
info = manager.getPackageInfo(this.getPackageName(), 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
String versionCode = "" + info.versionCode;
try {
currentVersion = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
new GetVersionCode().execute();
prefManager = new PrefManager(this);
globalFunction = new GlobalFunction(this);
api = new API(this);
permission = new Permission(this);
Bundle extras = getIntent().getExtras();
if (getIntent() != null) {
if (extras != null) {
NIK = extras.getString("NIK");
VERIFIKASI = extras.getString("Verifikasi");
if (NIK == null || VERIFIKASI == null) {
} else {
prefManager.saveSessionPublic(prefManager.getVERIFIKASI(), "1");
dataUser = prefManager.getUserDetails();
txtNik = dataUser.get(prefManager.getTagNik());
txtEmail = dataUser.get(prefManager.getEMAIL());
txtNama = dataUser.get(prefManager.getTagNama());
txtHp = dataUser.get(prefManager.getTagHp());
txtAlamat = dataUser.get(prefManager.getTagAlamat());
txtFoto = dataUser.get(prefManager.getTagPhoto());
txtModel = dataUser.get(prefManager.getDEVICEMODEL());
txtImei = dataUser.get(prefManager.getDEVICEIMEI());
txtSumbar = dataUser.get(prefManager.getSUMBAR());
txtVerifikasi = dataUser.get(prefManager.getVERIFIKASI());
txtToken = MyMessagingService.getToken(getApplicationContext());
jsonRegister(API.ONSREGIS);
}
} else {
}
}
}
private void jsonRegister(String url) {
StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
String message = null;
JSONObject jObj = new JSONObject(response);
String status = jObj.getString("status");
} catch (JSONException e) {
// JSON error
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
globalFunction.handleVolleyError(error);
}
}) {
@Override
protected Map<String, String> getParams() {
// Posting parameters to login url
Map<String, String> params = new HashMap<String, String>();
params.put("nik", txtNik);
params.put("email", txtEmail);
params.put("nama", txtNama);
params.put("hp", txtHp);
params.put("alamat", txtAlamat);
params.put("foto", txtFoto);
params.put("model", txtModel);
params.put("imei", txtImei);
params.put("sumbar", txtSumbar);
params.put("verifikasi", txtVerifikasi);
params.put("token", txtToken);
return params;
}
};
globalFunction.getmRequestQueue().add(request);
}
private class GetVersionCode extends AsyncTask<Void, String, String> {
String newVersion;
@Override
protected String doInBackground(Void... voids) {
try {
newVersion = Jsoup.connect("https://play.google.com/store/apps/details?*********************")
.timeout(30000)
.userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
.referrer("http://www.google.com")
.get()
.select(".hAyfc .htlgb")
.get(7)
.ownText();
return newVersion;
} catch (Exception e) {
return newVersion;
}
}
@Override
protected void onPostExecute(String onlineVersion) {
super.onPostExecute(onlineVersion);
if (onlineVersion != null && !onlineVersion.isEmpty()) {
latestVersion = onlineVersion;
if (currentVersion.equals(onlineVersion)) {
checkLogin();
} else {
alertUpdate();
}
}
例外:
2019-07-30 08:37:34.229 26285-26361/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.surya.diskominfosumbar.onsmart, PID: 26285
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:318)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:760)
Caused by: java.lang.ExceptionInInitializerError
at org.a.b.i.a(Unknown Source)
at org.a.b.i$b.<clinit>(Unknown Source)
at org.a.b.f$a.<init>(Unknown Source)
at org.a.b.f.<init>(Unknown Source)
at org.a.c.l.b(Unknown Source)
at org.a.c.l.a(Unknown Source)
at org.a.c.b.a(Unknown Source)
at org.a.c.f.a(Unknown Source)
at org.a.a.a.a(Unknown Source)
at org.a.a.b$c.e(Unknown Source)
at org.a.a.b.a(Unknown Source)
at com.surya.diskominfosumbar.onsmart.Splash$a.a(Unknown Source)
at com.surya.diskominfosumbar.onsmart.Splash$a.doInBackground(Unknown Source)
at android.os.AsyncTask$2.call(AsyncTask.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:760)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.Reader.read(char[])' on a null object reference
at java.util.Properties$LineReader.readLine(Properties.java:435)
at java.util.Properties.load0(Properties.java:354)
at java.util.Properties.load(Properties.java:342)
at org.a.b.i.d(Unknown Source)
at org.a.b.i.<clinit>(Unknown Source)
at org.a.b.i.a(Unknown Source)
at org.a.b.i$b.<clinit>(Unknown Source)
at org.a.b.f$a.<init>(Unknown Source)
at org.a.b.f.<init>(Unknown Source)
at org.a.c.l.b(Unknown Source)
at org.a.c.l.a(Unknown Source)
at org.a.c.b.a(Unknown Source)
at org.a.c.f.a(Unknown Source)
at org.a.a.a.a(Unknown Source)
at org.a.a.b$c.e(Unknown Source)
at org.a.a.b.a(Unknown Source)
at com.surya.diskominfosumbar.onsmart.Splash$a.a(Unknown Source)
at com.surya.diskominfosumbar.onsmart.Splash$a.doInBackground(Unknown Source)
at android.os.AsyncTask$2.call(AsyncTask.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:760)
解决方案
您有一些代码涉及一个未包含在您的帖子中的行阅读器,该代码引发空指针异常:
...Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.Reader.read(char[])' on a null object reference
at java.util.Properties$LineReader.readLine(Properties.java:435)..
推荐阅读
- r - 计算向量中的最小值,其中最小值按连续顺序排列
- javascript - 单击按钮时我无法增加变量的值
- wix - 如果没有管理员权限,从我的 .MSI 安装的程序将无法启动
- python - SQLite 无法读取使用 Python 创建的表
- gremlin - 在循环语句中向图形遍历对象添加多个属性方法
- angular - Angular:IE 11 中 [style.display] 的奇怪行为 - 两种方式绑定不起作用
- xcode - 在 NASM 程序集中声明 .data 值的 mul eax
- google-pagespeed - 如何使用 apache 为第三方设置有效的缓存策略来服务静态资产?
- c# - Input.GetAxis Key 发布不适用于 WebGL
- r - bquote,解析,表达式以在 ggplot 中以希腊字母和变量作为下标获取多行标签