一:不显示任何连接的Devices
下载安装好AndroidStudio后 ,连接手机 发现没有任何的Devices:
这种情况主要有两种情况
- 第一次连接usb设备
- 已经连接过的设备出现这种问题
第一种情况:是因为linux不像windows那样安装驱动,如果第一次连接usb设备需要手动配置一个驱动配置文件,具体步骤如下:
lsusb查看所有的usb设备,找到自己插入的手机(运行一下lsusb查看,然后拔掉手机,再运行一下,哪个少了哪个就是你要找的设备)
找到设备之后,记录两个id 填到最后创建的51-android.rules文件中
//cd到指定目录下
cd /etc/udev/rules.d
//创建51文件 需要root权限 所以 sudo 然后输入密码
sudo touch 51-android.rules
//用gedit打开刚才的文件
gedit 51-android.rules
加入
SUBSYSTEM==”usb”, ATTRS{idVendor}==” 2207替换为你的id”, ATTRS{idProduct}==”0010替换为你的id”,MODE=”0666”
保存 退出。
然后再打开AndroidStudio,查看设备如果出现了你的设备但是后面是[null]查看下面的二解决, 如果还没有请尝试
- 关闭手机的usb调试再打开
- 重新插拔手机
- 重启AndroidStudio
- 运行adb kill-server 然后 adb start-server
- 再不行重启电脑 一般都会可以了
二:设备后面是[null]
AS连接手机进行调试的时候,显示设备后面[null]。
原因是AS使用的是adb来连接手机进行调试的,adb有自己的一个daemon,这个daemon需要以root权限来运行。而一般直接进去AS,然后点击run的话,这个daemon不会以root运行。所以需要先去Sdk/platforms-tools下,运行
sudo ./adb devices
首先我们需要cd 到 sdk安装目录下的platforms-tools下 然后运行上面的命令 如果运行错误我们可以先执行:
sudo adb kill-server
sudo adb start-server
然后执行上面的 sudo ./adb devices
Android Studio 真机调试出现 Unable to instantiate activity ComponentInfo的解决方案
FATAL EXCEPTION: main
Process: com.xxxxxxxxx.android, PID: 24099
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.xxxxxxxxx.android/com.xxxxxxxxx.android.WebActivity}: java.lang.ClassNotFoundException: Didn't find class "com.xxxxxxxxx.android.WebActivity" on path: DexPathList[[zip file "/data/app/com.xxxxxxxxx.android-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xxxxxxxxx.android-1/lib/arm, /data/app/com.xxxxxxxxx.android-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2721)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2880)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1617)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:185)
at android.app.ActivityThread.main(ActivityThread.java:6493)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:916)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:806)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.xxxxxxxxx.android.WebActivity" on path: DexPathList[[zip file "/data/app/com.xxxxxxxxx.android-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xxxxxxxxx.android-1/lib/arm, /data/app/com.xxxxxxxxx.android-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.Instrumentation.newActivity(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2711)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2880)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1617)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:185)
at android.app.ActivityThread.main(ActivityThread.java:6493)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:916)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:806)
大概意思就是找不到WebActivity这个类
但小编说了,在AVD是正常的,所以程序肯定没问题。 百度了各种文章,都是说看AndroidManifest文件有没有配置正确,有没有正常引用jar ,然后重新clean或者make module “APP”。以上各种方法我都尝试过了!然而并没有什么卵用!后来咨询一大神,他说让我把热更新关掉试试!热更新是什么鬼?对于我这个刚从eclipse过来的菜鸟来说,根本就是一头雾水!
关于热更新的介绍: (http://www.jianshu.com/p/2e23ba9ff14b)
其实就是可以加速编译,Instant Run,是android studio2.0新增的一个运行机制,在你编码开发、测试或debug的时候,它都能显著减少你对当前应用的构建和部署的时间。
当我们第一次点击run、debug按钮的时候,它运行时间和我们往常一样。但是接下去的时间里,你每次修改代码后点击run、debug按钮,对应的改变将迅速的部署到你正在运行的程序上,传说速度快到你都来不及把注意力集中到手机屏幕上,它就已经做好相应的更改。 开启热更新的方法: (http://blog.csdn.net/u013277740/article/details/51008282)
既然知道怎么开,那么肯定就知道怎么关啦!
打开IDE,进入File—>Setting—>Build,Execution,Deployment—>Instant Run,将将enable instant run to hot swap code/resource changes on deploy的勾去掉
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为: 2020/05/15 06:47