Android 使用updatefun 来自动更新
来源:互联网 发布:新网域名转出到阿里云 编辑:程序博客网 时间:2024/06/07 03:01
这几天研究了一下APP的自动更新,并且是那种最方便使用的,找了一下,找到一个框架:updatefun,使用方法比较简单,记录一下使用方法和遇到的问题。
使用步骤
1、使用Android studio 的依赖方式:
dependencies { compile 'cn.hugeterry.updatefun:updatefun:1.6.0' }
版本好像到1.8.6以上了
2、在APP的的activity 代码的onCreate()中加上以下语句进行初始化(需要注意的是,代码放在 setContentView()方法的后面):
UpdateKey.API_TOKEN = "写上你 fir.im 账号的 API_TOKEN";UpdateKey.APP_ID = "写上 APP 的应用 ID";//下载方式://UpdateKey.DialogOrNotification=UpdateKey.WITH_DIALOG;通过 Dialog 来进行下载//UpdateKey.DialogOrNotification=UpdateKey.WITH_NOTIFITION;通过通知栏来进行下载(默认)UpdateFunGO.init(this);
在onCreate()里写完初始化后,就到onResume()和onStop()加入一下代码:
@Override protected void onResume() { super.onResume(); UpdateFunGO.onResume(this); } @Override protected void onStop() { super.onStop(); UpdateFunGO.onStop(this); }
代码到处就算写完
4、fir.im 账号的 API_TOKEN和应用ID的来历
首先在fir.im 上注册账号,在fir.im的个人头像下找到API token,生成即可,记录下来,备用。
接着可在fir.im上传自己的未完成APP,获取到应用ID,记录下来备用。
5、获取完API token和 APP id后,就可以在代码用填入,并修改APP的版本号,打包上传到fir.im 。
defaultConfig { applicationId "com.example." minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.3" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" resValue "string", "updatefun_provider_file_authorities", "com.example.administrator.myapplication.fileprovider" }
6、手动更新的方法:
updatefun 的版本需 1.8.4 以上,依赖和加入token,APP id,参考上面
在需要调用更新的时候调用代码:
UpdateFunGO.manualStart(this);
和onResume()和onStop()的代码:
@Override protected void onResume() { super.onResume(); UpdateFunGO.onResume(this); } @Override protected void onStop() { super.onStop(); UpdateFunGO.onStop(this); }
7、在使用中遇到的问题
在安卓7.0 中由于新特性,报出: android.os.FileUriExposedException这个异常
android.os.FileUriExposedException: file:///sdcard/UpdateFun/com.example.administrator.myapplication.apk exposed beyond app through Intent.getData() at android.os.StrictMode.onFileUriExposed(StrictMode.java:1799) at android.net.Uri.checkFileUriExposed(Uri.java:2346) at android.content.Intent.prepareToLeaveProcess(Intent.java:8971) at android.content.Intent.prepareToLeaveProcess(Intent.java:8932) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1517) at android.app.Activity.startActivityForResult(Activity.java:4252) at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:65) at android.app.Activity.startActivityForResult(Activity.java:4210) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:711) at android.app.Activity.startActivity(Activity.java:4549) at android.app.Activity.startActivity(Activity.java:4517) at cn.hugeterry.updatefun.module.Download.installApk(Download.java:193) at cn.hugeterry.updatefun.module.Download.access$900(Download.java:36) at cn.hugeterry.updatefun.module.Download$1.handleMessage(Download.java:88) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:792)
折腾了挺久,没搞定,后面就用了个笨方法,将 targetSdkVersion 降低到22,发现可以正常安装,勉为其难的用着吧。
阅读全文
0 0
- Android 使用updatefun 来自动更新
- 如何使用apidoc来自动更新API文档
- Android应用自动更新功能实现使用AsyncTask!
- Android应用自动更新功能实现使用AsyncTask!
- 关于Android的自动更新库(使用心得)
- Android App内部自动更新Library的使用
- Android 自动更新
- android自动更新
- android自动更新
- android 自动更新
- Android自动更新
- Android 自动更新
- 使用crontab进行Android代码的自动更新和构建
- Android 百度自动更新(升级)SDK的使用
- android 自动更新APP版本,并使用ProgressDialog显示进度
- Android使用百度自动更新遇到的奇葩问题
- 【Android】Android程序自动更新
- 使用 .NET 和后台智能传输服务 API 来编写自动更新应用程序
- 进程间调用,参数带有空格的解决措施
- MongoDB_副本集
- Hadoop学习(四)——Hive学习2
- iCare Data Recovery Pro(数据恢复软件)官方破解版V8.0.5.0下载 | icare data recovery 注册码
- 关于android中cavas缩放函数scale后2个参数理解
- Android 使用updatefun 来自动更新
- Python库总结——配置相关库(ConfigParser,logging,sys,getopt)
- linux 练习五 如何生成库.so及被C和C++程序可用
- java分布式架构Dubbo+Zookeeper+ActiveMQ+Redis+Nginx+Netty+Oracle+RocketMQ+Linux,教学视频+项目实战
- 单点登录
- Integer to Roman--LeetCode
- hdu oj 1116 Play on Words(并查集+欧拉路径)
- Ubuntu下如何卸载Mysql数据库
- liunx 利用ssh传输文件