Android-studio与Android常见的Error问题与坑总结_failed to find platform sdk with path: platforms;a-程序员宅基地

技术标签: android  androidstudio  pluginerro  

Android-studio与Android常见的Error与坑总结

1 Error plugin
在某些情况下,比如你的android-studio没有关闭,然后你强制关机,当再次打开android-studio时,会出现这个问题

Plugin "Google Analytics Uploader" was not loaded: required plugin "Android Support" is disabled  
       Plugin "SDK Updater" was not loaded: required plugin "Android Support" is disabled.  
       Plugin "Android NDK Support" was not loaded: required plugin "Android Support" is disabled.  
       Plugin "Google App Indexing" was not loaded: required plugin "Android Support" is disabled.  
       Plugin "Google Cloud Tools For Android Studio" was not loaded: required plugin "Android Support" is disabled.  
       Plugin "Google Cloud Testing" was not loaded: required plugin "Android Support" is disabled  
       Plugin "Google Services" was not loaded: required plugin "Android Support" is disabled.  

解决方法:
点击File下面的Settings(快捷键 alt+ctrl+s)
找到plugin 发现有一些插件为红色
点击这些红色插件的后面的勾勾
再重启 就OK了


2 Write access is allowed from event dispatch thread only

解决方式:
File->project structure->Android sdk -> embedded
给当前的android studio的jdk换个版本,使用android studio 自带的jre。JDK版本 和 sdk版本冲突。
仍点击不了运行按钮,则在右上角的锤子图标和运行图标之间的一个下拉三角形,选择app,则运行图标可点击了


3 Unsupported Modules Detected: Compilation is not supported for following modules
File->invalidate caches/Reset->invalidate and reset
重新运行就OK


4 XML文件打不开
也是
File->invalidate caches/Reset->invalidate and reset
清理一下caches


5 点不了install
看install什么,如果是要install API 则可以去SDK Manager中install相应的API版本


6文件不能删除 复制粘贴
右键磁盘 工具 检查 修复


7 Execution failed for task ‘:app:clean’. > Unable to delete directory
将app目录下的 build删除 然后重新clean rebuild


8 无法连接真机设备
(1)检查是否开启开发者模式->USB调试 并且为MTP模式
(2)检查是否是线的问题 有的线是只能充电不能传数据的
(3)检查是否是驱动没有安装的问题 可以下载 豌豆荚 或者360手机助手进行驱动安装
(4)若豌豆荚等软件能识别手机,但是Android studio还是不能运行,
出现:

adb.exe start-server' failed -- run manually if necessary (moments ago)

可能是 adb需要的端口被占用了 比如你通过豌豆荚或者 360手机助手去安装驱动,然后没有关闭这个程序,它占用了adb的端口
可以尝试关闭这个程序
若还是不行 则可以:

// 重启adb
adb kill-server
adb start-server

或者

adb nodaemon server  

找到端口名
再用

tasklist | findstr "xxxx"

找到这个端口的pid
再结束这个pid

taskkill /pid xxxx /f

再去Android studio 试试


9 design 界面显示不了
1 重启AndroidStudio(所有都要关了)
2 或者是 引入了错误的布局或者控件


10 android studio Received status code 403 from server: Forbidden
android studio 使用的http代理未被所访问的网址授权
换一个代理


11 apk装不上
It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing

1 存在重复包名的apk 把他卸载掉 可能删了图标但是并没有删除,去文件管理中查看对应包名删除

2 根据以下路径,找到Instant Run中的选项
File —— Settings——Build,Execution,Deployment——Instant Run
将Enable Instant Run to hot swap code/resource changes on deploy(default enabled)的选择框取消。

3 手机运存不足

4 用了系统权限 如manifest中声明了 sharedId
但是没有Root或者该APK没有受到该设备的签名认证
解决:删掉系统权限 或者签名apk

5 若使用的是小米手机 得去开发者中心关闭MIUI 优化

6 clean project rebuild project

7 打开USB安装和允许USB调试以及 通过USB验证应用 开关

12 devices support but apk only support arm-v7a
手机没有打开usb调试 或者没有同意允许调试

13 logcat找不到应用
解决:重新插拔USB线

14 关闭代理模式
1 在Preference->Http proxy中 选择 No proxy
2 在gradle.properties中 将带有SystemProp.http.xx字样的删除即可

logger只打印部分内容
android 的logger单条打印是有上限长度的
大概为1000个字符以下

15 run-as “包名” is unknown
不能在android device explorer看到data/data/包名 或者执行 adb shell run-as 命令
原因:
1 该apk是系统apk 得要root权限才能查看
解决: 先获取root权限 执行"su"命令
16 报错 run-as “包名” is undebuggable
该apk 设置了android:debuggable="false" 不允许debug

17 Error:Project ‘app’ not found in root project ‘ProjectName’
setting.gradle未include ‘app’ 的module


Android常见Error总结

对于一些异常crash 看堆栈 看日志 还是找不到原因 可以基于堆栈、基于日志看下是不是有些特殊异常的操作


1 android.content.res.Resources$NotFoundException
setText只能为String 类型的 而你这里的是int类型


2 Error:(501, 1) 错误: 非法字符: ‘\u0000’
方案1:用Notepad++打开 art+m 或者 点击菜单栏的格式选项 选择 无BOM编码

方案2:在那个文件下把他修改成其他编码然后在修改回UTF-8就应该没问题了 比如我出现在VideoFrament.java 这里 我用的是as 右下角有个修改编码的东西 按照前面说得操作 类似刷新一下编码的意思吧 反正我Build没用 硬是要这样

方案3:如果还是存在 就ctrl+a ctrl+x ctrl+s ctrl+v 这样 让系统再次读下代码


3 Error:null value in entry: outputDirectory=null
删除项目根目录的.gradle文件夹,然后Clean ,Rebulid


4 app:transformClassesWithDexForDebug 错误

1 包重复冲突 检查 build.gradle 以及 lib 或者 external libraries 是否导入了相同的lib库
或者 是 库内存在相同的包

可以查看报错位置 能找的到重复的包就去删掉 找不到可以通过exclude 去声明

2 版本冲突
如support 包 和一些 外置的 包 有版本冲突

如改 support 的版本 27.1.1 为 26.1.0


5 Error:Could not resolve all dependencies for configuration ‘:app:debugAndroidTestRuntimeClasspath’.
Could not determine artifacts for com.android.support.test1.0.1: Skipped due to earlier error
gradle的问题 更换gradle(如不使用google的而是某个镜像,公司内部的gradle)


6 error: :attr>.
Message{kind=ERROR, text=error: :attr>., sources=[C:\Users\maxshwu.gradle\caches\transforms-1\files-1

其中的一种可能是自定义View时

<declare-styleable 

写成了

<style

或者

 <attr name="outerMostArcWidth" format="dimension" />

没有写 format

总之就是你的自定义View的style.xml部分写错


7 无法删除文件
1 解除 classpath引用
2 解除 dependenties (compile)implement引用
3 invalidate cache
4 clean project
5 重启电脑 在文件夹删除(不打开as)


8 classpath引入包或者 dependenties (compile)implement引用库失败
1 可能存在空的文件夹,导致认为该包已经存在 先删掉 删不掉参考第7点


9 SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
1 导入的jar包 未在setting.gradle引用
2 local.properties 的sdk路径未配置正确
3 ANDROID_HOME 配置sdk路径


10 Failed to find Platform SDK with path: platforms;android-23
没有响应的sdk 23版本 去下载对应版本即可


11 androidstudio 更新不了sdk 连不上网
1 检查网络状态
2 检查代理 更换可用的代理 或者镜像
3 手动下载


**12 **
setText 不能是int类型的,虽然编译器没报错 但是去setText的时候是会出错的


**13 **
for (xx:yy)
这里的yy不能为空 一定注意!!! 加判空操作


**14 **
arrayList.get(number) 这里的数值要加判断 if(number <= xxList.size -1) 避免下标越界


15 注意: android studio对于 java python等在环境变量中配置修改 需要重启一下as


16 split注意的点

split()方法 用于根据指定的符号对字符串进行分割 生成 一个数组String[]
1 xx.split() 要记得对xx作非空判断 而他是不会提示的
2 “.”和“|”都是转义字符,必须得加"\\"
3 
String  ips = "12.12.12.12;15.15.15.15;";
	ips = "12.12.12.12;15.15.15.15";
	ips = "12.12.12.12;15.15.15.15;;;";
    	String [] ipList = ips.split(";");
    	System.out.print(ipList.length);
返回的是都是2
	ips = "12.12.12.12;15.15.15.15;;13.13.13.13;";
返回的是4 (即 不是看有几个分号  而是若分号后无数据了 则截断 有数据 中间的分号是空的 则存""(非null的值))
	ips = "12.12.12.12";(即没有匹配 返回的是整个字符串作为数组的第0位)
返回的是1

**17 **

Execution failed for task ':Launcher4SkyWorth:lint'.
 Lint found errors in the project; aborting build.

解决:
1 将相关 的 错误或者警告解决
2 忽略警告

android {
        lintOptions {
            abortOnError false
      }
  }
  

18 Failed to resolve: javax.annotation:javax.annotation-api:1.2
1 若不需要Junit相关的 则删掉 相关compile即可

testCompile 'junit:junit:x.xx'

2 若需要,则

android{
    repositories {
    jcenter()
    maven { url "https://www.jitpack.io" }
    mavenCentral()
}

19 Failed to find Build Tools revision 26.0.2
原因:无法安装 Build Tools26.0.2
解决:
1 点击错误提示处下方的Install进行安装
2 若安装失败,则在SDK Manager中->Android SDK->SDK Tools->右下角勾选 show Package Details->在 Android SDK Build-Tools一栏中选中 26.0.2进行安装
3 可能是代理问题 更换代理即可

Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
解决:
点击Build栏左侧的Toggle View 即可查看详细的错误信息

20 无法引用jar包
1 确定jar路径是否正确 项目中是否存在
2 若路径正确 则尝试清除各种缓存 clean project invalidate cache等
3 路径问题 文件夹命名中有/符号(mac系统中发现)
4 重启 as 重启电脑
5 查看各种版本 与能够运行的同学保持一致版本 如gradle jar包 sdk等

21 Caused by: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception

22 Unresolve Reference:xxx
原因
找不到layout下对应的id
解决
若点击该属性 不能跳转 则检查id是否存在
若能跳转 但是跳转的layout不对 则改个名字 若同名 则关联好相关的layout
1 如可能是使用了kotlin的语法糖 将下面这个改成你的layout
import kotlinx.android.synthetic.main.你的layout.*
2 可能是import导入的"R"错误
检查这个R是否是对应的包下的R文件
3 关闭as 将project的/build app module的/build目录删掉
再打开as clean project rebuild poroject

23 AGPBI: {“kind”:“error”,“text”:“error: expected reference but got (raw string) #000000.”,“sources”:[{“file”:“/Users/xx/project/app/Android/src/app/xx/build/intermediates/packaged_res/debug/values/values.xml”}],“original”:“”,“tool”:“AAPT”}
原因:找不到某个资源
解决: 可能是
1.资源名字写错 找不到这个资源
2.<item name="android:windowBackground">@color/colorBlack</item>
android:windowBackground不能使用#xxxx的方式 而是要用@color的方式

24 NoClassDefFoundError: Failed resolution of: Lkotlin/jvm/internal/Intrinsics
kotlin没有在project的.gradle中添加到classPath 或者 module的build.gradle没有添加

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlinVersion"

25 java.lang.RuntimeException: Could not read input channel file descriptors from parcel.
在报错的下面可以看到 Too many open files 这个错误
**原因:**单个进程能够打开的最大文件句柄数量(fd)是可以配置的,系统默认是 1024。当单个进程打开的文件句柄数量超过了系统定义的值,
就会出现“Too many files open”的错误提示
解决: 查看代码中有哪些资源没有关闭,如文件,图片,如HandlerThread 如播放器

查看系统允许每个进程持有的fd上限

adb shell  ulimit -a

OR

adb shell /proc/<进程名>/limits

查看该进程持有的fd数

lsof | grep <进程名> | wc -l 

26 import kotlinx.android.synthetic.main.activity_webview.*
原因: kotlin的语法糖发现 unresolve activity_webview
可能是这个文件和activity_webview 不在一个module中 语法糖生成不了
解决: 还是得用回findViewById

27 art虚拟机报的错

Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$2>: 
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener

原因:
1 API低于代码的API
2 appcompat版本和android build tool版本不一致
3 有的会报错 但是不影响使用

28 arm64-v8a/android_gradle_build.json (No such file or directory)
1 clean project
2 rebuild project

29 Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
原因: 8.0以上,不允许透明的或者非全屏的Activity设置屏幕方向,屏幕方向应该由全屏的并且非透明的Activity来决定
解决:
1 将这个Activity设置为不透明的
2 不给这个Activity设置屏幕方向
3 针对8.0的系统,style中不设置windowIsTranslucent,而是通过代码反射的形式动态设置

30 aar的包 编译器看正常/不正常 但是编译不正常/正常
原因: 可能换了AAR AS编译器存在缓存没及时替换
解决: invalidate cache and restart

31 java.lang.NoSuchMethodError: No static method xxx
看下那个错误的函数和参数 是否有错 没错的话重新rebuild一下

32 java.lang.StackOverflowError: stack size 8MB
at android.view.ViewGroup.resetResolvedLayoutDirection(ViewGroup.java:6081)

如:自己对自己addView 导致循环引用

33 Build 失败 提示java End of file
原因 java环境没有被AS引用到
open ~/.bash_profile,添加

export JAVA_HOME="xxx/jdk-11.0.16.1.jdk/Contents/Home"
export PATH=$PATH:$JAVA_HOME/bin

然后 source ~/.bash_profile
如果安装了zshrc,需要在zshrc文件里,

source ~/.bash_profile

然后在AS的控制台看java -version是否能正确输出

34 build时 cannot load cache
可以试下rebuild 可能是有一些文件重复了

35 NoClassDefFoundError
明明库在 库里面的文件在 编译器能跳转索引,但是运行时却报错NoClassDefFoundError
解决: 降级库版本

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37577039/article/details/78694996

智能推荐

SSH简介及两种远程登录的方法_ssh @-程序员宅基地

文章浏览阅读10w+次,点赞588次,收藏3.7k次。目录SSH的安全机制SSH的安装启动服务器的SSH服务SSH两种级别的远程登录SSH的高级应用Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,..._ssh @

Java中的byte详解_java byte-程序员宅基地

文章浏览阅读4.6w次,点赞32次,收藏118次。Java中的byte详解介绍byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。byte取值范围分析一直在想为什么不是 -128 到 128呢?今天分析了一下这个问题。首先我们得明白一件事情,那就是运算规则(因为计算机中的数是以反码形式存储的,反码再求反码得到该数真值):正数的最高位都是 0 ,正数的值就是二进制表示的_java byte

ant design 照片墙样式手动上传多图 支持multiple_react ant-design upload图片上传 multiple-程序员宅基地

文章浏览阅读2.8k次,点赞5次,收藏10次。默认样式(啥都没有……):一条:最大条数我设置的3:先简单说下我做的过程,希望有大佬指点,也想能够帮助到刚入门的各位同学。需求和实现:点击上传图片显示图片缩略图并不立即上传,将beforeUpdata中获取到的file存入fileList数组(multiple多选时,beforeUpdata依次传入每一张图的file),同时在beforeUpdata中要控制随后可上传的数组..._react ant-design upload图片上传 multiple

图解 Go GC-程序员宅基地

文章浏览阅读335次。转载自曹大公众号,不光是图,还有动画,读完对 Go GC 会有一个高层次的理解。这一篇是之前给极客时间 tony bai 老师专栏的供稿,经过编辑的同意,延迟几个月后可以在我的个人号上发出~本文内容只作了解,不建议作为面试题考察。武林秘籍救不了段错误包教包会包分配在各种流传甚广的 C 语言葵花宝典里,一般都有这么一条神秘的规则,不能返回局部变量:int*func(vo..._go gc

Node携手MongoDB探险旅行️-程序员宅基地

文章浏览阅读936次,点赞21次,收藏22次。MongoDB是一种流行的开源文档数据库,基于分布式文件存储的数据库;是一个介于关系数据库和非关系数据库之间的产品,它属于NoSQL数据库的一种,由C++语言编写;MySQL,它不遵循传统的表格结构,类似json的bson格式正因如此,对于JavaScript有天然的优势;

uni-app 动态绑定style background-image uniapp 动态绑定背景图片_uniapp vbind background-image-程序员宅基地

文章浏览阅读4k次。正常不绑定的时候 <view class="site" v-for="(item,index) in fieldData" :key="item.id" style="background-image: url(../../../static/img/l3.jpg);"> 绑定的时候 <view class="site" v-for="(item,index) in fieldData" :key="item.id" :style="{backgro.._uniapp vbind background-image

随便推点

USB8814动态信号采集卡——声音振动类信号处理的理想之选!_8通道同步振动数据采集卡-程序员宅基地

文章浏览阅读725次,点赞17次,收藏10次。USB8814是一款为测试音频和振动信号而设计的数据采集卡。该板卡提供8路同步模拟输入通道,24bit分辨率,每通道采样速率高达204.8KSPS,并且每通道集成独立的IEPE激励源,可直接实现对加速度传感器及麦克风等相关信号的调理。采集卡板载数字抗混叠滤波器,可有效降低高频噪声并抑制频率混叠。USB8814具备灵活的通道配置、多通道的动态信号采集,适用于诸如动态结构测试、音频/振动等高动态范围信号的采集应用场合。_8通道同步振动数据采集卡

253、仿真-基于51单片机篮球计时计分器Proteus仿真设计(程序+Proteus仿真+原理图+PCB源文件+参考论文+开题报告+任务书+元器件清单+硬件框图+配套资料等)_篮球计时器proteus-程序员宅基地

文章浏览阅读322次。方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节的闪存程序存储器,也就是说代码量可以写到128k字节,本次设计足够,内部高达20K字节的SRAM。_篮球计时器proteus

【ASP.NET】——IsPostBack_asp.net ispostback-程序员宅基地

文章浏览阅读301次。如果隐藏域的值不为空,表示用户单击了提交按钮发出了POST请求if (!string.IsNullOrEmpty(Request.Form["isPostBack"]))IsPostBack:如果是POST请求该属性的值为true,如果是GET请求该属性的值为false.IsPostBack:是根据__VIEWSTATE隐藏域进行判断的,如果是POST请求那么该隐藏域的值会提交到服务端..._asp.net ispostback

CentOS设置设备开机自动挂载_centos 8.5 启动 自动 mount-程序员宅基地

文章浏览阅读9.8k次,点赞2次,收藏6次。为了避免每次重启系统后都要手动mount,可以在/etc/fstab中加入一行挂载配置,即可开机自动挂载,该方法简单方便。使用root执行命令:vim /etc/fstab并在该文件中添加如下内容:/dev/cdrom /mnt/cdrom iso9660 defaults 0 0 说明:第一列: 设备或磁盘分区 第二列: 挂载点 第三列: 设备_centos 8.5 启动 自动 mount

Android/ActionBar兼容组件ActionBarSherlock_actionbarsherlock-4.4.0/res/values/values.xml:268:-程序员宅基地

文章浏览阅读1k次。>>public abstract class ActionBarextends Object Added in API level 11仅支持3.0 以上的设备 并且google未提供该向下兼容包>>ActionBarSherlock 由http://actionbarsherlock.com/samples.html提供的开源组件目的是为了兼容2.*的设备>>何为兼容_actionbarsherlock-4.4.0/res/values/values.xml:268:5

HOME: Backward Each Word —— 反转单词_checkio backward each word-程序员宅基地

文章浏览阅读386次。CheckIO是一个通过闯关游戏学习编程的网站(Python和JavaScript)。通过解题开发新“岛屿”,同时,通过做任务获得Quest Points解锁会员题目。文章内容:题目、我自己的思路和代码以及优秀代码,如果想看大神解题可以直接跳到“优秀代码”部分。本题链接:https://py.checkio.org/en/mission/backward-each-word/题目给定一个字符串,反转单词(注意:单词的顺序不变输入: 字符串输出: 字符串举个栗子:backward_st._checkio backward each word

推荐文章

热门文章

相关标签