Java “我快崩溃了”;getActivity().getPackageName();虽然启用了proguard,但在未启用的情况下工作正常

Java “我快崩溃了”;getActivity().getPackageName();虽然启用了proguard,但在未启用的情况下工作正常,java,android,Java,Android,我正在尝试使用带有包名的jsoup在play store中获取我的应用程序的版本名。在中时,通过启用prograud生成生成apk。它在获取包名时抛出错误 我正在使用此代码从play store检索版本名。 @Override protected String doInBackground(Void... params) { String newVersion = null; try { Log.e("newVersion","newVersion");

我正在尝试使用带有包名的jsoup在play store中获取我的应用程序的版本名。在中时,通过启用prograud生成生成apk。它在获取包名时抛出错误

我正在使用此代码从play store检索版本名。

@Override
protected String doInBackground(Void... params) {

    String newVersion = null;
    try {
        Log.e("newVersion","newVersion");

        newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + getActivity().getPackageName() + "&hl=it")
                .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("div[itemprop=softwareVersion]")
                .first()
                .ownText();

        Log.e("Jsoup.connect","Jsoup.connect");

        return newVersion;
    } catch (Exception e) {
        return newVersion;
    }
}
我的错误是:

E/AndroidRuntime:FATAL EXCEPTION:AsyncTask#1进程:com.iroid.android.gk4success\u staffnurse,PID:14673
java.lang.RuntimeException:执行doInBackground()时出错
在android.os.AsyncTask$3.done(AsyncTask.java:318)
位于java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
位于java.util.concurrent.FutureTask.setException(FutureTask.java:223)
位于java.util.concurrent.FutureTask.run(FutureTask.java:242)
在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
运行(Thread.java:762)
原因:java.lang.ExceptionInInitializeError
在org.a.b.i.a(未知来源)
位于org.a.b.i$b(未知来源)
在org.a.b.f$a(未知来源)
在org.a.b.f.(来源不明)
在org.a.c.l.b(未知来源)
在org.a.c.l.a(未知来源)
在org.a.c.b.a(未知来源)
在org.a.c.f.a(来源不明)
在org.a.a.a.a(未知来源)
在org.a.a.b$c.e(未知来源)
在org.a.a.b.a(未知来源)
在com.iroid.android.gk4success_staffnurse.f.a$9.a(未知来源)
在com.iroid.android.gk4success_staffnurse.f.a$9.doInBackground(未知来源)
位于android.os.AsyncTask$2.call(AsyncTask.java:304)
位于java.util.concurrent.FutureTask.run(FutureTask.java:237)
在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
运行(Thread.java:762)
原因:java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“int java.io.Reader.read(char[])”
位于java.util.Properties$LineReader.readLine(Properties.java:435)
位于java.util.Properties.load0(Properties.java:354)
加载(Properties.java:342)
在org.a.b.i.d(未知来源)
在org.a.b.i.(来源不明)
在org.a.b.i.a(未知来源)
位于org.a.b.i$b(未知来源)
在org.a.b.f$a(未知来源)
在org.a.b.f.(来源不明)
在org.a.c.l.b(未知来源)
在org.a.c.l.a(未知来源)
在org.a.c.b.a(未知来源)
在org.a.c.f.a(来源不明)
在org.a.a.a.a(未知来源)
在org.a.a.b$c.e(未知来源)
在org.a.a.b.a(未知来源)
在com.iroid.android.gk4success_staffnurse.f.a$9.a(未知来源)
在com.iroid.android.gk4success_staffnurse.f.a$9.doInBackground(未知来源)
位于android.os.AsyncTask$2.call(AsyncTask.java:304)
位于java.util.concurrent.FutureTask.run(FutureTask.java:237)
在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
运行(Thread.java:762)

有人能告诉我如何解决这个错误吗?

试着将您的新版本变量声明为空字符串

String newVersion = "";

尝试将newVersion变量声明为空字符串

String newVersion = "";

这似乎是与
Proguard
相关的
Jsoup
错误

proguard
文件中,尝试添加

-keeppackagenames org.jsoup.nodes

-keep public class org.jsoup.** {
public *;
}

这似乎是与
Proguard
相关的
Jsoup
错误

proguard
文件中,尝试添加

-keeppackagenames org.jsoup.nodes

-keep public class org.jsoup.** {
public *;
}

对不起,朋友,我试图提高自己的声誉,但我的声誉却越来越差。对不起,朋友,我试图提高自己的声誉,但我的声誉却越来越差。