AndroidStudio使用过程中遇到的bug(持续更新) - Go语言中文社区

AndroidStudio使用过程中遇到的bug(持续更新)


转载请注明出处:http://blog.csdn.net/forevercbb/article/details/51037833
由于Google不再支持Eclipse之后,转向Google的亲儿子——AndroidStudio是必然的,但是AndroidStudio的配置以及使用都比Eclipse复杂,不熟悉的情况下经常会遇到一些莫名其妙的问题,导致应用无法正常编译。代码出现的bug可以根据错误类型和提示去分析原因,有一定的根据可以进行定位和解决。但是AndroidStudio出现的bug在不熟悉的时候却无从下手。这里整理了之前遇到的一些bug和解决办法。以后有遇到新的bug会继续更新。

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'E:Program FilesJavajdk1.7.0_80binjava.exe'' finished with non-zero exit value 2

AndroidStudio进行SVN同步的时候常出现这个问题,初步猜测可能由同步下来不需要的build文件造成,clean一下项目即可解决。

Error:Execution failed for task ':app:clean'.
> Unable to delete directory: F:XXXXXXappbuildintermediatesresmerged

说明这个文件被其他文件占用
可以把android studio 关掉 直接去对应的文件夹下面删除对应的文件。一般在不能删除的情况下,多点几下重试,就能成功删除。如果实在无法删除。
可以去任务管理器 把 java 的进程强行停止掉。
再重新打开android studio 就可以了

Error while executing: am start -n "package_name/package_name.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=package_name/.MainActivity }
Error type 3
Error: Activity class {package_name/package_name.MainActivity} does not exist.

Error while Launching activity

卸载应用之后再次运行出现这个错误,as默认项目没有修改,没有安装就直接启动app,因此报错。可能是由于AS的Instant Run功能异常导致,解决办法见7。

03/30 17:11:41: Launching app
No local changes, not deploying APK
$ adb shell am start -n "package_name/package_name.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Connected to process 30598 on device coolpad-coolpad_8297-Coolpad8297-48dfce74

修改配置文件而没有修改代码的情况下,AndroidStudio默认为代码没有改变,因此没有重新安装APK。可能是由于AS的Instant Run功能异常导致。可以在代码中加上一个回车或者几个空格试试。如果不行,解决办法见7。

Error:(1, 1) A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
   > Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in F:XXXgradlewrappergradle-wrapper.properties to gradle-2.10-all.zip

Gradle的版本太低,那么怎么升级Gradle版本呢,首先打开android studio项目 找到项目目录gradlewrappergradle-wrapper.properties这个文件,最后一句distributionUrl=http://services.gradle.org/distributions/gradle-2.8-all.zip就是Gradle的版本,修改成2.10即可。再次运行程序,AndroidStudio就会自动下载2.10的Gradle版本。

Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define XXX;
Error:Execution failed for task ':app:transformClassesWithDexForXXXDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'E:Program FilesJavajdk1.7.0_80binjava.exe'' finished with non-zero exit value 2

重复的库文件引用,找到并删除重复的库,就可以解决。

修改代码之后,点击运行,AndroidStudio没有进行重新编译,而是提示no changes to deploy,然后启动修改前的那个APP,代码修改完全没用。这个问题初步判断是由于AndroidStudio的Instant run功能出错导致的。目前只能在settings->Build,Execution,Deployment->Instant Run中将Enable Instant Run to hot swap code/resource changes on deploy选项的勾点掉。这是默认启用的。点掉之后就正常了,每次点击运行都会重新安装APP。

Error:(1, 0) Your project path contains non-ASCII characters. This will most likelycause the build to fail on Windows. Please move your project to a differentdirectory. See http://b.android.com/95744 for details.This warning can be disabled by using the command line flag-Dcom.android.build.gradle.overridePathCheck=true, or adding the line'com.android.build.gradle.overridePathCheck=true' to gradle.properties filein the project directory.

项目路径含有中文,将中文替换掉就行了。

Error running app:
Instant Run requires 'Tools|Android|Enable ADBintegration' to be enabled

菜单栏,Tools -> Adnroid -> enable ADB integration。

  1. AS打开项目卡在build界面。
    从网上下载了一个demo,用AS打开之后却一直卡在build界面,强制结束进程,重新开,还是一样。这是由于该项目的gradle版本和已有的版本不一样,需要重新下载,因此会卡在build界面知道下好,但是国内的情况大家也清楚,我从早上挂到晚上也没见起色。解决办法就是把gradle版本改成现有的版本,找一个可以运行的项目,打开gradle-wrapper.properties(项目地址/gradle/wrapper/gradle-wrapper.properties),复制distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip,替换给要打开的项目。

  2. AS一直refreshing *** gradle project,同问题10。

  3. Could not resolve all artifacts for configuration ‘:classpath’
    刚安装的AS导入项目之后遇到这个问题,检查了JDK没有问题,build.gradle也有google()。

org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all artifacts for configuration ':classpath'.

原因:setting中的Enable embedded Maven repository选项没有勾上。勾上即可解决。
在这里插入图片描述
13. 库下载不下来
log如下:

Unable to resolve dependency for ':app@qqDebugUnitTest/compileClasspath': Could not download icu4j.jar (com.ibm.icu:icu4j:53.1)
Failed to resolve: multidex

原因:由于jcenter()在google()前面,因此默认到jcenter()中下载,导致下载不到。将google()挪到jcenter()前面,重新build一下,可以解决。

    repositories {
        google()
        jcenter()
    }
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/forevercbb/article/details/51037833
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-28 02:41:00
  • 阅读 ( 980 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢