问题汇总

在平时的工作中经常会碰见各种各样奇怪的问题,如环境配置、sdk版本选择等等。将碰到的问题都记录下来,一方面方便碰到有同样问题的同学,一方面做下记录,以后有同样的问题的时候可以回来看下。

Android 问题汇总

values-v23.xml file shows error : “Error:(2) Error retrieving parent for item: No resource found that matches the given name ‘android:TextAppearance.Material.Widget.Button.Inverse’.”

问题原因

一般是因为在gradle配置文件的dependencies里依赖了高于当前编译sdk的版本。如引入了com.android.support:appcompat-v7:23.0.0,但是sdk的版本是19、21和22等。

解决方式

  • 升级sdk的版本,如上例中将sdk的版本设置为23,推荐这种方式。
  • 降低引入包的版本,将其设置为跟sdk的版本一致。

app-release-unsigned.apk is not signed

问题原因

没有对apk进行签名,安装的时候回报错导致安装失败。

解决方式

点击Android studio左下角的Build Variant,然后对要运行的Module选择使用Debug版本。

style 不起作用

原因

在主项目中和lib中存在两个相同的布局文件,主项目中的会覆盖lib中的文件,所以在lib中修改这个布局文件不起租用。

解决方式

删掉其中的一个布局文件。

上传aar包到maven返回400错误

问题原因

上传到snapshots, pom.version 后面没有加上-SNAPSHOT

解决方式

在pom.version后面加上-SNAPSHOT,如

1
pom.version = '1.0.0-SNAPSHOT'

打的aar包没有包含依赖

问题原因

默认aar包是不包含依赖的,可以防止依赖冲突的问题。

解决方式

在依赖包下面加上 transitive=true,如

1
2
3
compile ('com.mushuichuan.test:1.0.0@aar'){
transitive=true
}

如果确实出现了依赖包冲突,可以使用exclude排除掉冲突的依赖,如:

1
2
3
compile('io.reactivex:rxandroid:1.2.1') {
exclude module: 'rxjava'
}

···

Mac 问题汇总

JAVA_HOME设置

安装了java后,虽然java和javac命令都可以运行,但是JAVA_HOME却并没有设置,如果使用IntelliJ编译的时候就会报错。

解决方式

  1. 在命令行输入vim ~/.bashrc
  2. 按i进入编辑模式,输入export JAVA_HOME='/usr/libexec/java_home.'
  3. 按esc, 输入wq保存退出
  4. 在命令行输入source ~/.bashrc