Android APP通过浏览器下载最新版本

如何使用apk2url从APK中快速提取IP地址和URL节点 apk2url是一款功能强大的公开资源情报OSINT工具,该工具可以通过对APK文件执行反汇编和反编译,以从中快速提取出IP地址和URL节点,然后将结果过滤并存储到一个.txt输出文件中。该工具本质上是一个Shell脚本,专为红队研究人员、渗透测试人员和安全开发人员设计,能够实现快速数据收集与提取,并识别目标应用程序相关连的节点信息。值得一提的是,该工具与APKleaks、MobSF和AppInfoScanner等工具相比,能够提取出更多的节点信息。扫描多个APK文件(提供目录路径) 阅读详情

Android APP通过浏览器下载最新版本

首先判断app本地的版本和服务器上的版本是否是一样的。如果有新版本,那么就进行更新。
需要服务器端提供两个接口

  1. 获取服务器端apk版本号
  2. apk地址

1.获取当前app的版本号

/**
     * 获取版本号
     *
     * @throws PackageManager.NameNotFoundException
     */
    public static String getVersionName(Context context) throws PackageManager.NameNotFoundException {
        // 获取packagemanager的实例
        PackageManager packageManager = context.getPackageManager();
        // getPackageName()是你当前类的包名,0代表是获取版本信息
        PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
        String version = packInfo.versionName;
        return version;
    }

2.根据版本号名称判断版本高低
0代表相等,1代表version1大于version2,-1代表version1小于version2

  /**
     * 版本号比较
     *0代表相等,1代表version1大于version2,-1代表version1小于version2
     * @param version1
     * @param version2
     * @return
     */
    public static int compareVersion(String version1, String version2) {
        if (version1.equals(version2)) {
            return 0;
        }
        String[] version1Array = version1.split("\\.");
        String[] version2Array = version2.split("\\.");
        int index = 0;
        // 获取最小长度值
        int minLen = Math.min(version1Array.length, version2Array.length);
        int diff = 0;
        // 循环判断每位的大小
        while (index < minLen
                && (diff = Integer.parseInt(version1Array[index])
                - Integer.parseInt(version2Array[index])) == 0) {
            index++;
        }
        if (diff == 0) {
            // 如果位数不一致,比较多余位数
            for (int i = index; i < version1Array.length; i++) {
                if (Integer.parseInt(version1Array[i]) > 0) {
                    return 1;
                }
            }
 
            for (int i = index; i < version2Array.length; i++) {
                if (Integer.parseInt(version2Array[i]) > 0) {
                    return -1;
                }
            }
            return 0;
        } else {
            return diff > 0 ? 1 : -1;
        }
    }

3.从服务器获取最新版本号
http工具类(HttpURLTools)可参照Http工具类

Handler handlerapkVersion = new Handler() {
		@Override
		public void handleMessage(Message msg) {
			super.handleMessage(msg);
			Bundle data = msg.getData();
			String strRet = data.getString("value");
			if (strRet == null) {
				UIHelper.showToast(LoginActivity.this, "服务器异常!");
			} else {
				try {
					JSONObject json = new JSONObject(strRet);
					String apkVersion = json.getString("versionnumber");
					String apkVersion1 = UIHelper
							.getVersionName(LoginActivity.this);//获取当前app的版本号
					int result = UIHelper.compareVersion(apkVersion1,
							apkVersion);
					if (result == -1) { // 不是最新版本
						showNoticeDialog();
					}
				} catch (JSONException | NameNotFoundException e) {
					e.printStackTrace();
				}
			}

		}
	};

	Runnable apkVersionTask = new Runnable() {
		@Override
		public void run() {
			String strRet = null;
			try {
				strRet = HttpURLTools.sendHttpGet(GenBDB.strBaseURL
						+ "apk/apkVersion");//从服务器获取最新版本号(接口)
			} catch (Exception e) {
				e.printStackTrace();
			}
			Message msg = new Message();
			Bundle data = new Bundle();
			data.putString("value", strRet);
			msg.setData(data);
			handlerapkVersion.sendMessage(msg);
		}
	};

4.弹出dialog提示更新
样式可以根据自己的需求设计,可参照Android Dialog超简单自定义布局

 private void showNoticeDialog() {
        android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(
        		LoginActivity.this);// Builder,可以通过此builder设置改变AleartDialog的默认的主题样式及属性相关信息
        builder.setTitle("软件版本更新");
        String updateMsg = "有最新的软件包,请下载!";
        builder.setMessage(updateMsg);
        builder.setPositiveButton("下载", new OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
                openBrowserUpdate(GenBDB.strBaseURL
						+ "gfjhgl.apk");
            }
        });

        builder.setNegativeButton("以后再说", new OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
            }
        });
        Dialog noticeDialog = builder.create();
        noticeDialog.show();
    }

5.调用浏览器下载

/**
     * 打开浏览器更新下载新版本apk
     * @param apkUrl    apk地址
     */
    private void openBrowserUpdate(String apkUrl) {

        Intent intent = new Intent();
        intent.setAction("android.intent.action.VIEW");
        Uri apk_url = Uri.parse(apkUrl);
        intent.setData(apk_url);
        startActivity(intent);//打开浏览器

    }

部分内容来自android 实现app内部检测最新版本 自动升级到最新版本
Android中打开浏览器更新App的最新版本

Android 默认浏览器下载apk,点击无法安装 系统默认浏览器相关bug解决方法 阅读详情

相关推荐

uni-app打包成安卓app步骤详解

前置: 开发环境 Android Studio 下载地址:Android Studio官网 OR Android Studio中文社区 HBuilderX App离线SDK下载:最新android平台SDK下载 3.1.10版本起需要申请Appkey,具体请点击链接 正文: 通过uni-app实现一套代码在微信小程序和安卓端app同时适配 1.创建文件 创建Demo文件,采用uni-app 模板 2.创建应用 在https://dev.dcloud.net.cn/app页面创建相同名称的应用,并且获取

AEI的博客 1万+

【Android取证篇】渗透测试工具apk2url快速提取APK内的IP和URL地址

通过渗透测试工具apk2url快速检索APK开发过程中没有删掉的URL地址,来发现一些搜索引擎、子域名查找不到的资源,从而进一步收集信息查找后台等。工具不是终点,而是起点,好的侦查案件思维、分析能力,分析方向都需要不断的积累进步!需要更专业的还是比较推荐取证厂商的产品,省时省力【蘇小沐】

蘇小沐的电子数据取证博客 8509

微信跳转外部浏览器下载app

需求分析 不管是app的下载链接还是普通文件的链接在微信内置浏览器包括QQ内置浏览器都会被屏蔽。这是微信对第三方下载域名实施的屏蔽政策。那么这个问题该如何避免乃至解决呢? 首先我们需要对分享域名加JS防封接口,其次我们需要对域名进行处理,以达到ios用户在微信中的打开系统自动提示前往Safari打开下载页,安卓用户自动打开手机默认浏览器前往下载页。但是对于很多用户而言并不知道这样的实现,所以需要在...

fhfd2019的博客 2034

【亲测免费】 开源项目教程:使用 apk2url 快速提取 APK 中的 URL 和 IP 终端

--- ## 项目介绍 **apk2url** 是一个专为安卓应用安全性检查和信息搜集设计的开源工具。它能够有效地从APK文件中反编译提取出嵌入的URL地址和IP端点,对于红队成员、渗透测试者以及开发者而言极为有用。相比于其他类似工具如APKleaks、MobSF和AppInfoScanner,apk2url在提取网络节点信息方面更为全面,且提供了简易的输出格式,便于分析应用程序潜在的安全风险

gitblog_00239的博客 1299

安卓微信下载APP文件如何调用默认浏览器 IOS如何跳转App Store(苹果商店)打开

此方法可以实现微信内置浏览器跳转到手机其它浏览器,现在网上其它的方法都只是一个页面,让访问者自己手动点右上角浏览器打开,而这个不同,是可以直接自动跳转的。 &lt;?php error_reporting(0); if($_GET['open']==1 &amp;&amp; strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger')!==...

zzvip88168的博客 1284

提取APK中的URL地址

一、目的   客户端渗透测试前期信息收集过程中可以在APK中检索开发过程中没有删掉的URL地址,在这些地址中可能会发现后台、搜索引擎、子域名查找不到的一些资源。 二、操作 这里我时候搜狗地图APP进行测试 反编译APK文件 apktool d <xxx.apk> 将反编译的文件zip打包发送到linux系统中 使用grep命令进行URL正则匹配 通过grep正则匹配包下边所有文件的uri地址,然后排序,删除重复行,最后重定向到文件中 grep -ohr -E "https?://[a

Kevin's Blog 1万+

UC Android官方下载,手机uc浏览器下载并安装-uc浏览器app最新版本v13.3.9.1119 安卓官方版 - 极光下载站...

手机浏览器,内容检索非常适合现在年轻人的观念与想法,各种新闻消息应有尽有,足不出户就可知天南海北。uc跟各大知名app合作,在uc浏览器手机版中,许多便利的app都有着快捷通道,不用退出uc浏览器手机版就可以享受不同的应用服务。现在uc浏览器手机版跟其他有名手机浏览器都可以在极光下载站下载。uc浏览器app官方介绍全球6亿人上网必备APP,群众的眼睛是雪亮的头条视频小说网盘小游戏,想你之所想一应俱...

weixin_29847829的博客 11万+

超级app提取连接

超级app提取连接

h5怎么在浏览器中打开app?安卓到指定商城下载app?

h5在浏览器中打开app,到指定商城中下载app。 打开app、下载app

希文Gershwin 3365

apkurlgrep:从APK文件提取端点

ApkUrlGrep 允许从APK文件提取端点的工具 安装 安装apkurlgrep :play_button: go get -u github.com/ndelphit/apkurlgrep 安装 用法 :play_button: apkurlgrep -a ~/path/to/file.apk Result of URLs: https://example.com https://example.net https://example.edu Result of URLs Paths: /example /admin /onboarding 主意 嘿伙计! :slightly_smiling_face: 感谢您对这个项目的兴趣!如果您发现有关如何改进此工具的任何想法-请给我写信至或在此Github项目中创建新问题。 祝你今天过得愉快! :winking_face:

UDS诊断ISO14229新手入门篇

这个命令的格式稍微复杂一点。sub-function = 0x06 用于读取某个 DTC 及其相关的环境数据,此时 parameter 为 4 个 byte,前三个 byte 用于标识我们要读取的 DTC,第四个 byte 用于标识要读取的环境数据的范围,UDS 规定使用 FF 来表示读取所有的环境数据,各厂家可以要根据自己的需求定义其他的值来代表要读取的环境数据的范围。环境数据包括 DTC 状态,优先级,发生次数,老化计数器,时间戳,里程等,厂家还可以根据自己的需求定义一些此 DTC 产生时的测量数据。

weixin_45387165的博客 1974

android 浏览器跳转app_「前端」手机浏览器端唤起app,没有app就去下载app 的方法...

这种功能的作用:1.一般公司有自己的app,而app是需要不断有新用户涌入才能持续运营,达到不错的收入。就需要使用这种方式进行引入新的用户。2.一些内容在网页端体验不好,或者一些功能需要app内才能实现,就需要将用户引入app中。打开app并自动跳到相应页面。首先,这个方法仅适用于移动端h5页面,一般的智能机都是可以使用的。这里使用的是es5的代码模式,容易理解。知道了需求,我们看看如何实现:1....

weixin_39939668的博客 1087

springboot源码 红色J_通达信副图指标源码之,出手就赢

今天跟大家分享一个通达信副图指标源码,本指标没有未来函数,因为本指标没有卖点提示,所以本指标需配合主图指标使用效果会更好,简单易懂,很容易明白,所以就不过多介绍使用方法了,以下是指标的贴图。风险提示!股市有风险买卖需谨慎,本指标只做参考建议,不做买卖交易结果,自己要对自己交易结果的盈亏负责,以下是指标的源码。VAR2:=REF(LOW,1);VAR3:=SMA(ABS(LOW-VAR2),3,1)...

weixin_39859909的博客 2847

微信环境中APK下载方案 安卓调用默认浏览器打开 IOS跳转App Store(苹果商店)打开

来源分析 商业分析在微信的使用人数已经高居各通讯APP的榜首的同时,微信成为了我国移动流量最大的平台之一。在次趋势的引导下,很多的商家、体户便抓住了这一机遇,利用微信这个渠道来做产品的推广、以及营销方案宣传。但是好景不长,微信从去年开始就对这一块管制的很严,在微信内分享链接很容易就会被微信拦截屏蔽。要是微信用户收到被屏蔽的链接后,打开提示“ 该链接已停止访问 ”时会导致用户量的大量流失。 ...

zzzerttt的博客 2643

Java 网络编程(超级详细)

1. 网络编程 1.1 网络编程概述 计算机网络 是指将地理位置相同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 1.2 网络编程三要素 1、IP地址 要想让网络中的计算机能够互相通信,必须为计算机指定一个标识号,通过这个标识号来指定要接受数据的计算机和识别发送的计算机,而IP地址就是这个标识号,也就是设备的标识。 2、端口 网络的通信,本质上是两个应用程序的通信。每台计算机都有很多的应用程

imByte的博客 3万+

CSP-J 初赛模拟卷1 题解

只有一棵子树有后继,其他的都是叶结点才能保证树的深度最大,此时还剩(n-5)个结点,最后加上2,得到(n-3),即为答案。题解:先修改p的指针域,让它的左指针域指向q,然后再让q的右指针域赋值给p的右指针域,再然后修改q的右指针域使其指向p,最后需要改变的指针域就是原先q结点的后继节点的左指针域内容。设n个元素的入栈序列是1,2,3,...,n,出栈序列为p1,p2,...,pn,若p1=n,则pi(1≤i≤n)的值为(1)输入的三个数中,第二个数应是[0,11]上的整数,否则会出现数组越界的问题。

Sat77GryHp_Pro的博客 2805

微信浏览器禁止app下载链接怎么办怎么解决

做微信营销活动或者APK下载推广时候,域名经常被封,如何做到微信中正常使用呢?这就要借助一些工具来实现有效的操作。 之前公司有一个新的APP项目上线,让我们在项目首页做个二维码,然后用户用手机扫一扫就能下载了。但是微信的扫一扫之后下载不了。   上网查了一下,微信自带的内置浏览器屏蔽了下载功能,所以才出现用微信扫一扫不能下载的情况。这时候我们一般会建议用户使用uc或者其他第三方浏览器自带的扫一...

chen666aaa的博客 1310

百度网盘开放平台OAuth 2.0授权全流程解析

本文详细解析了百度网盘开放平台OAuth 2.0授权全流程,包括创建应用、获取凭证、授权码模式详解以及access_token的使用与刷新。通过实际案例和代码示例,帮助开发者快速掌握接口调用技巧,避免常见错误,确保安全高效地接入百度网盘API。

wind6的博客 1266

微信跳转浏览器打开链接下载APP工作原理

很多朋友的APP推广链接需要在微信中进行的网页宣传、传播、下载等等,但是各位朋友一定发现了微信中是屏蔽掉了APP的下载链接的。但是微信最为一个最大的社交平台,为了自身的利益,屏蔽掉了所有APK的下载链接。我们要怎么解决这个问题呢? 解决方案: 我们基于微信接口开发了一款全新的手机端微信中下载APP的程序,通过这个程序生成的链接,安卓用户在微信中点击的话,是可以直接跳转手机默认浏览器打开下载链接...

girdyoo098的博客 1330

UNet 改进(19):与ASPP结合的图像分割模型

这个代码实现了一个改进版的UNet模型,在传统的UNet架构基础上,引入了ASPP模块来增强模型捕获多尺度上下文信息的能力。​​UNet主干网络​​:经典的编码器-解码器结构,带有跳跃连接​​ASPP模块​​:位于瓶颈层,用于提取多尺度特征。

2401_82355416的博客 878

【软件测试】- 公有云、私有云、混合云简介以及如何在公有云与私有云上分别搭建测试环境

公有云、私有云以及混合云是目前云计算领域的三种主要模式。它们之间的区别主要在于部署方式、数据访问和管理控制的不同。在阿里云或腾讯云上使用 Kubernetes 和 Docker 搭建测试环境可以提供高度的可伸缩性和灵活性。这样的环境非常适合于需要在多种配置和条件下进行测试的复杂应用。通过云服务提供的工具和服务,可以轻松管理和监控整个测试过程。在云服务上搭建测试环境涉及选择合适的云提供商、配置云资源、安装和设置所需软件等步骤。### 1. 选择云服务提供商。

weixin_46453070的博客 2342

为什么微信内转到浏览器后不能下载app,微信自动跳转浏览器下载的实现原理

推广分析 通过扫描二维码下载APP已成为一个大家惯用且非常方便的下载方式了,微信也成为扫描二维码重要的工具,很多商家也是熟知这一点,所以纷纷选择微信推广。然而在我们使用微信推广的时候,经常会遇到app的链接被微信拦截导致无法在微信内打开下载的问题。 那么当我们遇到该问题,该如何去处理呢?其实我们只要实现微信内直接下载app的功能,就可以解决该问题,还能避免举报。但这个功能一般人搞不定,因为...

weixin_44729034的博客 903

20、自定义用户窗体:从创建到使用

本文详细介绍了在Excel VBA中创建和使用自定义用户窗体的完整过程,涵盖从窗体设计、控件添加与属性设置,到事件处理程序编写及宏调用的各个环节。通过实际示例讲解了如何实现文本大小写转换和员工信息录入等功能,并深入解析了常用控件的属性与事件机制。同时提供了控件命名规范、快捷键使用、布局技巧等实用建议,帮助读者构建高效、交互性强的VBA用户界面。

h0i1j2k3l的博客 131

在线制作微信跳转浏览器下载app源码

微信自动跳转外部浏览器下载app/打开指定页面源码 源码说明: 适用安卓和苹果系统,支持任何网页链接。并且无论链接是否已经被微信拦截,均可实现微信内自动跳转浏览器打开。 生成的跳转链接具有极佳的防拦截效果。 使用方法: 以下以app的下载链接为例,如果是网页直接复制链接即可。 1. 打开你的app点击分享按钮,在分享弹框中点击复制链接或通过分享到微信QQ等获取分享链接。如果是朋友分享给...

eri422的博客 1318

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

对于微信浏览器禁止链接跳转和app下载怎么办怎么解决

做微信营销活动或者APK下载推广时候,域名经常被封,如何做到微信中正常使用呢?这就要借助一些工具来实现有效的操作。 之前公司有一个新的APP项目上线,让我们在项目首页做个二维码,然后用户用手机扫一扫就能下载了。但是微信的扫一扫之后下载不了。   上网查了一下,微信自带的内置浏览器屏蔽了下载功能,所以才出现用微信扫一扫不能下载的情况。这时候我们一般会建议用户使用uc或者其他第三方浏览器自带的扫一...

more1more的博客 3078

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

下一篇: Android 自定义搜索栏
曾经_Once
博客等级 码龄8年 33粉丝 10原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值