Android studio开发编译出来的apk拷贝到手机不能手动安装

小超小调 2021-01-12 03:45:47
用adb命令adb install -r 包名安装成功,但我将apk文件拷贝到手机的/sdcard/目录下不能手动安装,页面提示安装失败。我用logcat抓取了2个手机安装时的log。


...全文
4851 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Giberson1 2021-01-15
  • 打赏
  • 举报
回复
引用 11 楼 小超小调 的回复:
[quote=引用 10 楼 Giberson1 的回复:][quote=引用 5 楼 小超小调 的回复:][quote=引用 4 楼 Giberson1 的回复:]从报错看,是NAT64文件格式的问题,你注意下文件格式。重新再试下。
NAT64文件在项目的哪个文件夹里?需要怎么修改?[/quote] 这就好比excel 2003和excel 2017的区别,明白吗?[/quote] 你的意思是让我换个Android Studio的版本?我现在用的是4.1.1[/quote]你看设置下版本能行不,不行就换。
ink_s 2021-01-14
  • 打赏
  • 举报
回复
先不提adb ,先不提adb,先不提adb,我的意思是你把APK放到SD卡,然后把手机上的卸载干净后点SD卡的能不能安装? 如果能安装,把刚安装的不要卸载,再次点击这个SD卡APK还能不能安装?如果还能,那再编译一个不卸载再SD卡安装还能不能安装?
小超小调 2021-01-14
  • 打赏
  • 举报
回复
引用 14 楼 ink_s 的回复:
第一次安装成功,同一个APK在安装一次就不成功了?
将apk文件拷贝到手机sdcard目录下,不能手动安装。用adb工具一直都能安装
ink_s 2021-01-14
  • 打赏
  • 举报
回复
第一次安装成功,同一个APK在安装一次就不成功了?
小超小调 2021-01-14
  • 打赏
  • 举报
回复
引用 12 楼 ink_s 的回复:
[quote=引用 9 楼 小超小调 的回复:][quote=引用 8 楼 ink_s 的回复:]包名变了,或者签名变了什么的,你卸载干净再安装,同一个APK多次安装应该都没问题的
不仅卸载,我直接重装系统然后重装AS,不管用。[/quote]不是卸载AS,是你把手机的安装的APP卸载了,然后用编译的APK安装,如果是同一个APK,你再次安装完全不用再卸载的,完全可以随便覆盖安装,现在你里面已经安装了APP,然后又用APK去安装安装不了,是因为你这个APK的签名、包名、数据库版本、APP版本可能和之前安装的冲突了,所以安装不了!正常已不该这些地方的代码,你编译10个APK出来都是能随便互相覆盖安装的。[/quote] 要真是这么简单就好了。我肯定卸载之后再安装呀,手机手动卸载或adb uninstall我都试过
ink_s 2021-01-14
  • 打赏
  • 举报
回复
引用 9 楼 小超小调 的回复:
[quote=引用 8 楼 ink_s 的回复:]包名变了,或者签名变了什么的,你卸载干净再安装,同一个APK多次安装应该都没问题的
不仅卸载,我直接重装系统然后重装AS,不管用。[/quote]不是卸载AS,是你把手机的安装的APP卸载了,然后用编译的APK安装,如果是同一个APK,你再次安装完全不用再卸载的,完全可以随便覆盖安装,现在你里面已经安装了APP,然后又用APK去安装安装不了,是因为你这个APK的签名、包名、数据库版本、APP版本可能和之前安装的冲突了,所以安装不了!正常已不该这些地方的代码,你编译10个APK出来都是能随便互相覆盖安装的。
ink_s 2021-01-13
  • 打赏
  • 举报
回复
adb install 一共有lrtsdg六个选项 -l 锁定该应用程序 -r 替换已存在的应用程序,也就是说强制安装 -t 允许测试包 -s 把应用程序安装到sd卡上 -d 允许进行将见状,也就是安装的比手机上带的版本低 -g 为应用程序授予所有运行时的权限 你把之前安的卸载了再安装可以安装吗
初学者-Study 2021-01-13
  • 打赏
  • 举报
回复
APK有问题
小超小调 2021-01-13
  • 打赏
  • 举报
回复
引用 10 楼 Giberson1 的回复:
[quote=引用 5 楼 小超小调 的回复:][quote=引用 4 楼 Giberson1 的回复:]从报错看,是NAT64文件格式的问题,你注意下文件格式。重新再试下。
NAT64文件在项目的哪个文件夹里?需要怎么修改?[/quote] 这就好比excel 2003和excel 2017的区别,明白吗?[/quote] 你的意思是让我换个Android Studio的版本?我现在用的是4.1.1
Giberson1 2021-01-13
  • 打赏
  • 举报
回复
引用 5 楼 小超小调 的回复:
[quote=引用 4 楼 Giberson1 的回复:]从报错看,是NAT64文件格式的问题,你注意下文件格式。重新再试下。
NAT64文件在项目的哪个文件夹里?需要怎么修改?[/quote] 这就好比excel 2003和excel 2017的区别,明白吗?
小超小调 2021-01-13
  • 打赏
  • 举报
回复
引用 8 楼 ink_s 的回复:
包名变了,或者签名变了什么的,你卸载干净再安装,同一个APK多次安装应该都没问题的
不仅卸载,我直接重装系统然后重装AS,不管用。
ink_s 2021-01-13
  • 打赏
  • 举报
回复
包名变了,或者签名变了什么的,你卸载干净再安装,同一个APK多次安装应该都没问题的
小超小调 2021-01-13
  • 打赏
  • 举报
回复
引用 6 楼 不会写代码的猴子 的回复:
你编译成release版本就可以安装了,如果非要安装debug版本,那么请看: Android Studio 3.0会在debug apk的manifest文件application标签里自动添加 android:testOnly="true"属性,导致IDE中run跑出的apk在大部分手机上只能用adb install -t <apk>来安装,在oppo手机上甚至安装不了 解决办法 在gradle.properties(项目根目录或者gradle全局配置目录 ~/.gradle/)文件中添加android.injected.testOnly=false
debug和release版本,我都试过了;android.injected.testOnly=false我也试了,不行的。
不会写代码的猴子 版主 2021-01-13
  • 打赏
  • 举报
回复
你编译成release版本就可以安装了,如果非要安装debug版本,那么请看: Android Studio 3.0会在debug apk的manifest文件application标签里自动添加 android:testOnly="true"属性,导致IDE中run跑出的apk在大部分手机上只能用adb install -t <apk>来安装,在oppo手机上甚至安装不了 解决办法 在gradle.properties(项目根目录或者gradle全局配置目录 ~/.gradle/)文件中添加android.injected.testOnly=false
小超小调 2021-01-13
  • 打赏
  • 举报
回复
引用 4 楼 Giberson1 的回复:
从报错看,是NAT64文件格式的问题,你注意下文件格式。重新再试下。
NAT64文件在项目的哪个文件夹里?需要怎么修改?
Giberson1 2021-01-13
  • 打赏
  • 举报
回复
从报错看,是NAT64文件格式的问题,你注意下文件格式。重新再试下。
小超小调 2021-01-13
  • 打赏
  • 举报
回复
引用 2 楼 ink_s 的回复:
adb install 一共有lrtsdg六个选项 -l 锁定该应用程序 -r 替换已存在的应用程序,也就是说强制安装 -t 允许测试包 -s 把应用程序安装到sd卡上 -d 允许进行将见状,也就是安装的比手机上带的版本低 -g 为应用程序授予所有运行时的权限 你把之前安的卸载了再安装可以安装吗
我用adb install 包名,安装会报错Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI],得用adb install -t 包名才能安装成功。卸载后可以再安装的

80,469

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧