升级gradle版本之后小米手机调试安装失败

APK安装失败解决办法 阅读详情

转载地址:https://zhuanlan.zhihu.com/p/25572184?utm_source=qq&utm_medium=social


昨天刚入手小米MIX,也恰好升级了AS2.3,在使用MIX调试运行的时候,却发现程序总是安装不上,报错信息是这样的:

点OK卸载之后却又提示卸载失败,然后调试安装就中断了,这就很尴尬,很明显关键字是

Failed to establish session

Google 搜一下,发现就算SO上面的解决办法,也是说在开发者选项中把小米的“MIUI优化”关掉,原因未知。试了一下关掉MIUI优化确实有用,但这我就不敢关了啊,万一发release包之后在开MIUI优化的机子上嗝屁了那我不是完蛋?

只能自己查一下问题,在安装过程中,我发现run信息是这样的

换到我的Nexus 5x上安装

一切正常


突然联想到AS2.3升级后的新特性

构建系统:支持新的 Gradle 插件 2.3.0 。有一些显着的变化:

  • 默认情况下启用 dex 文件的用户缓存,这将加快构建

  • 非常大的项目的配置时间应该明显更快

  • 对于即时运行,“启动延迟”(大应用程序在启动时停顿几秒钟)应该消失

  • 即时运行使用针对 Android N 的“APK拆分”,这比它用于定位较旧的平台的类加载器技巧更可靠

我恰好把手头上这个项目升级了gradle,于是我找了个老项目跑了一下看看

很明显老项目并没有这个“split-apk”的安装过程。这是AS2.3之后的新特性。那么基本可以确定在安装Split APKs的时候,MIUI优化对slice apk做了什么操作,返回了“failed to establish session”,让IDE判断需要卸载安装,但这个时候手机上还没有真正的apk,然后就理所当然的卸载失败了。

目前向MIUI反馈还没有什么回复嘛,在这个问题修复之前,升级了AS2.3的朋友们新项目要用小米手机调试的话,可以先考虑用老项目的Gradle覆盖一下把Gradle降级,应该不会出问题。


Android Studio连接手机详细教程(包含遇到的问题集) 如果以上内容全都调试正确了,还是存在这个无法安装的问题,多半是一开始用的别的手机进行调试安装,然后抽掉线重新换上另一个手机安装调试才会报错。无法识别的 USB 设备,跟这台计算机连接的前一个 USB 设备工作不正常,Windows 无法识别它。此时,我的开发者选项已经开启,并且windows系统和android studio已经能够识别我的设备了,但还是报了这样的错误。右击你的手机——>更新驱动程序——>浏览我的计算机以查找驱动程序软件。右击此电脑——>属性——>设备管理器——>便携设备。 阅读详情

相关推荐

FOC实战笔记:RC吸收电路的设计考量与参数调优

本文深入探讨了FOC驱动器中RC吸收电路的设计与调优。针对MOS管开关过程中的电压尖峰问题,详细阐述了RC电路的钳位与能量吸收原理,并提供了从参数计算、实验调试到布局布线的完整实战指南,旨在帮助工程师有效提升系统可靠性与稳定性。

weixin_29219539的博客 273

小米手机打开USB安装后仍然不能安装apk

小米手机打开USB安装后仍然不能安装apk原因:安全中心将其拦截 原因:安全中心将其拦截 进入安全中心,把能关的关掉,接着关闭MIUI优化,即可成功。 ...

qq_34342852的博客 5941

UE5摄像机抖动全攻略:从Perlin噪点到Sequence实战(附参数调优技巧)

本文深入解析UE5摄像机抖动技术,从Perlin噪点算法到CameraShakeBase蓝图应用,再到Sequence高级控制,提供全面的参数调优技巧。涵盖战斗、爆炸等场景的预设参数,帮助开发者实现专业级抖动效果,提升游戏沉浸感。

weixin_30300225的博客 95

Could not resolve dependencies for project XX:XXX:jar:0.0.1-SNAPSHOT:

自己项目中存在common模块,另一个模块依赖common模块,common模块使用mvn已经install成功,可是打包另一个模块的时候还是报错了这个,解决办法:在parent模块中点一下install就好了: maven 打包Could not resolve dependencies for project和无效的目标发行版: 1.8 - 不再_单纯 - 博客园https://www.cnblogs.com/weitaming/p/8065891.html ...

Pichairen 3462

告别手动输入!用Burp插件+ddddocr,5分钟搞定图片验证码自动识别

本文详细介绍了如何利用Burp插件和ddddocr开源库快速构建图片验证码自动识别系统,实现高效、零成本的验证码自动化解决方案。通过环境搭建、性能调优和Burp Suite深度集成,显著提升安全测试效率,特别适用于金融和电商系统的批量测试场景。

weixin_29099217的博客 202

Oasys安装教程

在基环境下执行然后去 C:\Users.condarc打开 .condarc这个文件 删除干净里面的东西。

weixin_44254178的博客 1295

android 记录总结安装Apk问题

android手机安装第三方应用程序失败相信大多数都遇到过,其余我就不多说直接进入正题,我总结以下几种情况: 1.手机版本与需安装的app不兼容(比如你的app最低要求android6.0,安装手机至少5.0这种情况肯定是安装不了的) 解决方案:减低app版本要求 2.这种情况与1有点类似,需安装的app没有适配到手机版本(比如手机版本android10.0,app适配不全导致安装失败) ...

ZyClient的博客 9008

【DaVinci Configurator专题】-2-将CAN 2.0或CANFD Matrix的Arxml/DBC文件导入到CFG

共9页 目录 1 打开DaVinci Configurator,导入Arxml文件 2 解决导入Arxml文件后可能会出现的一些错误 3 验证CFG的配置 4 根据CFG的配置生成代码 5 结尾 <--返回「实战篇」博文-总目录--> <--返回「Autosar从入门到精通-实战篇」专栏主页--> 关键词: Open the Input Files Assistant Complete update process Update ECU configurati

「汽车电子助手」的博客 6125

Android使用gradle入门

1.gradle是什么? 2.gradle如何引用? 3.Android工程gradle配置? 4Android工程下全局build.gradle配置和Module下build.gradle配置说明? 5.gradle配置优化? 6.

Tiger的专栏 7247

qiankun 主子应用部署教程(Nginx 小白版)

本地开发:不用 Nginx,直接localhost:端口即可。本地模拟线上:用hosts + Nginx + 自定义域名,效果和生产接近。线上部署主应用只要配置 history 模式子应用必须支持 CORS + history + 缓存能跑是因为默认 server 兜底,但推荐写真实域名。主应用 vs 子应用的 Nginx 配置区别为什么本地和线上表现不一样history 模式 + 跨域的最佳实践。

专注于前端开发与实战技巧,记录从零到一的学习与项目经验。分享 Vue3 / JavaScript / TypeScript / Flutter /Uniapp等前端技术,以及 性能优化、工程化、最佳实践。 999

Jetson Nano之CSI摄像头操作方法

jetson端csi摄像头的应用方法

ZONGXP的博客 1万+

[原创] 小米手机无法真机调试

[b]系统环境:[/b] 小米 2S MIUI 版本:8.0.1.0(LXACNDG) Android 版本:5.0.2 LRX22G Android Studio 版本:2.3.3 [color=red][b]无法使用小米手机进行真机调试的原因有很多,这里仅描述下本人遇到的情况及解决方案[/b][/color] [b]现象[/b] 之前一直可以使用该手机进行真机调试。但是,...

Leo's Blog 1129

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

小米手机调试出现DELETE_FAILED_INTERNAL_ERROR错误

这些天还是需要服务端和客户端一块搞,略微微有点忙。可用小米手机调试时候它又掉链子了(其实,我昨天就想写这个问题了)。              症状就是我在android studio run之后总提示我已经安装了一个应用,需要卸载,我点击ok,卸载了,还是装不上去,看到控制台输DELETE_FAILED_INTERNAL_ERROR 和Error while installing APKs的

和小胖 2万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

AndroidStudio升级gradle插件版本到2.3.1异常

AndroidStudio升级gradle插件版本到2.3.1之后不能运行了,提示MultiDex找不到,由此引发了很多问题。开始升级插件版本升级到2.3.1,配置project / build.gradleclasspath "com.android.tools.build:gradle:2.3.1"gradle版本升级到3.3,配置project / gradle / gradle-wrappe

chendong_的博客 1862

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Android Studio 真机调试vivo系列手机安装失败处理

Android Studio 真机调试vivo系列手机安装失败或一直在提示安装加载(一直没有反应) Android Studio 3.5.2遇到的问题,小米、魅族等手机暂时没有出现这种情况。 解决方法: 1.在 AndroidManifest.xml 中添加下面这行代码: <uses-permission android:name="android.permission.REQUE...

shenggaofei的博客 2943

Android Studio 真机调试vivo系列手机安装失败解决办法

Android Studio 真机调试vivo系列手机安装失败或一直在提示安装加载(一直没有反应) Android Studio 3.5.2遇到的问题,小米、魅族等手机暂时没有出现这种情况。 解决方法: 1.在 AndroidManifest.xml 中添加下面这行代码: <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKA...

qq_46452096的博客 1575

AndroidStudio2.3使用小米手机MIUI调试出现DELETE_FAILED_INTERNAL_ERROR Error while Installing APKs错误

原因应该是我升级了android studio,从2.2.3升级到了2.3,gradle同样也是升级到了com.android.tools.build:gradle:2.3.0这个版本。但是即使知道了是这个导致的,我总不能把android studio给降级回去吧?那就找找别的原因吧。             其实,小米手机就是这样子,权限什么的总是做的比较严格,上篇文章也是写的小米手机调试

harrain的博客 2507

vivo 在用android studio真机调试无法安装问题

小米,vivo手机都出现无法安装,且跳转页面失败,   后来发现需要: 打开gradle.properties文件,在最后添加: android.injected.testOnly = false   这样就可以了...

qq1139022822的博客 1850

debug调试 apk安装失败

今天在小米 note 上调试程序,发现怎么都安装不上,提示如下:报错Installation failed with message Failed to finalize session : INSTALL_FAILED_DUPLICATE_PERMISSION大意就是要说lib_dependencies_apk这个东西定义了多次,要我们点击ok卸载重装,但是点击OK,还是运行不了,后搜索了下解决...

BIG_BEARC的博客 5156

小米手机调试出现DELETE_FAILED_INTERNAL_ERROR Error while Installing APKs

DELETE_FAILED_INTERNAL_ERROR

jia635的专栏 3118

Android Studio部署小米便签项目的完整指南

通过命令行输入java -version检查是否已安装JDK,若未安装需从Oracle官网下载对应版本。下载对应版本Gradle后需配置GRADLE_HOME和GRADLE_USER_HOME环境变量。将小米便签源码中的net.micode.notes包和res资源文件完整复制到Android Studio项目中,注意处理重复文件覆盖问题。安装过程中需要注意SDK路径设置,推荐使用阿里云镜像加速下载。相比传统开发方式,省去了大量环境配置时间,让开发者能更专注于核心功能的实现。

WhiteTiger78的博客 882

关于Android Studio通过USB安装apk时出错:INSTALL_FAILED_USER_RESTRICTED的问题

关于Android Studio通过USB安装apk时出错:INSTALL_FAILED_USER_RESTRICTED的问题

qq_43417003的博客 1724

小米便签源码部署流程

现象:Gradle 同步失败,提示缺少库(如 implementation 'androidx.activity:activity-compose:1.++')。连接 Android 手机(需开启开发者模式和 USB 调试),或在 Android Studio 中创建模拟器(建议 API 30+)。直接修改源码(如修改 UI 布局 activity_main.xml),点击 Apply Changes(热重载)或重新编译运行。手动更新 build.gradle(项目级和模块级)中的依赖版本为最新兼容版本。

m0_74872789的博客 850

解决小米手机Installation failed with message Failed to establish session.

小米手机在androidstudio2.3中遇到的bug

Fisher_3的博客 1044

Android用小米5调试出现Installation failed with message Failed to establish session问题

手机调试对象:小米5(坑) 之前是安装了之后,再运行时,应用出现崩溃闪退(程序没有错误),本来这种情况卸载之后再重新安装运行程序就解决了,但是今天又出现另外一种情况,Installation failed with message Failed to establish session.提示图下面,大概意思就是,手机已经安装过本版本的应用程序了,不能重复安装,然后点击uninstall之后,An...

绿色落日的博客 2418
上一篇: ListView工作原理详细分析(一)
下一篇: 得到App Android组件化方案解析
coder_nice
博客等级 码龄12年 33粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值