{"id":13645236,"url":"https://github.com/caikaidev/AppUpdate","last_synced_at":"2025-04-21T13:32:20.333Z","repository":{"id":40726508,"uuid":"84414649","full_name":"caikaidev/AppUpdate","owner":"caikaidev","description":"android app update library","archived":false,"fork":false,"pushed_at":"2018-12-05T12:09:12.000Z","size":495,"stargazers_count":235,"open_issues_count":7,"forks_count":58,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-08-04T00:07:03.165Z","etag":null,"topics":["android-update","app-update","appupdate"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/caikaidev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-09T08:00:48.000Z","updated_at":"2024-08-04T00:07:03.166Z","dependencies_parsed_at":"2022-08-19T07:01:26.167Z","dependency_job_id":null,"html_url":"https://github.com/caikaidev/AppUpdate","commit_stats":null,"previous_names":["fccaikai/appupdate"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caikaidev%2FAppUpdate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caikaidev%2FAppUpdate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caikaidev%2FAppUpdate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caikaidev%2FAppUpdate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caikaidev","download_url":"https://codeload.github.com/caikaidev/AppUpdate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250064780,"owners_count":21368970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-update","app-update","appupdate"],"created_at":"2024-08-02T01:02:31.872Z","updated_at":"2025-04-21T13:32:19.358Z","avatar_url":"https://github.com/caikaidev.png","language":"Java","readme":"# AppUpdate\n[中文文档](https://github.com/fccaikai/AppUpdate/blob/master/README_zh.md)\n\nandroid app update library\n\n### Screenshots\n\n### ![](https://ww3.sinaimg.cn/large/006tNbRwgy1fdhug16dnhj30km0b4glu.jpg)\n\n![](https://ww4.sinaimg.cn/large/006tNbRwgy1fdhuhh2vzej30ea0b474b.jpg)\n\n\n\n### Usage\n\n#### setup\n\n+ Step 1. Add the JitPack repository to your build file   \n\n   Add it in your root build.gradle at the end of repositories:\n\n   ```groovy\n   allprojects {\n   \trepositories {\n   \t\t...\n   \t\tmaven { url 'https://jitpack.io' }\n   \t}\n   }\n   ```\n\n+ Step 2. Add the dependency   \n\n   ```groovy\n   dependencies {\n            compile 'com.github.fccaikai:AppUpdate:2.1.4'\n    }\n   ```\n\n#### usage\n\n\n```java\nUpdateWrapper updateWrapper = new UpdateWrapper.Builder(getApplicationContext())\n    \t\t\t\t\t//set interval Time\n    \t                .setTime(time)\n    \t                //set notification icon\n    \t                .setNotificationIcon(R.mipmap.ic_launcher_round)\n    \t                //set update file url\n    \t                .setUrl(\"you update json file url\")\n  \t\t\t\t\t\t//set customs activity\n  \t\t\t\t\t\t.setCustomsActivity(cls)\n  \t\t\t\t\t\t //set showToast. default is true\n    \t                .setIsShowToast(false)\n  \t\t\t\t\t\t//add callback ,return new version info\n\t\t\t\t\t\t.setCallback(new CheckUpdateTask.Callback() {\n                                    @Override\n                                    public void callBack(VersionModel model,booleab hasNewVersion) {\n                                        Log.d(TAG,\"new version :\" + \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodel.getVersionName());\n                                    }\n                                })\n  \t\t\t\t\t\t.build();\n\nupdateWrapper.start();\n```\n\n  The update json format：\n\n```json\n{\n  \"versionCode\":1,\n  \"versionName\":\"1.0.0\",\n  \"content\":\"1.add something#2.add something\",//use # to wrap\n  \"minSupport\":1,\t//min support version. while your app versionCode less than  minSupport,You must update app\n  \"url\":\"apk download url\"\n}\n```\n\n#### Custom\n\n+ create  custome Activity\n\n  create an activity ```extents UpdateActivity   ``` ,and Override ```protected Fragment getUpdateDialogFragment()```.like :\n\n  ```java\n  public class CustomsUpdateActivity extends UpdateActivity {\n      @Override\n      protected Fragment getUpdateDialogFragment() {\n          return CustomsUpdateFragment.newInstance(mModel);\n      }\n  }\n  ```\n\n+ set theme\n\n  set Activity theme as Dialog to,in ```Androidmanifest.xml```\n\n  ```xml\n  android:theme=\"@style/UpdateDialog\"\n  ```\n\n  ```xml\n  \u003cactivity \n            android:name=\".CustomsUpdateActivity\"\n            android:theme=\"@style/UpdateDialog\"\u003e\n  \u003c/activity\u003e\n  ```\n\n  ​\n\n+ create custom FragmentDialog\n\n  create a FragmentDialog ``` extends UpdateDialog```.like:\n\n  ```java\n\n  public class CustomsUpdateFragment extends UpdateDialog {\n\n      public static CustomsUpdateFragment newInstance(VersionModel model) {\n\n          Bundle args = new Bundle();\n          args.putSerializable(Constant.MODEL, model);\n          CustomsUpdateFragment fragment = new CustomsUpdateFragment();\n          fragment.setArguments(args);\n          return fragment;\n      }\n\n      @Override\n      protected int getLayout() {\n          return R.layout.fragment_update_dialog;\n      }\n\n      @Override\n      protected void setContent(View view, int contentId) {\n          super.setContent(view, R.id.content);\n      }\n\n      @Override\n      protected void bindUpdateListener(View view, int updateId) {\n          super.bindUpdateListener(view, R.id.update);\n      }\n\n      @Override\n      protected void bindCancelListener(View view, int cancelId) {\n          super.bindCancelListener(view, R.id.cancel);\n      }\n\n      @Override\n      protected void initIfMustUpdate(View view, int id) {\n          super.initIfMustUpdate(view, R.id.cancel);\n      }\n  }\n  ```\n\n+ set Custom Activity\n\n  ```java\n  UpdateWrapper.Builder builder = ...;\n  builder.setCustomsActivity(CustomsUpdateActivity.class);\n  ...\n  builder.build().start();\n  ```\n\n  see the [demo](https://github.com/fccaikai/AppUpdate/blob/master/app/src/main/java/com/kcode/appupdate/MainActivity.java) .\n\n### Library\n\n+ v7-support   \n\n   ```compile 'com.android.support:appcompat-v7:25.2.0'```   \n\n If you don't want to use,you can ```exclude``` it.\n\n\n\n","funding_links":[],"categories":["升级更新"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaikaidev%2FAppUpdate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaikaidev%2FAppUpdate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaikaidev%2FAppUpdate/lists"}