• Android常见错误整理


     

    1、当我new class的时候,提示以下错误: Unable to parse template "Class" Error message: This template did not produce a Java class or an interface Error parsing file template: Unable to find resource 'Package Header.j

     

    解决方法:

    经过一番的查询调试发现了原因:原因是没有模版了,不能自动生成

    在class右边框里添加下面的代码,就好了:

    #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
    #parse("File Header.java")
    public class ${NAME} {
    }

     

    2、昨天把Android Studio 升级到了3.0。一打开项目或者新建项目都会抛出Aapt2Exception异常。具体log如下: 

    解决方法

    最后在万能的stackoverflow上面找到了答案,只需要在gradle.properties中加入下行代码:

    android.enableAapt2=false

    3、gradle打包,自定义apk名称代码报错(Cannot set the value of read-only property 'outputFile' )

    报错

    Error:(56, 0) Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=debug, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.
    <a href="openFile:D:eclipseCodeipay-androidxinlebaouild.gradle" rel="external nofollow" >Open File</a>​

    解决方法:

    修改文件名代码请这样写

    android.applicationVariants.all { variant ->
    
            variant.outputs.all {
    
              outputFileName = "xinlebao_${defaultConfig.versionName}_${releaseTime()}.apk"
    
            }
    
          }

    4、AAPT2 编译报错 AAPT2 error

    报错

    Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

    解决方法:

    在gradle.properties中关闭APPT2 编译

    android.enableAapt2=false

    注:如果是eclipse转到as上的项目,可能没有gradle.properties文件,请在项目根目录中手动创建

    5、apt插件问题(Error:Cannot choose between the following configurations of project :mylibrary:)

    报错:

    Error:Cannot choose between the following configurations of project :mylibrary:

    - debugApiElements
    - debugRuntimeElements
    - releaseApiElements
    - releaseRuntimeElements
      All of them match the consumer attributes:

    解决方法:

    //1.在project的build.gradle中删除
    
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    
    //2.在module的build.gradle中删除
    
    apply plugin: 'android-apt'
    
    //3.将module的build.gradle文件中的dependency
    
    apt 'com.jakewharton:butterknife-compiler:8.1.0'
    
    //改为
    
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.1.0'

    其他使用apt的依赖,也要这样更改

    6、必须升级gradle到4.0以上 

    解决方法:

    相信这个大坑,一般使用as的人都会解决,升级gradleas更新gradle版本http://blog.csdn.net/zhang_ying_xian/article/details/51096487

    7、buildToolsVersion升级到26.0.0 

    解决方法:

    其实这个不算坑,一般buildToolsVersion都会升级到最新的版本,直接更新就是了

     

    8、Error:Resource shrinker cannot be used for libraries.(可能只是个人遇到,这里提下)

    解决方法:

    原因是library中使用了混淆,并移除了无用的资源文件,英文的意思是“library中不要使用移除无用的资源文件字段”,所以解决办法就是把该library中的shrinkResources字段移除就可以了

      

    9、Error:All flavors must now belong to a named flavor dimension. Learn more

    at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

     

    解决方法:

    原因是使用了productFlavors分包,解决方法就是在build.gradle中的defaultConfig中添加一个flavorDimensions "1"就可以了,后面的1一般是跟你的versionCode相同

     

    10、升级as3.0之后,数据库操作的sql语句中的问号报红,虽然没错,但作为处女座的程序员也不能让它报红,报红心里不舒服。

     

    解决方法:

    把sql语句写在外面用字符串变量代替即可。

     

    11、Andriod studio 中启动模拟器出现Cannot launch AVD in emulator

    Android studio中打开出错,报如下错误,处理方法:

     

    解决方法:

    工具准备:http://download.csdn.net/detail/kill_bugs/9444534

    1、首先就是看你的CPU,是否支持虚拟化,解压下载包,双击如下文件securable :



    出现如下结果恭喜你的电脑支持虚拟化: 

    Cannot launch AVD in emulator. Output: emulator: WARNING: Increasing RAM siz 

    首先就是看你的CPU,是否支持虚拟化,可以从这里下载

    https://www.grc.com/files/securable.exe 

    然后再安装Intel HAXM,这个可以在Android SDK里安装(建议),也可以直接百度

     HAXM 下载推存下载地址:http://www.veryhuo.com/down/html/70060.html

     

    第一种:安装方法

     

    Android 模拟器一直以运行速度慢著称,本文介绍使用 Intel HAXM 技术为 Android 模拟器加速,使模拟器运行度媲美真机,彻底解决模拟器运行慢的问题。

    Intel HAXM (Hardware Accelerated Execution Manager) 使用基于 Intel(R) Virtualization Technology (VT) 的硬件加速,因此需要 CPU 支持 VT ,而且仅限于 Intel CPU,与 AMD CPU 无缘, Intel HAXM 的描述如下:

    使用 Intel VT 技术;

    为 Android x86 虚拟设备的模拟运行提供硬件加速;

    与 Android SDK 集成;

    硬件需求如下:

    支持 VT-x, EM64T 以及 Execute Disable Bit 的 Intel 处理器;

    至少 1GB 可用内存

    支持的操作系统:

    Windows 7 (32/64-bit)

    Windows Vista (32/64-bit)

    Windows XP (32-bit only)

    OS X 10.6 or 10.7 (32/64-bit)

    下载并安装 Intel HAXM 扩展

    启动 Android SDK Manager,在 Package 列表的最下面就是要用到的 Intel HAXM 扩展,打勾,下载,不用去 Intel 的网站,如下图:

     

    下载 HAXM 之后,需要运行安装程序来进行安装, HAXM 下载的目录是 android-sdkextrasintelHardware_Accelerated_Execution_Manager , 运行IntelHaxm.exe 进行安装,根据屏幕提示,一步一步安装即可。

    下载 Android x86 镜像

    Android SDK Manager 中已经有了 4.1.2 的 x86 镜像,因此选择 4.1.2 x86 镜像,如下图所示:

     

    使用 Android x86 镜像

    新建或者编辑 Android 模拟器,将模拟器 CPU/ABI 设置为 Intel Atom X86 ,如下图所示:

     

    第二种:安装方法(直接下载安装) 

    在安装Intel haxm安装可能会失败,下面是问题解决方法 

    在安装Intel haxm为安卓模拟器加速时,会遇到提示VT-X未开启问题,问题提示如下图

     

    方法/步骤

    首先就是看你的CPU,是否支持虚拟化,可以从这里下载

    https://www.grc.com/files/securable.exe

    确认你的处理器是否是Intel的,如果是AMD那就无法安装,如果是Intel的,再确认是否支持VT,根据你的处理器型号搜索一下

    如果处理器是Intel的且支持VT,在开机时进入BIOS界面,不同的品牌进入BIOS的方法各不相同,通常是F2/F12/delete些,将Intel  Virtualization   Technology开启

    如果还是不行,执行命令bcdedit /set nx AlwaysOn以及bcdedit /set hypervisorlaunchtype off

    如果还无法安装,看电脑是否安装了Avast杀毒软件,可能其占用了VT,可以将其关闭,或者先卸载Avast,在安装Haxm

    如果还没有解决问题,可以到Intel的官方网站去看一下他的官方说明

     

    2、这个时候就有两种选择了,一种是直接haxm-windows压缩包,运行IntelHaxm文件进行安装,然后重新打开虚拟机!

    一种是网友提供的:点击打开链接,直接在Android studio中下载IntelHaxm文件自动安装,这个方法,你懂得,比较慢~


    12、Failed to resolve: com.android.support.constraint:constraint-layout:1.0.0-alpha9 <a

    把一个工程导入as 的时候报错,Failed to resolve: com.android.support.constraint:constraint-layout:1.0.0-alpha9,

    很明显是constraint-layout的依赖的问题。

      

    解决方法: 

    怎么解决这个问题呢,其实也不难,主要是你的Android studio里没有constraint-layout:1.0.0-alpha9这个东西。怎样确定你的Android studio里有哪个版本呢?

      

     

    第一步,先点击1处的SDK Manager,然后就会有个弹出一个比较大的对话框

    第二步,点击SDK tools。

    第三步,勾选右下角的show Package Details

    第四步,你就可以看到你安装了constraint-layout的哪个版本了,如果一个也没有装,那就赶紧勾选一个,然后点击ok,Android studio就会开始下载了。 

    刚刚我们说到你的Android studio里没有constraint-layout:1.0.0-alpha9这个东西,所以报错,那么解决这个bug的方法就是,安装constraint-layout:1.0.0-alpha9这个版本就好了。 

    当然比如说你的Android studio里装的是constraint-layout:1.0.0而不是constraint-layout:1.0.0-alpha9,那么你也可以把app的build.gradle里constraint-layout:1.0.0-alpha9改成constraint-layout:1.0.0。这样Sync按钮后也可以解决这个问题。 

    如果本文对你有帮助的话,麻烦在下方点个赞,谢谢支持。

     

    13、Warning :uninstalling will remove the application data!

    解决方法:

    更改Settings,把Instant Run的勾选项去掉,再重新编译运行。

     

    1.等模拟器运行后再run程序。

    2.是不是之前安装过,卸载再安装。

    3.clean项目,重新编译运行。

    4.换模拟器。

    5.修改gradle 

    6.我是通过这个办法解决的问题,关闭快速运行

    步骤如下点击file->settings->build,execution,deploym

    ->instant run 去掉第一个选项上的勾enable...  

  • 相关阅读:
    spring3.0注解定时任务配置及说明
    程序员,吃什么个对身体好
    log4j 实例 , 浅析
    使用dom4j创建和解析xml
    Java XML解析工具 dom4j介绍及使用实例
    网络原理分析
    Python教程-使用Python解释器
    Jenkins中使用jmeter的脚本
    jmeter: line 129: [: : integer expression expected jmeter: line 200: /usr/bin/java/bin/java: Not a directory解决办法
    阿里云centos安装Jenkins
  • 原文地址:https://www.cnblogs.com/mrxy/p/8023840.html
Copyright © 2020-2023  润新知