美文网首页高级UI
AndroidStudio常见的问题及解决方案

AndroidStudio常见的问题及解决方案

作者: 我叫Xy | 来源:发表于2020-01-20 09:28 被阅读0次

    快速定位该网页上你要找的问题及解决方案:Ctrl+F 搜索你的问题

    问题1:GC overhead limit exceeded

    clipboard.png
    • 原因:这个是JDK6新添的错误类型。是发生在GC占用大量时间为释放很小空间的时候发生的,是一种保护机制。一般是因为堆太小,导致异常的原因:没有足够的内存。

    解决方案(已测):
    修改项目目录下的gradle.properties,增加如下配置信息:(org.gradle.jvmargs=-Xmx4096m至Dfile.encoding=UTF-8中需要根据自己电脑的配置修改内存大小,其余的配置用于加快gradle的编译速度)
    org.gradle.daemon=true
    org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    org.gradle.parallel=true
    org.gradle.configureondemand=true

    问题2:Unknown host 'd29vzk4ow07wi7.cloudfront.net'. You may need to adjust the proxy settings in Gradle.

    错误图2.png
    • 原因:通过错误提示可以知道是“d29vzk4ow07wi7.cloudfront.net”这个地址无法访问。猜想是被墙了

    解决方案1(已测,不是最佳方法):
    1、开启翻墙工具(电脑开启的工具得设置全局)
    2、androidstudio也需要设置翻墙


    解决问题2_方案1.png

    解决方案2(已测)
    项目build.gradler 的jcenter()前添加上mavenCentral()

    问题3:ERROR: Could not download bcpkix-jdk15on.jar (org.bouncycastle:bcpkix-jdk15on:1.56): No cached version available for offline mode

    问题3.png

    解决方案(已测):
    类似这种下载问题 Could not download
    offline work勾上说明使用离线模式编译,当然下载不下来啦。


    解决问题3.png

    问题4:Error:Connection refused: connect

    解决方案(已测):
    项目目录下找到gradle.properties 文件,把本地代理屏蔽掉


    解决问题4.png

    问题5:ANR(手机提示未响应)

    问题5.png

    解决方案(已测):
    定位ANR 具体报错行
    打开DDMS


    寻找ARN产生的地方.png

    问题6:一直卡Gradle Build Running 运行很久才能安装上去。

    解决方案(已测):把杀毒软件关了。完美解决。

    问题7:Error:Failed to find target with hash string 'Google Inc.:Google APIs:23' in: D:\xyz\AndroidStudio\Android_Studio\AndroidSDK\AppData\Local\Android\sdk <a href="openAndroidSdkManager">Open Android SDK Manager</a>

    • (此问题多出自导别人的项目)
      原因1:你没有下载这个版本的SDK
      原因2:你已经下载了这个版本的SDK,但是又分Windows和Mac平台,这个时候你要注意是导入的是哪个平台的。他们的区别在于单引号和双引号。(Ubuntu-->是一种Linux操作系统)


      问题7.png

    解决方案(已测):
    如果你是第一种情况,就去下载你缺少的对应的SDK吧!
    如果你是第二种情况,这时你只需要全局查找哪些地方'Google Inc.:Google APIs:23'运用了这个,把他改成对应的平台即可(如果多处引用,可以全局替换)。

    问题8:The SDK platform-tools version (25.0.1) is too old to check APIs compiled with API 26; please update

    问题8.png
    • 原因:你当前SDK平台工具版本(25.0.1)太老了,检查API使用API编译26,请更新

    解决方案(已测):
    添加缺少的(SDK platform-tools )


    解决问题8-1.png

    下载完后要重启Studio后才生效。

    问题9:Error:Configuration with name 'default' not found.

    • 翻译:错误:配置的名称“默认”不见了。
      错误地方:settings.gradle文件


      问题9.png

    解决方案(已测):
    在工程的目录下面逐一查找include文件是否全部都有。
    没有的根据自身需求,进行添加删除。
    如果添加了相应inlcude的工程进来,发现还是会提示这样的default not found语句,是因为用gradle编译的工程,每个工程下面都必须要有build.gradle文件,才能够编译include的工程。整个大工程才能sync通过。把include工程中都添加上相应的gradle配置文件,再重新进行sync,整个工程都通过了

    问题10:app:clean

    问题10.png

    解决方案(已测):
    将项目app下的bulid文件夹删除。


    解决问题10.png

    问题11:Cannot resolve symbol 'AppCompatActivity

    • 原因:看看有没有导V7包,如果导了就是编辑器问题

    解决方案(已测):
    重启编辑器


    解决问题11.png

    问题12:com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 12

    • 原因:你bean对象中写的是object类型,但是获取到的json中却是array类型(解析错误)

    解决方案(已测):
    要么让后台改json 要不然自己改bean对象

    问题13:Generate Signed APK

    Errors while building APK. You can find the errors in the 'Messages' view.


    问题13.png

    解决方案(已测):
    在项目的build.gradle文件中添加:multiDexEnabled true


    解决问题13-1.png

    问题14:Error:java.lang.NullPointerException (no error message)

    解决方案(已测):
    删除工程目录下.gradle文件,重启Android Studio就OK了,删除.gradle文件,不是删除Build.gradle文件。

    问题15:UnsupportedMethodException

    Unsupported method: AndroidProject.getPluginGeneration().
    The version of Gradle you connect to does not support that method.
    To resolve the problem you can change/upgrade the target version of Gradle you connect to.
    Alternatively, you can ignore this exception and read other information from the model.

    • 原因:这个错误应该是由于项目的Gradle文件和自己的Android Studio设置的有了冲突,原来的Gradle代码如下:


      问题15.png

    解决方案(已测):
    打开一个能运行的项目;

    解决问题15-1.png
    文件下的 解决问题15-2.png
    复制过去;在把 解决问题15-3.png
    此文件夹的 解决问题15-4.png
    替换过去即可

    问题16:ERROR: Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=mainRelease, filters=[], versionCode=8, versionName=1.7.180828}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.

    • 原因:gradle打包,自定义apk名称代码报错,一般出现在AndroidStudio低版本升高版本

    解决方案(已测):
    在项目的build.gradle文件中修改:
    applicationVariants.all { variant ->
    variant.outputs.all { output -> // each 改为 all
    def fileName = "${variant.versionName}_release.apk"
    def outFile = output.outputFile
    if (outFile != null && outFile.name.endsWith('.apk')) {
    outputFileName = fileName // output.outputFile 改为 outputFileName
    }
    }

    解决问题16.png

    问题17:Process 'command 'C:\Users\59908\AppData\Local\Android\Sdk\build-tools\28.0.2\aapt.exe'' finished with non-zero exit value 1

    问题17.png
    • 原因:出现这种问题,一般都是资源文件有问题,但他又没告诉你具体哪个问题出了问题

    解决方案(已测):
    你只需要采取build的方式,之后一些详细信息就会在Run里面。会直接定位到你的XML的行数和字符数。(她提示的是你build 中的错误文件,你去相应的资源文件找就可以了)


    解决问题17.png

    问题18:Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-4.1-all.zip'.

    QQ截图20200117170116.png
    • 原因:出现这种问题,一般都是到别人项目
    • 字面意思就是说:现在安装不了,也找不到这个版本的Gradle

    解决方案(已测):
    同步下,让他重新去下载。
    或者设置本地已有的Gradle(参考问题15解决)

    问题19:ERROR: Read timed out

    QQ截图20200117171822.png
    • 原因:一般新导入项目时会发生。因为新导入的项目会有很多东西需要下载。比如:1、一些网站被墙了,导致下载不下来。2、下载速度很慢,超出了AndroidStudio默认的联网时间。3、你没有配置自己下载的jdk,而是使用了AndroidStudio默认的jre目录。

    解决方案1(已测):
    直接sync 同步。
    解决方案2(已测【推荐】)
    将jdk修改为默jdk后再sync 同步。(不管你选择哪种方案,仍然有可能出现下载没下来的文件,多次同步就好。【因为我的项目比较大所有要同步多次】)
    解决方案2步骤:

    1. 进入File–>Project Structure;
    2. 将android studio 默认使用的jdk路径修改为自己安装的jdk路径(注:修改路径时,只需要修改为bin的上一层路径即可)


      解决方案2.png

    上一篇:AndroidStudio常用配置

    下一篇:

    相关文章

      网友评论

        本文标题:AndroidStudio常见的问题及解决方案

        本文链接:https://www.haomeiwen.com/subject/sgxjzctx.html