【发布时间】:2017-11-20 02:48:13
【问题描述】:
可以解决我的问题吗? 我使用 Jsoup 从 Play 商店进行版本检查。当我从 android studio 作为调试 apk 运行我的应用程序时。它运作良好。但是当生成签名 Apk 时。运行此代码并显示消息“不幸的是应用程序已停止”时它崩溃了。有没有人帮助我。我给你看我的代码。提前致谢。
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();
}
【问题讨论】:
-
问题出在您签名的 apk 上。 Check this answer 你得到了解决方案。