开发中碰到的错误日记1

记录开发中碰到的错误

把一些碰到的错误都记录下来。随时更新吧!

好记性,不如烂笔头。


No resource found that matches the given name

错误如下

Error:(11, 31) No resource found that matches the given name (at 'layout_above' with value '@id/tv_base').

emmm碰到的一个奇葩。
代码上面明明写了但是就是找不到资源
出错代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/iv_img_base"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/tv_base"
        android:padding="20dp"
        app:srcCompat="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/iv_msg_base"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"
        android:layout_margin="30dp"
        app:srcCompat="@drawable/point_sel" />

    <TextView
        android:id="@+id/tv_base"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_margin="20dp"
        android:gravity="center"
        android:text="" />

</RelativeLayout>

出错原因
是因为编译的时候先编译了上面的iv_img_base导致编译的时候去读取tv_base并未找到。
解决方案
只需要把tv_base的位置放到iv_img_base之前就解决了!
其实只是个很简单的问题。但是确实会很容易碰到


多渠道打包出错(All flavors must now belong to a named flavor dimension.)

错误如下

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{
        dev{
            
        }
        free{
            applicationIdSuffix ".free"
            buildConfigField("String", "Host", "\"Free版\"")
            resValue("string", "app_name1", "myModefree")
        }
    }

出错原因
这是因为Android Studio3.0之后对多版本的versionCode控制,需要让版本的code都一致。
解决方案
在每个版本后面加入

flavorDimensions("versionCode")

如上面的错误 修改为

    productFlavors{
        dev{
            flavorDimensions("versionCode")
        }
        free{
            applicationIdSuffix ".free"
            buildConfigField("String", "Host", "\"Free版\"")
            resValue("string", "app_name1", "myModefree")
            flavorDimensions("versionCode")
        }
    }

或者在productFlavors之后加入

    productFlavors{
        .....
    }
    productFlavors.all{
        flavorDimensions("versionCode")
    }

Gradle修改打包名字错误(AS3.0版本)

出错如下

Error:(35, 0) Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=devDebug, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.

出错代码

            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')){
                        def fileName = "Test_${defaultConfig.versionName}.apk"
                        output.outputFile = new File(outputFile.parent, fileName)
                    }
                }
            }

出错原因
上面这句话在AS3.0版本之前是完全正常的,就是设置打包的app为Test_版本号.apk的包。
但是在AS3.0上面就会报错,是因为AS3.0之后这块简化了这句话,可以用更简单的代码实现
解决方案
修改代码

android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "Test_${variant.versionName}.apk"
    }
}

转自原答案


Error:Execution failed for task ':mergeDebugResources'. >

错误如下

Error:Execution failed for task ‘:mergeDebugResources’. > Some file crunching failed, see logs for details/

出错原因
mergeDebugResources在检索资源图片的时候,部分资源图片出错导致编译不过。找到图片修改或者让编译不去验证图片的正确性!
解决方案
在app的build.gradle的android下加入

    aaptOptions{
        cruncherEnabled false
        useNewCruncher false
    }

如果还是会出现错误就大部分是个别.9文件错误。打开Android Studio右下角的Gradle Console 查看错误原因,修改.9文件


Error:Execution failed for task':transformClassesWithDexForDebug'.>

出错如下

Error:Execution failed for task ':transformClassesWithDexForDebug'.> 
com.android.build.api.transform.TransformException: 
com.android.ide.common.process.ProcessException: 
java.util.concurrent.ExecutionException: com.android.dex.DexException: 
Multiple dex files define Landroid/support/v4/media/TransportController;

错误原因
这个是eclipse转Android Studio项目的时候碰到的一个bug,由于eclipse项目都有自己的v4包或者引用了别的v7包,然后在Android Studio中又compile了v4和v7导致的错误。

解决方案
删除libs下的v4和v7包就可以了。使用compile来管理v4和v7包!


关于EditText设置属性setEnabled(false)之后再setEnabled(true)回来还是无法编辑

错误原因
由于设置setEnabled(false)之后其实是把EditText的大部分属性都设置成了false
在setEnabled(true)设置回来其实是不会把关于编辑和光标的属性设置回来的。需要手动在设置一下。

解决方案

        //设置禁止编辑以及点击等事件
        EditText.setEnabled(false);

        //设置允许和获取光标已经编辑
        EditText.setEnabled(true);
        EditText.setFocusableInTouchMode(true);

关于打包报错not translated

出错如下

Error: "xxxxxxxx" is not translated in "ar" (Arabic), "cs" (Czech), "de" (German), "es" (Spanish), "fi" (Finnish), "fr" (French), "he" (Hebrew), "it" (Italian), "iw" (Hebrew), "ja" (Japanese), "ko" (Korean), "nl" (Dutch), "pl" (Polish), "pt" (Portuguese), "pt-BR" (Portuguese: Brazil), "ro" (Romanian), "ru" (Russian), "zh" (Chinese) [MissingTranslation]
...

其中xxx是文件名
出错原因
看错误是编译器不能识别,到底改xml属于哪个语言的xml文件,所以打包的时候报错,而编译运行的时候不会出现。
解决方案
在项目的主项目build.gradle中加入

android{
  lintOptions {
    checkReleaseBuilds false
    // Or, if you prefer, you can continue to check for errors in release builds,
    // but continue the build even when errors are found:
    abortOnError false
  }
}

慢慢更新吧!续

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339