Android Studio开发常见问题及解决办法

1.Android 4.x中 multidex相关问题

在android 4.x以上,遇到64K问题通常是要添加依赖:

com.android.support:multidex:1.0.1

并且multiDexEnabled设置为true

 defaultConfig {
        multiDexEnabled true
    }

不过在4.x的手机上仅仅添加这些是回报如下错误:
这里写图片描述
java.lang.NoClassDefFoundError: dagger.internal.Preconditions 这个问题,此时需要让Application 改为继承MulitDexApplication或添加MultiDex.install(this); 这个方法即可

  @Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);     

}

2.java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

手机:酷派
版本:Android 4.4.
今天重修构建了一下工程,从MainActivity继承Activity修改成了extends SupportFragment(一个Fragment相关的框架)
结果爆了如下的错误:
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.这里写图片描述

解决:
原因是修改了继承的Activity,不同的兼容包中使用了不同的theme,所以就要使用与其配合的AppCompat的theme

  将
  android:theme="@android:style/Theme.Holo.Light.NoActionBar"
  修改为
  android:theme="@style/Theme.AppCompat.NoActionBar"

问题解决。

3.Error:(1, 0) Plugin with id ‘com.android.application’ not found.

这次是下载了腾讯的X5WebView工程Demo直接运行在了AS中爆了如下错误:

这里写图片描述

Error:(1, 0) Plugin with id ‘com.android.application’ not found.
查了一下这个错误,是说gradle中没有buildscript{}
一查看确实没有 buildscript{}这里写图片描述
添加:

buildscript {
    repositories {
        mavenCentral() // or jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

build一下,问题解决。

4.java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable cannot be cast to android.graphics.drawable.AnimationDrawable

背景:今天重构了项目 将之前同事写的项目重构了一下,并且用了组件化单工程多Module方案,在移植过程中,点击登录会出现一个Dialog加载对话框,弹出框爆的这个错误
这里写图片描述
后来经过查验,发现是在xml布局中引用的这个public_loading.xml与public_loading.png重名了,后来将public_loading.xml改成了public_loading_animation.xml 到这里重新运行 解决问题。这里写图片描述

  1. No implementation found for****
    ===
    报错图片
    最近在重构以前的代码,准备对crop这个框架二次封装开源道github上,但是在封装修改样式过后,发布到github调用这个库使用不了,原因是里面有jni和 so,需要包名一致,我们知道so是改不了的。。 难受。。
    原因:.so中函数声明涉及到的package name和class name与调用它的package name和class name不符。

解决方法:改变工程中的package name和class name,使其与.so文件中函数签名提示的一致。

  1. 注: 某些输入文件使用了未经检查或不安全的操作。
    ===

注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
Finished with error: Gradle task assembleDebug failed with exit code 1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值