简体   繁体   English

启用proguard时,我在“ getActivity()。getPackageName()”上崩溃,但在未启用的情况下工作正常

[英]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.

相关问题 在Android上启用Proguard失败 - enabling proguard on android failing 我正在GitHub代码DatabaseManager_For_Android上工作,并且getActivity()方法出现错误 - Iam working on a GitHub code DatabaseManager_For_Android and I am getting error at the getActivity() method 启用部署时Jboss崩溃 - Jboss crash when enabling deploy 启用Proguard无法在设备中运行发布应用 - Enabling Proguard not able to run release app in Device 使dropwizard中的cors无法正常工作 - Enabling cors in dropwizard not working 在KAFKA中启用SSL时获取SSL握手错误 - Getting SSL handshake error while Enabling SSL in KAFKA 在 localhost 中启用 jersey 中的 POJOMappingFeature 后从应用引擎运行时出错 - Error while running from app engine after enabling POJOMappingFeature in jersey while in localhost work fine 在没有AbstractSecurityWebApplicationInitializer的情况下启用Spring Security - Enabling Spring Security without AbstractSecurityWebApplicationInitializer 为什么在我写入的文件正常的情况下在屏幕上显示此输出? - Why I am getting this output on screen while the file I am writing to is fine? 启用proguard时androidTest中没有静态方法deleteRecursively(Ljava/io/File;) - No static method deleteRecursively(Ljava/io/File;) in androidTest when enabling proguard
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM