Android Studio是Android开发的理想工具,但是由于版本的更新和配置的差异,会出现很多问题,下面是以《第一行代码 第二版》为基础进行开发学习可能遇见的一些问题及其解决办法。
1.Android Studio 3.0及以上版本找不到Android Device Monitor:
解决办法:
(1)在Android Studio中打开终端,如下:
(2)跳到SDK目录下的tools目录
查看SDK的目录可以在设置中依次找到:File → Settings → Appearance & Behavior → System Settings → Android SDK
(3)执行monitor
命令
即出现以下弹窗
即可进行需要的操作。
在网上出现的解决此问题的方法一般是在CMD中解决,但是会出现问题,如
可能是由于在Studio外部的命令行没有打开的权限,所以最好在Studio自带的命令行打开。
2.在Android Device Monitor无法打开文件读取权限
在第1部分中打开Android Device Monitor并点开File Explorer是不能读取文件的,如下:
因为进行了权限设置,需要先打开权限,步骤如下:
(1)打开cmd
(2)在platform-tools路径下输入adb shell
,回车(adb.exe位于SDK目录下的platform-tools文件夹下,如下图):
(3)输入su,回车
(4)输入chmod 777 /data, 回车(该步骤设置data文件夹权限为777(drwxrwxrwx),也即administrators、power users和users组都有对该文件夹的读、写、运行权限)
(5)输入chmod 777 /data/data 回车(该步骤设置/data/data文件夹权限为777,依次类推)
此类方法是逐渐往下设置,很麻烦。
有一种更为简洁的方法,直接在platform-tools路径下输入adb root,即可获取所有文件夹权限。
打开权限后效果如图
如需要导出数据,如图
直接点击所框PULL按钮,可能会出现如下报错
此时重新选择一下 Android Device Monitor 左侧面板的设备,即能解决。
最后数据文件会被导入到你所指定的位置,如图
3.Androidstudio中添加jar包的方法
到网上下载你需要的jar包,下载下来后,将你Androidstudio中的项目视图切换为project,找到app下的libs,将你下载的jar包复制粘贴进去
jar包复制进去后,选中你的jar包,比如我这里放了一个logback-classic-1.0.11的jar包进去,选中logback-classic-1.0.11,右键选择Add As Library,放进你的module中(要是有多个module,要注意自己要放进哪个module),然后加载同步下就可以了。
下图所示,说明jar包添加成功了。
4.Android studio卡在waiting for target device to come online
首先要保证模拟器没有打开,接下来打开模拟器
选择cold boot now,就可以发现模拟器已经启动,然后运行要运行的项目,就能正常显示了。
一定要保证模拟器没有启动的情况来这样使用,否则就会出现下面的情况:
5.studio3以后的版本重写父类的方法出现androidx.annotation.NonNull包找不到的问题
这是androidX的问题:
AndroidX 是一个新的扩展库,用于向下兼容支持,在28稳定版库将所有的v4、v7后续功能将被整合到 androidx 包中,即从 API 28(Android 9.0,Pie)开始,Google 推荐开发者从原来的各种支持库转移到一个新版本的名为 AndroidX 的支持库。
解决办法:
(1)在gradle.properties文件里面添加如下代码
android.useAndroidX=true #表示当前项目启用 androidx android.enableJetifier=true #表示将依赖包也迁移到androidx。如果取值为false,表示不迁移依赖包到androidx,但在使用依赖包中的内容时可能会出现问题,当然了,如果你的项目中没有使用任何三方依赖,那么,此项可以设置为false
(2)在module的gradle文件的dependencies 里面添加
dependencies { implementation 'androidx.annotation:annotation:1.0.2' }