Android 一些常见BUG汇总(持续更新)

写在前面的话

每个开发者在工作中会遇到或多或少的小bug,这里博主把它们记录下来,以便以后查阅。

开始

1. file:///storage/emulated/0/DCIM/xxx.jpg exposed beyond app through ClipData.Item.getUri()

解决:将下面的代码拷贝到application的onCreate里面。

        // 大于android 7.0系统解决拍照的问题
        StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
        StrictMode.setVmPolicy(builder.build());
        builder.detectFileUriExposure();

2.类似快递的时间轴控件

链接

3.录像时调用MediaRecorder的start()时发生start failed: -19错误

在华为、小米等手机上调用录像功能时出现这个错误,把帧率设置成30即可。

                mMediaRecorder.setVideoFrameRate(30);

4.Error: Your project contains C++ files but it is not using a supported native build system. Consider...

首先在工程目录下的gradle.properties文件的末尾加上一句:

Android.useDeprecatedNdk=true 

然后再在文件build.gradle(Module)里面的buildTypes类中添加一个这样的方法

sourceSets {
    main {
        jni.srcDirs = []
    }
}

5、一篇Android 学习笔记核心篇

Android 学习笔记核心篇

6、Kotlin下使用butterknife

需要使用 Kotlin 注解处理工具(Kotlin Annotation processing tool,kapt),在module中进行如下配置
apply plugin: 'kotlin-kapt'

kapt "com.jakewharton:butterknife-compiler:10.1.0"

7、kotlin.UninitializedPropertyAccessException: lateinit property deviceFragment has not been initialized

在fragment中绑定butterknife,需要使用

        ButterKnife.bind(this,view)

8.Android 连接MQTT服务失败,报错信息为:无权连接(5)

把连接的调用函数:

@Override
	public IMqttToken connect(Object userContext, IMqttActionListener callback)
			throws MqttException {
		return connect(new MqttConnectOptions(), userContext, callback);
	}

改为:第二个参数传NULL即可

	@Override
	public IMqttToken connect(MqttConnectOptions options, Object userContext,
			IMqttActionListener callback) throws MqttException {
    ...
    }

9.Android 共享元素动画不生效问题

常规检查

        <item name="android:windowIsTranslucent">true</item>

如果如上设置还是不生效,检查是不是应用禁用了硬件加速

        android:hardwareAccelerated="false"
改为:   android:hardwareAccelerated="true"
发布了14 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qwe749082787/article/details/87457141