Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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
如何在没有playstore的情况下自动更新android应用程序?就像Facebook应用程序或任何竞赛应用程序一样_Android_Android Update App - Fatal编程技术网

如何在没有playstore的情况下自动更新android应用程序?就像Facebook应用程序或任何竞赛应用程序一样

如何在没有playstore的情况下自动更新android应用程序?就像Facebook应用程序或任何竞赛应用程序一样,android,android-update-app,Android,Android Update App,应用程序如何在内部自动更新而不从playstore更新? 我的意思是应用程序的内部数据在没有playstore更新的情况下被更改(通过互联网)。例如任何竞赛应用程序或Facebook应用程序。在这里,新闻提要将自动更新 这个术语是什么 有关于它的教程吗?如果你想检查你的应用程序是否有更新(不与Google Play交互),你必须轮询服务器(提供当前版本),让服务器检查是否有更新版本可用。如果是这样的话,让服务器用一个变更日志和一个新版本的url来响应 幸运的是,有一些库可以做到这一点: 。An

应用程序如何在内部自动更新而不从playstore更新? 我的意思是应用程序的内部数据在没有playstore更新的情况下被更改(通过互联网)。例如任何竞赛应用程序或Facebook应用程序。在这里,新闻提要将自动更新

这个术语是什么


有关于它的教程吗?

如果你想检查你的应用程序是否有更新(不与Google Play交互),你必须轮询服务器(提供当前版本),让服务器检查是否有更新版本可用。如果是这样的话,让服务器用一个变更日志和一个新版本的url来响应

幸运的是,有一些库可以做到这一点:

  • 。Android库,用于检查您自己服务器(或Google Play、Github等)上的更新。伟大的此库通过显示材质对话框、Snackbar或通知来通知应用程序的更新
  • 。中国图书馆,但应该这样做,最流行的图书馆之一,这样做,但这可能只是因为谷歌播放在中国是不可用的
  • 一个简单的非市场方式来保持你的应用程序更新。 它只需要设置一个URL,指向描述应用程序更改的JSON文档
  • 此项目允许使用私有更新服务器(请参阅)而不是Google Play updater自动更新正在运行的APK应用程序。还附带了一个服务器脚本
  • 。较旧的库,但有英文说明,还提供服务器脚本
  • 。检查更新,但实际更新必须从Play Store下载
      这是备选方案

      尝试从应用程序更新此google库

          dependencies {
      implementation 'com.google.android.play:core:1.5.0'
      ...}
      

      还可以查看AppCenter(前HockeyApp)的应用程序内更新,它在打开下载的APK文件方面具有完美且仍在运行的实现

         private fun install(downloadedAPK: File, context: Context) {
              val intent = Intent(Intent.ACTION_INSTALL_PACKAGE)
              intent.setDataAndType(Uri.fromFile(downloadedAPK),
                      "application/vnd.android.package-archive")
              intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
      
              var oldVmPolicy: StrictMode.VmPolicy? = null
      
              if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                  oldVmPolicy = StrictMode.getVmPolicy()
                  val policy = StrictMode.VmPolicy.Builder()
                          .penaltyLog()
                          .build()
                  StrictMode.setVmPolicy(policy)
              }
      
              context.startActivity(intent)
      
              if (oldVmPolicy != null) {
                  StrictMode.setVmPolicy(oldVmPolicy)
              }
          }
      

      您可以尝试以下库:
      implementation'com.github.vermat516:HelperLibrary:1.0.1'
      从我的观点来看,这是最好的,我们只需写下:

      new UniversalHelper(this).updateApp();
      
      其余工作将由库自动完成


      这就是你的应用程序看起来的样子[]

      @NickD是的,当然我已经尝试了第一个和第三个。第一个是最好的也是最简单的。第一个绝对是最好的。它还有一些翻译成英语的叉子。不过,如果有人真的喜欢这个话题,我建议检查一下F-Droid的来源。@Sobvan Link?另外,您如何使用
      .apk
      文件自动更新此文件?这是一个很好的答案,但不是问题的答案。您接受的答案根本不涉及您的查询。嗯,你没有办法更新代码,但是有一些方法可以让用户感觉到应用程序的内容已经自动更新了。1.使用firebase 2中的远程配置之类的东西。使用诸如electron之类的框架构建App3。拥有用户的应用程序安装权限,并为urself安装一个应用程序更新程序包,该包没有入口点,但有一个服务来更新应用程序。这样你就可以随时更新你的应用程序。但获得该许可并不容易。注意:
      通过Google Play发布的应用程序不得使用Google Play的更新机制以外的任何方法修改、替换或更新自身。
      OP明确要求
      不使用Play store
      解决方案。您的解决方案100%基于google play商店的可用性。