Android Studio下午安装中止

我试图从Android工作室运行我的GS5上的应用程序,我得到这个:

Waiting for device. Target device: samsung-sm_g900v-f3af9744 Uploading file local path: D:\Android\Projects\TestProject\build\outputs\apk\TestProject-debug.apk remote path: /data/local/tmp/com.brian.testproject Installing com.datascan.mobilescripts DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.brian.testproject" Aborted 

它似乎是将文件复制到设备,我可以在/ data / local / tmp目录中看到它。 它只是在“下午安装”阶段失败。

在电话上,我打开USBdebugging并授权计算机。 这是我运行ADB设备时得到的结果:

 D:\Android\sdk\platform-tools>adb devices List of devices attached f3af9744 device 

所以这似乎是正确的。 我不是很确定问题是什么。 谷歌search的问题没有给我任何相关的结果。

有谁知道如何获得更多的信息超越“中止”? 任何帮助表示赞赏,谢谢!

编辑:

正如@AlexP所build议的那样。 我运行“adb logcat -d -s PackageManager:*”,这是结果:

 D:\Android\sdk\platform-tools>adb logcat -d -s PackageManager:* --------- beginning of main --------- beginning of system 

没有太多的帮助,但我确实看到下午安装正在运行的logcat,我发现这个错误条目:

 Tag=appproc | Text= ERROR: Could not find class 'com.android.commands.pm.Pm' Tag=art | Text= art.runtime/thread.cc:1105] No pending exeption expected: java.lang.ClassNotFoundException: Didn't find class "com.android.commands.pm.Pm" on path: DexPathList[[zip file "/system/framework/pm.jar"],nativeLibraryDirectories=]/vendor/lib, /system/lib]] 

随后是一大堆艺术错误的作品。

所以好像我的手机丢失了什么东西?

Solutions Collecting From Web of "Android Studio下午安装中止"

Android Studio在Galaxy S5上出现故障的原因是因为adbd(手机上的ADB服务不是您的电脑),此手机的根目录版本没有以root身份运行,这是一种安全措施。 您可以通过手动尝试执行Android Studio apk以及在设备上执行命令并发现它们未能执行,但使用“su …”重试它们并查看该应用程序在设备上安装并启动。 有三个选项可以解决这个问题,并取消阻止Android Studio:

选项:

  1. 闪存ROM包括修改 – 不理想,因为从我的理解,你想留在股票形象; 也是一个很好的安全措施,不要一直以root身份运行adbd。 旧版本也属于这个类别,但是你却缺lessStock Rom更新和安全补丁。
  2. 创build一个自定义的boot.img并将其闪存到您的手机 – 这基本上是一个自定义的内核,并不像上面的选项1那样。
  3. 在进行应用程序开发时,使用root权限在设备上重新启动adbd – 首选和可实现的相当容易,通过各种方法,包括:

首选scheme:

一个。 使用root权限(不安全模式)重新启动adbd通过杀死手机上的服务和使用terminal应用程序或使用“su”重新启动它。 完成应用程序开发后,重新启动手机,adbd将恢复到安全模式,恢复安全措施。

湾 使用Chainfire的ADB不安全应用程序(XDA上免费)(下载/链接如下)或在Google Play上支付,以支持他的工作。 你可以在应用程序中切换模式。 在应用程序中,您也可以select在重新启动时自动重新启用不安全模式。

参考文献:

https://android.stackexchange.com/questions/5884/is-there-a-way-for-me-to-run-adb-shell-as-root-without-typing-in-su

http://forum.xda-developers.com/showthread.php?t=1687590 (包括免费下载链接)

https://play.google.com/store/apps/details?id=eu.chainfire.adbd (支持Chainfire的工作)

可能的解决scheme :

1.检查你的应用程序是否有任何数据:

首先,如果应用程序已经安装,然后清理caching数据并卸载它在“系统设置”,然后“应用程序pipe理器” http://img.androidcookie.com/android/b3oys.jpg

然后

  • 强制卸载运行& adb shell pm uninstall com.brian.testproject
  • 检查“/data/data/com.brian.testproject/”并删除它
  • 删除/data/system/packages.xml中的任何包的条目
  • 删除/data/system/packages.list中的所有包
  • 您也可以安装SDMaiD并清理您的设备,特别是使用“CorpseFinder”和“AppCleaner”

2.尝试手动安装应用程序并debugging结果:

在你的情况下,你有一个问题与下午在Android Studio …手动安装它有一个更详细的消息,通过命令行

 $ adb push D:\Android\..\TestProject-debug.apk /sdcard/myapp.apk $ adb shell pm install /sdcard/myapp.apk 

3.检查Android Studio和你的应用程序的来源

更改目标api级别:


  • 如果你没有最后的版本,更新你的android studio
  • 如果你的应用程序使用库,你必须重新编译它们。

4.检查系统设置:

  • 检查你的init.rc的BOOTCLASSPATH BOOTCLASSPATH必须包含/system/framework/ext.jar和/system/framework/framework.jar等等。

  • 检查build / core / dex_preopt.mk的DEXPREOPT_BOOT_JARS。 DEXPREOPT_BOOT_JARS必须包含ext和framework等。

  • BOOTCLASSPATH上所有项目的顺序必须等于DEXPREOPT_BOOT_JARS上所有项目的顺序。


5.直接在设备上尝试pm命令:

如果下午命令​​不起作用尝试与terminal直接在手机上的命令,看看它是否是一个连接问题之间的电脑和手机

 pm install /sdcard/myapp.apk 

6.重新安装你的ROM(只需重新安装)不需要擦除。

对于任何人有这个相同的问题,不幸的是唯一的解决办法,我可以find降级我的ROM版本(到OA8)。 一旦我这样做,adb完美的作品。 如果有人find更好的解决scheme,我一定会知道。

Android Studio

第1步 :转到文件 – >无效并重新启动。

第2步 :清理和重build项目。

第3步 :转到项目文件夹运行

 gradle clean 

第4步 :重新启动手机/模拟器。

完成!