[英]I am getting crash on “getActivity().getPackageName() ” while enabling proguard but working fine without enabling
I am trying to get version name of my app in play store using jsoup with package name. 我正在尝试使用带有包名称的jsoup获取Play商店中我的应用程序的版本名称。 when in generate build apk by enabling prograud. 通过启用prograud生成build apk。 It throws error while getting package name. 获取程序包名称时抛出错误。
I am using this code to retrieve version name from play store. 我正在使用此代码从Play商店中检索版本名称。
@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;
}
}
and my error is : 我的错误是:
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1 Process: com.iroid.android.gk4success_staffnurse, PID: 14673 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:762) Caused by: java.lang.ExceptionInInitializerError at org.abia(Unknown Source) at org.abi$b.<clinit>(Unknown Source) at org.abf$a.<init>(Unknown Source) at org.abf<init>(Unknown Source) at org.aclb(Unknown Source) at org.acla(Unknown Source) at org.acba(Unknown Source) at org.acfa(Unknown Source) at org.aaaa(Unknown Source) at org.aab$ce(Unknown Source) at org.aaba(Unknown Source) at com.iroid.android.gk4success_staffnurse.fa$9.a(Unknown Source) at com.iroid.android.gk4success_staffnurse.fa$9.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:762) 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.abid(Unknown Source) at org.abi<clinit>(Unknown Source) at org.abia(Unknown Source) at org.abi$b.<clinit>(Unknown Source) at org.abf$a.<init>(Unknown Source) at org.abf<init>(Unknown Source) at org.aclb(Unknown Source) at org.acla(Unknown Source) at org.acba(Unknown Source) at org.acfa(Unknown Source) at org.aaaa(Unknown Source) at org.aab$ce(Unknown Source) at org.aaba(Unknown Source) at com.iroid.android.gk4success_staffnurse.fa$9.a(Unknown Source) at com.iroid.android.gk4success_staffnurse.fa$9.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:762)
Can anyone please tell how to solve this error ? 谁能告诉我如何解决这个错误?
尝试将newVersion变量声明为空字符串。
String newVersion = "";
This seems to be Jsoup
error related to Proguard
. 这似乎是与Proguard
相关的Jsoup
错误。
In your proguard
file, try adding 在您的proguard
文件中,尝试添加
-keeppackagenames org.jsoup.nodes
OR 要么
-keep public class org.jsoup.** {
public *;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.