日常报错记录Could not find com.android.tools.build:gradle:3.2.1. variant: debug/0 from output dir Failure

1.安卓 android studio 报错 Could not find com.android.tools.build:gradle:3.2.1.

安卓 android studio 报错 Could not find com.android.tools.build:gradle:3.2.1. - 一个人的孤独自白 - 博客园报错截图如下: 解决方法:在project的builde.gradle做如下操作分别加上google()https://www.cnblogs.com/-mrl/p/11130540.html

2.Missing javaCompileTask for variant: debug/0 from output dir

Missing javaCompileTask for variant: debug/0 from output dir_jifenglie的博客-CSDN博客解决方法:升级retrolambda到新版本为3.7.0classpath 'me.tatarka:gradle-retrolambda:3.7.0'最新的版本自己去看下https://github.com/evant/gradle-retrolambdahttps://blog.csdn.net/jifenglie/article/details/96473542

3.more than one device and emulator

解决ADB错误“more than one device and emulator”的方法_yuemingxingxing的博客-CSDN博客_adb显示emulator1.什么情况下出现该问题?多个设备连接在同一台电脑上,在命令行中输入adb devices,出现多台设备2.解决办法如果输入adb devices,显示List of devices attachedDG4064b7ac4408 deviceemulator-5556 device2.1 若想选择第一台设备操作,执行命令adb -s DG4064b7ac4408 sh...https://blog.csdn.net/yuemingxingxing/article/details/86590989

4.system/bin/sh: adb: not found

用代码复制Android虚拟机里的文件遇到system/bin/sh: adb: not found&system/bin/sh: pull: not found_Today is Monday-CSDN博客_/system/bin/sh:adb:not found用代码复制Android虚拟机里的文件遇到system/bin/sh: adb: not found&system/bin/sh: pull: not found昨天利用Android虚拟机的GestureBuilder创建了一个手势文件gestures。然后打开DDMS后发现File Explorer中竟然没有任何东西!https://blog.csdn.net/qq_29216083/article/details/61414014

5.adb 命令行安装 apk 时,出错:Failure [INSTALL_FAILED_TEST_ONLY]

adb 命令行安装 apk 时,出错:Failure [INSTALL_FAILED_TEST_ONLY]_ZhangRui的博客-CSDN博客_adb install test.apk一、问题还原:在日常工作过程中,经常会遇到测试、产品同学,来找我们安装个测试版的 apk。结果我们打完 deubg 包,却发现通过使用 adb install 命令安装后提示 INSTALL_FAILED_TEST_ONLY。但是使用 Android Studio 开发过程中发现可以直接安装成功二、原因分析:Android Studio 会在 debug apk 的 manifest 文件 ...https://blog.csdn.net/u011489043/article/details/100063606

6.关于安卓Android studio Didn't find class "com.xx.MainActivity" on path: DexPathList[[zip……的解决

关于安卓Android studio Didn't find class "com.xx.MainActivity" on path: DexPathList[[zip……的解决_mcyuan的博客-CSDN博客关于安卓Android studio Didn’t find class “com.xx.MainActivity” on path: DexPathList[[zip……的解决本文参考自简书:multiDexEnabled遇坑简记,感谢作者大大!!!1、我的问题首先说一下我的问题,我写的项目在安卓5.0以上的手机上运行的时候没有任何问题,但是在安卓4.4的手机上确直接闪退,报错Did...https://blog.csdn.net/ymmccc/article/details/82378990

7.Android解决INSTALL_FAILED_CONFLICTING_PROVIDER错误的方法

Android解决INSTALL_FAILED_CONFLICTING_PROVIDER错误的方法_sinat_29235897的博客-CSDN博客_conflicting provider在开发Android应用时,有时在安装应用时,会提示 INSTALL_FAILED_CONFLICTING_PROVIDER 错误,如下图这是因为你定义的provider的authority与系统中现有应用的冲突了解决方法也很简单,在AndroidManifest.xml中找到provider的authority,将其改成别的值就好了。但是如果项目中使用了第三方库中定义了prohttps://blog.csdn.net/sinat_29235897/article/details/53432982

8.java.lang.RuntimeException: setParameters failed         at android.hardware.Camera.native_setParame

android camera setParameters failed 类问题分析总结_fulinwsuafcie的专栏-CSDN博客_android camera setparameters在 monkey test 测试中出现了一例https://blog.csdn.net/fulinwsuafcie/article/details/39348869

具体的照片尺寸可以通过下面方法获取到最接近的

/**
     * 获取相机硬件实际支持的预览大小、图像大小
     *
     * @param cameraSize List<Camera.Size>
     * @param width      屏幕宽
     * @param height     屏幕高
     * @param diff       加权重比
     * @return 实际支持的预览大小、图像大小
     */
    private Camera.Size getCameraSize(List<Camera.Size> cameraSize, int width, int height, double diff) {
        if (width < height) {
            int temp = height;
            height = width;
            width = temp;
        }
        double ratio = (double) width / height;
        if (cameraSize == null || cameraSize.isEmpty()) {
            Log.d(TAG, "getCameraSize: 获取相机预览数据失败");
            return null;
        }

        Camera.Size outputSize = null;
        for (Camera.Size currentSize : cameraSize) {
            double currentRatio = (double) currentSize.width / currentSize.height;
            double currentDiff = Math.abs(currentRatio - ratio);
            if (currentDiff > diff) {
                continue;
            }
            if (outputSize == null) {
                outputSize = currentSize;
            } else {
                if (outputSize.width * outputSize.height < currentSize.width * currentSize.height) {
                    outputSize = currentSize;
                }
            }
            diff = currentDiff;
        }
        if (outputSize == null) {
            diff += 0.1f;
            if (diff > 1.0f) {
                outputSize = cameraSize.get(0);
            } else {
                outputSize = getCameraSize(cameraSize, width, height, diff);
            }
        }
        return outputSize;
    }

设置相机参数代码如下:

private void startCamera(int cameraId) {
        try {
            camera = Camera.open(cameraId);
            camera.setPreviewTexture(surfaceTexture);

            Camera.Parameters parameters = camera.getParameters();
            parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
            parameters.setPreviewFormat(ImageFormat.NV21);

            //设置对焦模式,后置摄像头开启时打开,切换到前置时关闭(三星、华为不能设置前置对焦,魅族、小米部分机型可行)
//            if (cameraId == 0) {
//                //小米、魅族手机存在对焦无效情况,需要针对设备适配,想要无感知对焦完全适配最好是监听加速度传感器
//                camera.cancelAutoFocus();
//                //这种设置方式存在屏幕闪烁一下问题,包括Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO
//                parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
//            }
            //水平方向未旋转,所以宽就是竖直方向的高
            // 选择合适的预览尺寸
            Camera.Size size = getCameraSize(parameters.getSupportedPreviewSizes(), screenWidth,
                    screenHeight, 0.1f);
            Log.d(TAG, "startCamera: 图片宽:" + size.width + " -- " + "图片高:" + size.height);
            parameters.setPreviewSize(size.width, size.height); //获得摄像区域的大小
            parameters.setPreviewFrameRate(3);//每秒3帧  每秒从摄像头里面获得3个画面
            parameters.setPictureFormat(PixelFormat.JPEG);//设置照片输出的格式
            parameters.set("jpeg-quality", 85);//设置照片质量
            parameters.setPictureSize(size.width, size.height);//设置拍出来的屏幕大小
            //
            camera.setParameters(parameters);//把上面的设置 赋给摄像头
            camera.startPreview();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

其中可能因为照片此处导致上面崩溃,也可能是别的,我遇到的就是
 

if (cameraId == 0) {
                //小米、魅族手机存在对焦无效情况,需要针对设备适配,想要无感知对焦完全适配最好是监听加速度传感器
                camera.cancelAutoFocus();
                //这种设置方式存在屏幕闪烁一下问题,包括Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO
                parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
            }

这段设置导致的。具体问题具体分析。

感谢

感谢文中各位博主

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值