android安装包踩坑

Android Content URI解析:应对分区存储与厂商文件管理器的兼容性挑战 在Android开发中,文件访问是一个基础且关键的技术环节。随着Android系统权限模型的演进,特别是分区存储(Scoped Storage)的引入,传统的基于绝对路径的文件操作方式发生了根本性变化。其核心原理是通过Content URI机制,将文件访问抽象为基于URI的权限令牌,从而在保障用户隐私安全的前提下,实现跨应用数据共享。这一转变带来了显著的技术价值:应用无需申请宽泛的存储权限即可访问用户授权的特定文件,同时系统能更好地管理文件生命周期。然而,在实际工程实践中,尤其是在处理用户通过系统文件管理器 阅读详情

最近公司遇到一个关于安装包的问题,出现的情况有两个:一个是8.0的手机下载完成以后不能跳转到系统安装界面进行安装;

另一个就是安装包下载下来以后,在安装过程中出现解析失败现象。

首先针对情况二进行分析:

我拿到的项目是有的android自带的下载安装那一套,安装失败,我换成了平常下载文件的方法,用流去操作,就ok了,说来也奇怪。。。。下载成功以后保存到路径:Environment.getExternalStorageDirectory()+“/vip.apk”;注意这里路径不能一定不能出现中文的,然后跳转到系统升级的界面去

  /**
     * 升级
     */
    void update() {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {//Build.VERSION_CODES.N 这里我的版本是24
            intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_ACTIVITY_NEW_TASK);
            Uri contentUri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".fileprovider", new File("/storage/emulated/0/vip.apk"));
            intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
        } else {
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "vip.apk")), "application/vnd.android.package-archive");
        }
        startActivity(intent);

    }

下面来说第二种:我拿到的项目是没有做android 8.0的兼容的,而且由于android8.0做了更严格的权限,所以根本就不会跳转到系统安装界面去,上面的代码可以继续用,只不过在Mainifest中加一项权限就可以了。

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

最后,说一下上面用到了Android 的组件Content Provider,在在 Mainifest文件中增加provider节点,

<provider
            android:name="android.support.v4.content.FileProvider"
    android:authorities="你的包名.fileprovider"//(如你应用程序包名为com.you.ming,则应该是com.you.ming.fileprovider)
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" />//@xml/file_paths 这个表示你要在res的xml目录下新建的一个资源文件,名字叫file_paths

        </provider>

节点建完,接下来最后一步,建res目录下xml资源文件,

<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path
        name="files_root"
        path="Android/data/com.you.ming/" />
    <external-path
        name="external_storage_root"
        path="." />
    <external-path
        name="camera_photos"
        path="." />

</paths>

还有人说可以这样建

 <resources>
    <paths>
        <external-path path="" name="download"/>
    </paths>

</resources>

(provider作为android四大组件之一,也可以看作是android的存储方式之一),好了,ok了

【Godot】导出为安卓安装包 通过此命令生成的密钥库,可直接用于 Android 调试版本的签名,避免因默认调试证书过期导致的应用无法安装或更新问题。密钥库设置,如果在生成密钥库时使用的默认用户和密码,可以设置为空,编辑器中配置了调试版的默认配置。的包,如果下载失败,可以在构建的模板(安装Android构建模板生成的文件夹)下,修改。发布用户和密码需要设置为上一步设置的信息,发布密钥库设置为上一步生成的文件。下载后安装,不需要安装虚拟机,安装最基础的即可,创建项目的过程可以跳过。的证书,有效期为 9999 天,密钥库和私钥的密码均为。 阅读详情

相关推荐

Mac安装安卓虚拟机 - Android Studio运行apk安装包

​ 步骤 下载安装 Download Android Studio & App Tools - Android Developers 选择“Download options” 选择“Mac”版本,大概1G 打开安装包,拖拽程序到应用程序文件夹 按下F4,打开Android Studio 第一次运行,选择不倒入任何设置: 设置代理 为不使用代理 打开主界面,“more actions”,选择“Virtual Device Manager” 左上角,创建设备 选择喜欢的设备,

Rudon滨海渔村的博客 1万+

揭秘vivo浏览器文件路径:content://协议深度解析

与传统的file://协议不同,content URI通过ContentProvider提供数据访问的抽象层,使得应用可以安全地共享数据。要实现一个能够解析content URI的工具,首先需要理解如何获取真实的文件路径。通过这次开发经历,我深刻理解了content URI的工作原理和Android文件系统的复杂性。这个需求让我深入研究了Android文件系统的特殊实现,特别是content URI的解析机制。最近在开发Android应用时,遇到了一个特殊的需求:需要解析vivo浏览器特有的。

BlackironLynx23的博客 73万+

RN7302_Demo_V1.1

锐能微电能计量芯片,damo例程。三相计量芯片RN7302。

Android FileProvider的基本使用

关于FileProvider FileProvider是一个ContentProvider的子类,它取代了“file://”形式的Uri 通过“content://”形式的Uri实现了App间的安全通信。content Uri 可以赋予你临时的读写权限。当你创建一个包含ContentUri的Intent,并且打算将Intent发送给一个ClientApp,你可以通过该Intent.setFlags来设置权限。并且只要接收activity所在的栈是存活的,这些权限之于ClientApp都是可用的。同理,对于一

特立独行的博客 10万+

vove交易所系统添加平台币自动执行脚本

vove区块链交易所,可以添加目前市面上所有主流币,或是添加发行平台币,并配置自动执行机器人

point transformer v3结构

分割结构: embedding->enc->dec embedding->enc0->enc1->enc2->enc3->enc4->dec3->dec2->dec1->dec0 embedding ->block0->block1 ->dow->block0->block1 ->dow->block0->block1 ->dow->block0->block1-&gt

weixin_45625419的博客 581

Flutter 安卓安装包踩坑

构建flutter安卓apk

weixin_51773576的博客 988

睿尔曼超轻量仿人机械臂--医疗工作站运行Demo(Python)

开发环境系统:win10Python版本:python 3.11.2由于机械臂相关软件版本不定期更新,如果你使用的软件接口或协议与本文有出入,请联系官方技术人员及时更新。

realman_Rop的博客 1094

android 安装包反编译,AndroidAPK安装包反编译流程以及踩过的坑

第一次写简书有点兴奋,想必大家再第一次写作的时候都有过这种心情吧。四个小时前Leader给我说小Z啊,咱们的APP这两天就要上线了你试着将咱的安装包反编译一下看看代码的混淆程度吧,我刚接到这个任务的时候在此之前一直觉得反编译是一件很麻烦的事,但是经过三四个小时的时间将Leader分派给我的任务完成,发现只要认真的做一件事,没有完成不了的,在此鼓励大家不要觉得自己不行,要相信自己是可以的!!!OK,...

weixin_33169898的博客 491

vhr 微人事系统安装与部署教程(SpringBoot + Vue 项目实战)

vhr(微人事)是一个开源的人力资源管理系统项目。系统采用前后端分离架构,主要技术栈包括:后端:MyBatis前端:VueElement UIAxios数据库:MySQL系统通常包含以下模块:员工管理部门管理职位管理薪资管理权限管理系统管理整体功能已经接近企业级后台系统。vhr(微人事)是一个非常经典的开源人力资源管理系统项目,基于SpringBoot + Vue 前后端分离架构。系统包含:员工管理部门管理权限管理薪资管理。

m0_69484557的博客 486

HDLBits答案汇总

前言 该博客为本人做HDLBits习题时的心得记录总结,欢迎大家一起交流进步。 HDLBits网站链接 Verilog Language Basics Vectors Modules:Hierarchy Procedures More Verilog Features Circuits Combinational Logic Basic gates Multiplexers Arithmetic Circuits Karnaugh Map to Circuit Sequential Logic Latche

谦豫 9万+

Android studio百度地图开发 踩坑集锦1 Cause: duplicate entry: META-INF/MANIFEST.MF 真机调试安装包异常

踩坑集锦 坑一 巨坑 错误提示: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:javaPreCompileDebug' at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ...

Ace_bb的博客 3109

DSP(数字信号处理器)技术概要

数字信号处理器(digital signal processor,DSP)是一种用于数字信号处理的可编程微处理器,它的诞生与快速发展,使各种数字信号处理算送得以实时实现,为数字信号处理的研究和应用打开了新局面,提供了低成本的实际工作环境和应用平台,推动了新的理论和应用领域的发展。目前,DSP技术在通信、航空、航天。雷达、工业控制、医疗、网络及家用电器等各个领域都得到了广泛应用。 1.1 DSP系统和芯片的结构特点1.1.1 DSP系统的基本结构通过传感数将非电物理量转换为模拟电信号,预处理一般包括放大器和滤

m0_46582485的博客 2万+

安卓qpythonttsspeak_安卓语音合成助手TextToSpeech的使用踩坑记录

安卓语音合成助手TextToSpeech的使用踩坑记录由于软件中需要播放一些语音,最初的时候都是用一些电脑上的语音生成器生成一些wav音频文件,然后让程序播放,但是这种方法着实不太优雅,所以就开始想如何在安卓中实时生成语音,可能我们首先会想有什么第三方库啊之类的,其实谷歌早已在安卓中给我们提供了,那就是TTS,它在安卓设置中的无障碍内,这样一想,就有印象了。TTS的全称为TextToSpeech,...

weixin_39603469的博客 650

HALCON实战:用两个工业相机实现无缝大视野拼接(附完整代码与避坑指南)

本文详细介绍了使用HALCON软件实现双工业相机图像无缝拼接的完整解决方案,涵盖硬件配置、相机标定、坐标系转换和图像拼接等关键步骤。通过高精度标定和矩阵变换技术,可构建大视野检测系统,适用于液晶面板、PCB等工业检测场景,显著提升检测效率和精度。

weixin_29050513的博客 191

错误代码105(ERR_NAME_NOT_RESOLVED)详解与解决方案

错误代码105表示"",当您的浏览器无法将网站域名转换为IP地址时就会出现此错误。这是最常见的网络连接问题之一,通常与DNS(域名系统)有关。

欢乐打代码! 1万+

【快速搞定】教你如何快速集成环信(android端EaseUI),跳过我踩过的坑

【快速搞定】教你如何快速集成环信(android端EaseUI),跳过我踩过的坑一、前言 最近,公司准备集成一个即时通讯的功能,于是我找到了环信,于是我就这样被坑了,于是就有了本文来教大家如何跳出我踩过的坑,于是…… 说环信比较坑并不是它们的产品不好,相反它们的功能做得还不错(本人承诺绝对不是托),而是它们写的文档真的是太乱了,一不小心你就会入坑(还好环信的技术客服还算给力,很多问题都能详细的给

大力哥的博客 1万+

机器人常用坐标系详解:原理、获取方法及实战实例

本文系统阐述了机器人四大核心坐标系(世界、基、工具、工件)的原理与标定方法。世界坐标系提供全局参考基准,基坐标系绑定机器人本体,工具坐标系定义末端执行器位置,工件坐标系则锁定作业对象位置。通过齐次变换矩阵实现各坐标系间的关联转换。重点介绍了三类标定技术:手动设定法(世界坐标系)、三点/六点法(工具TCP标定)和视觉识别法(工件标定),并以工业机械臂上下料为例演示了完整应用流程。随着技术发展,自动化标定、动态坐标系等新趋势将进一步提升机器人作业精度与效率。

start_up_go的博客 513

android dts播放器下载,安卓dts音效apk安装包

安卓dts音效apk安装包app是一款非常好用的手机音效软件。安卓dts音效apk安装包为用户带来极致的音效体验,让用户在听音乐的时候有更多的音效模式选择,感受高质感的音质,享受完美的音律之美,感兴趣的朋友欢迎下载体验哦。安卓dts音效apk安装包软件介绍:DTS(数字剧院音效系统,Digital Theater System)是在1993年史蒂文·斯皮尔伯格所执导的「侏罗纪公园(Jurassic...

weixin_32389853的博客 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TouchOSC_编辑器和安卓安装包:轻松调试OSC通信的利器

TouchOSC_编辑器和安卓安装包:轻松调试OSC通信的利器 【下载地址】TouchOSC_编辑器和安卓安装包 TouchOSC编辑器与安卓安装包资源库,专为国内用户提供便捷的OSC通信调试解决方案。由于Google Play访问受限,我们精心准备了Windows和MAC版本的TouchOSC编辑器,以及安卓端的APK...

gitblog_06703的博客 1579

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HbuilderX打包成apk安卓安装包并装到手机上

HbuilderX打包成apk安卓安装包并装到手机上

AN_NI_112的博客 2万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

tumblr安装包Android,Tumblr安卓安装包

Tumblr安卓安装包app让你来关注更多有趣的内容,不停的来为你极速更新,还会帮你来处理更多的图片,线上的热点和动态每天都是有为你更新的,还会让你搜索关注更多感兴趣的内人,线上的主题也是涵盖超级全面。软件功能:1、软件内拥有丰富的内容,可以发现各类有趣的人,可以分享自己的生活,时刻完成最完整的记录形式;2、可以找到你喜欢的主题内容进行关注,原创搞笑内容也是让你每天来看,还会让你得到更好的交流等;...

weixin_35902168的博客 1368

TouchOSC_编辑器和安卓安装包

TouchOSC_编辑器和安卓安装包 【下载地址】TouchOSC_编辑器和安卓安装包 TouchOSC编辑器与安卓安装包资源库,专为国内用户提供便捷的OSC通信调试解决方案。由于Google Play访问受限,我们精心准备了Windows和MAC版本的TouchOSC编辑器,以及安卓端的APK安装包,确保您能够无障碍地...

gitblog_06713的博客 671

GPT安卓android安装包

GPT安卓android安装包 【下载地址】GPT安卓android安装包 GPT安卓APK是一款由OpenAI开发的智能对话应用,旨在为用户提供高效、智能的对话体验。无论是日常问题、知识获取还是娱乐互动,GPT都能通过先进的自然语言处理技术,提供个性化的回答和建议。支持多语言输入,依托庞大知识库,涵盖科普、历史、生活等...

gitblog_06788的博客 818

把抽屉里吃灰的旧安卓机变成博客服务器:我踩过的那些坑

抽屉里那台旧安卓机,大概已经躺了快两年了。屏幕还好、电池还能撑、Wi-Fi 也能连,但就是没什么场景再拿出来用。当备用机?系统已经卡到打开微信要等半分钟。卖二手?估价 App 一打开,回收价低到让人想笑。最后就是放在那里耗电,偶尔当当测试机。后来有一次想搭个个人博客记录点东西,突然想到一个问题:能不能把这台旧手机当服务器用?24 小时开着、功耗比电脑低太多、还不用额外买设备。

lbbxmx111的博客 1万+

安卓软件安装包后缀名_安卓手机安装包是什么格式?

展开全部安卓手机安装包是apk格式。APK,全称Android Package,即Android安装包。APK是类似塞班Sis的文件格式,通过将APK文件直接传到32313133353236313431303231363533e59b9ee7ad9431333431353238Android模拟器或Android手机中执行即可安装。造成安卓手机安装包解析失败的原因:1、安装包问题导致文件破损问题在...

weixin_39602976的博客 1万+
上一篇: android 反编译之dex2jar
下一篇: android EditText监听事件处理方法
YSL_ALI
博客等级 码龄9年 5粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值