2017-06-17 31 views
2

能解决我的问题吗? 我用Jsoup从Play商店进行版本检查。当我从android工作室运行我的应用程序作为调试apk。它运作良好。但是当生成签名的Apk。当代码运行并显示消息时,它崩溃“不幸的是应用程序已停止”。有没有人帮助我。我向你展示我的代码。提前致谢。在proguard-rules.pro文件签名apk使用jsoup崩溃但调试不

private void getCurrentVersion(){ 
     try { 
      currentVersion = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; 
     } catch (PackageManager.NameNotFoundException e) { 
      e.printStackTrace(); 
     } 
     new GetLatestVersion().execute(); 
    } 

public class GetLatestVersion extends AsyncTask<String, String, String> { 

    @Override 
    protected String doInBackground(String... params) { 
     try { 
      latestVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + MainActivity.this.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(); 
      return latestVersion; 
     }catch (Exception e){ 
      return latestVersion; 
     } 
    } 

    @Override 
    protected void onPostExecute(String version) { 
     super.onPostExecute(version); 
     if(version!=null) { 
      if (!currentVersion.equals(latestVersion)){ 
       showUpdateDialog(); 
      } 
     } 
     else 
      dialog.dismiss(); 

    } 
    public boolean isFinished() { 
     return true; 
    } 
} 

private void showUpdateDialog(){ 
    final AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setTitle("A New Update is Available"); 
    builder.setPositiveButton("Update", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse 
        ("market://details?id=com.kjsdeveloper.sattagamblers"))); 
      dialog.dismiss(); 
     } 
    }); 

    builder.setNegativeButton("Later", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      dialog.dismiss(); 
     } 
    }); 

    builder.setCancelable(false); 
    dialog = builder.show(); 
} 
+0

问题是与您签署的apk。 [检查这个答案](https://stackoverflow.com/a/44387533/5860777),你有解决方案。 –

回答

2

附加proguard的规则位于摇篮脚本 :

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