Android bug解决笔记

#####剪裁

系统自带的

public void startPhotoZoom(Uri uri, Uri uritempFile) {

Intent intent = new Intent("com.android.camera.action.CROP");

intent.setDataAndType(uri, "image/*");

// 设置裁剪

intent.putExtra("crop", "true");

// aspectX aspectY 是宽高的比例

intent.putExtra("aspectX", 1);

intent.putExtra("aspectY", 1);

// outputX outputY 是裁剪图片宽高

intent.putExtra("outputX", 200);

intent.putExtra("outputY", 200);

intent.putExtra("scale", true);// 去黑边

intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());

intent.putExtra("noFaceDetection", true);

intent.putExtra(MediaStore.EXTRA_OUTPUT, uritempFile);

 intent.putExtra("return-data", false);

startActivityForResult(intent, UtilConstants.ZOOM_CROP_WITH_DATA);

}

是没错,小米4 就是不干

无法保存剪切过的图片。

查阅了 N 多。最后注释了一条,画线那条好了!!!

说是,原来系统默认剪切的有返回数据有个大小限制,但是小米剪切的没有大小限制,所以往往剪切大的超过大小限制了。。。

今天又遇到了个问题

vivo X5 无法更换,拍照,相册都不行?

什么鬼??以前我记得还是好好的!!!

排查了一下,剪切过的图片没有保存,为毛?

对比了一下发现,卧槽 和以前仅仅是 新的文件名(uritempFile) 用的dateFormat

原来是

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");

经实验修改后没问题的为:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");

你没看错,就是一个空格搞得鬼。。



Expected resource of type color

在真机测试正常,但是打包失败

Expected resource of type color [ResourceType] 。


RadioButton rb = new RadioButton(context);   

rb.setTextColor(context.getResources().getColorStateList(R.drawable.tab_text_checkee));

解决办法1:

在build.gradle文件中增加一下信息:

    android {lintOptions {disable "ResourceType"}}

但是,这只是禁用资源类型检测,这样在打包过程中就不会因为资源类型不匹配而提示错误了。

  根本原因是把资源类型弄错了,总的来说这是我的不规范编程导致的,上面是设置textcolor,那说明使用一个color资源,单色值的应该来源于colors.xml中定义的,但是我上面是使用的一个colorstate,是一个自定义的selector,一个xml文件,这个时候我们应该把这个文件放在res/color目录中,而不是res/drawable目录中,然后使用R.color.xxx去引用,这样就没问题了。

    res/color/:存放定义了颜色状态列表资源(ColorState List Resource)的XML文件。


强制使用相同版本的库

更新IDE -Android Studio2.3 ,Android SDK及SDK toolos

Android Support Repo 38-->47.

编译一下, what a fuck.

绚烂的红提示我出错了...

大概是这个样子:

    Manifest merger failed : Attribute meta-data# support.VERSION@value value=(25.3.0) from [com.android.support:support-v13:25.3.0]

    AndroidManifest.xml:27:9-31 is also present at [com.android.support:preference-v7:26.0.0-alpha1]   

    AndroidManifest.xml:24:9-38 value=(26.0.0-alpha1). Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml:25:5-27:34 to override.

google 一下.

地址:

http://stackoverflow.com/questions/42949974/android-support-repo-46-0-0-with-android-studio-2-3

重点是:


    What's the problem

    Some libraries depend on version "X or newer" of Android support libraries so Gradle dependency resolution grabs whatever is the newest available ignoring you actually have a precise version specified in your dependencies


    block.

    This is not what you want. You want all support libraries with same version and major version has to match compile SDK version.

    What's the solution

    Fortunately you can force a specific support library version.

    Put this at the end of your app module build.gradle:

    configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (requested.group == 'com.android.support') { if (!requested.name.startsWith("multidex")) { details.useVersion '25.3.0' } } }}

    Of course replace the version with whatever it is you're using.

    Version values for support libraries in dependecies

   block are now irrelevant.

重点在这里,强制使用相同版本的库:

在moudle 的build.gradle中 添加上,版本自选.

    configurations.all {

    resolutionStrategy.eachDependency { DependencyResolveDetails details ->

        def requested = details.requested

        if (requested.group == 'com.android.support') {

            if (!requested.name.startsWith("multidex")) {

                details.useVersion '25.3.0'

            }

        }

      }

    }

  Error:Execution failed for task ':leancloudchatkit:processDebugAndroidTestManifest'.

> Manifest merger failed : uses-sdk:minSdkVersion 11 cannot be smaller than version 14 declared in library [com.android.support:appcompat-v7:26.0.0-alpha1] C:\Users\Administrator.SC-201606141054\.android\build-cache\b3d308ef34ad14838b4f9d11338a057d9ccaf6f1\output\AndroidManifest.xml

Suggestion: use tools:overrideLibrary="android.support.v7.appcompat" to force usage

还好相对简单,意思是 最低 minsdk 不能小于support:appcompat-v7:26.0.0-alpha1所支持的,

果然在 其他library 中最低是11.修改之搞定.


极光推送

二次开发已有项目,之前的 很多东西都是比较老的,切换新的编译版本 23记下两个坑:

1. API23 Android 6.0 通知图标不显示

解决办法:要在res下加一个极光推送图标,文件名为jpush_notification_icon.png,图标要求跟Android6.0的通知图标一样。

2.Jpush [AndroidUtil] No target service !

一直无解,,最后替换了最新的jar包,clean-rebuild,

搞定。

Eclipse DDMS files not found: 

许久不用eclipse ,导入历史项目查看,,卧槽:

DDMS files not found: ........\platform-tools\hprof-conv.exe

木有了,想想也就更新了SDK....网上直接找,

http://download.csdn.net/detail/hu5080126/7669915

此处下载一个.

但是这又是什么鬼....

![Paste_Image.png](http://upload-images.jianshu.io/upload_images/2728246-283c5a3c1752e847.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

连这个都要实名制..

我也是醉了.

百度一下公开的 有用的拿走

http://pan.baidu.com/s/1bpoy0az



android-async-http下载失败: HttpResponseException: Content-Type (application/octet-stream)

[loopj](https://github.com/loopj)/**[android-async-http](https://github.com/loopj/android-async-http)**

项目二次开发,更新新的MP3接口,结果无法下载MP3文件,

原来代码

    AsyncHttpClient client = new AsyncHttpClient();


        // 获取二进制数据如图片和其他文件

        client.get(url, new BinaryHttpResponseHandler(allowedContentTypes) {

            int curProgress = 0;

            @Override

            public void onSuccess(int statusCode, Header[] headers,

                                  byte[] binaryData) {

                downLoadListener.OnSuccess(binaryData);

            }

            @Override

            public void onFailure(int statusCode, Header[] headers,

                                  byte[] binaryData, Throwable error) {

    //                Log.e("code", statusCode + error.toString());

                downLoadListener.onFailure();

            }

            @Override

            public void onProgress(long bytesWritten, long totalSize) {

                super.onProgress(bytesWritten, totalSize);

                int count = (int) ((bytesWritten * 1.0 / totalSize) * 100);

                if (count != curProgress) {

                    curProgress = count;

                    downLoadListener.onProgress(count);

                }

            }

            @Override

            public void onRetry(int retryNo) {

                // TODO Auto-generated method stub

                super.onRetry(retryNo);

                // 返回重试次数

            }

        });

原来指定的文件类型是


      String[] allowedContentTypes = new String[]{"audio/mpeg"};

但是新的接口打错误信息却显示

    HttpResponseException: Content-Type (application/octet-stream)  not allowed!

application/octet-stream 是什么?为什么被禁止了?

octet,一种计算机语言,意思是因特网标准使用八位组.

百度百科给的解释:http://baike.baidu.com/item/octet

把这个文件类型加进去就好了.

    String[] allowedContentTypes = new String[]{"application/octet-stream","audio/mpeg"};

    }

 Eclipse。Failed to load F:\sdk\build-tools\26.0.2\lib\dx.jar

导入down 的很古老的 项目,各种报错。


Failed to load F:\sdk\build-tools\26.0.2\lib\dx.jar

  Unknown error: Unable to build: the file dx.jar was not loaded from the SDK。

加载最新的这个 dx.jar 出问题,多方查找,有的指出是SDK版本和ADT版本不兼容引起的。

解决办法:使用兼容版本的 dx.jar ,选择build-tools 文件下 其他版本的dx.jar 复制到26.0.2 版本下边。解决问题。

Dx PARSE ERROR:

  Dx unsupported class file version 52.0 ...while parsing android/annotation/SuppressLint.class

Dx 1 error; aborting

出错原因:java 编译器 版本和android sdk版本不匹配。

      Android 4.4以上(包括Android 4.4)才可以用1.7版本的编译器

      在Android 4.4以下的只能用1.5和1.6版本的编译器,不能用1.4版本及其以下版本。

Eclipse WEB java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

........

原因:在web项目中,当Class.forName("om.mysql.jdbc.Driver");时myeclipse是不会去查找字符串,不会去查找驱动的。所以只需要把mysql-connector-java-5.1.7-bin.jar拷贝到tomcat下lib目录就可以了。

同样发生类似这样的问题 还有 使用jackson-all-2.8.0.jar 时

Eclipse 服务启动失败 端口被占用:

![image.png](http://upload-images.jianshu.io/upload_images/2728246-d71a5be59594bb7b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

Seceral ports (8005 8080 8009) required by Tomcat V7.0 Sever at localihost are already in use.

手动去停止服务再次重启就好了如图:

![image.png](http://upload-images.jianshu.io/upload_images/2728246-6478316ce3bcd601.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

Android 6.0 animation-list 失效问题


再Android4.4(API 19)可以使用,但是在Android6.0(API 23)中不可以使用。

通过AnimationDrawable的文档:

创建逐帧动画的最简单方法是在XML文件中定义动画,放置在res/drawable/文件夹中,并将其设置为View对象的背景。然后,调用start()运行动画。

所以需要调用start方法进行调用


ImageView mIvLoading = findViewById(R.id.iv_splash_loading);

((Animatable)mIvLoading.getDrawable()).start();

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

推荐阅读更多精彩内容