Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序自动更新过程_Android_Repository_Apk_Auto Update - Fatal编程技术网

Android应用程序自动更新过程

Android应用程序自动更新过程,android,repository,apk,auto-update,Android,Repository,Apk,Auto Update,我在这里发布了一个Android开源应用程序。。。正如您在下载部分所看到的,我为我的用户分发预编译的apk包 该应用程序实现了一个非常简单的自动更新引擎: 启动时,它会检查github存储库中的文件版本,其中包含可用的最新版本的字符串,并将其与正在运行的版本名进行比较 如果远程版本>本地版本,则应用程序将从repo下载新的apk 问题在于,当安装过程开始时: Intent intent = new Intent( Intent.ACTION_VIEW ); intent.setDataAndTy

我在这里发布了一个Android开源应用程序。。。正如您在下载部分所看到的,我为我的用户分发预编译的apk包

该应用程序实现了一个非常简单的自动更新引擎:

  • 启动时,它会检查github存储库中的文件版本,其中包含可用的最新版本的字符串,并将其与正在运行的版本名进行比较
  • 如果远程版本>本地版本,则应用程序将从repo下载新的apk
  • 问题在于,当安装过程开始时:

    Intent intent = new Intent( Intent.ACTION_VIEW );
    intent.setDataAndType( Uri.fromFile( file ), "application/vnd.android.package-archive" );
    intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
    
    mContext.startActivity(intent);
    
    用户收到错误消息:

    An existing package by the same name with a conflicting signature is already installed.
    
    为了在eclipse中创建apk,我导出一个签名的apk,并为每个版本创建一个新的密钥库。。。我必须始终使用相同的密钥库吗


    谢谢

    是的!您始终必须使用相同的密钥库。事实上,如果您使用的是Google Play Store,那么如果使用不同的密钥库签名,它将不允许您发布更新。如果您不再拥有用于签署第一个apk的相同密钥库,则需要用户卸载应用程序并安装新版本。从现在起,如果您使用相同的密钥库,那么过程应该会顺利进行。

    用于应用程序签名的密钥应该是相同的。