AndroidStudio的一些坑

如下环境为Android Studio 1.3.2,Gradle 2.7(as自带2.4,另下载的2.7)html

编译时提示Multiple dex files define: Lcom/sina/weibo/sdk/BuildConfig异常android

新浪微博提供的SDK里所带的weibosdkcore.jar里包含了BuildConfig类,而api工程也会生成同名(包名也相同)类,因此有此编译异常。解决方法是用工具(如7zip)直接删除weibosdkcore.jar里的BuildConfig.class文件。还有其余解决方法,这个连接不错。api

没法clean projectandroid-studio

有时clean后仍然有文件残留(例如classes.jar),此时须要手工删除项目路径下的build目录(删除时可能会提示classes.jar被占用,多半是as本身在使用,可关闭as再重试)。比较恶心的是,clean时并不会提示你有文件没法删除。工具

两个project共享一个module测试

假设本身写了一个android library(名称library1),而后想在Project1和Project2里都使用它,但不把library1复制两份。窍门是在project2的setting.gradle文件里像下面这样引用project1里的资源:gradle

include ':../project1/library1'

参考连接ui

Configuration with name 'default' not found.spa

检查settings.gradle文件里,include的module是否存在,一般是include了不存在的module形成的。参考连接.net

Proguard提示Duplicate Entry错误

多个module依赖多个相同的jar文件时会有这个问题,我当时遇到的是xutils,解决办法是在jcenter上找到了对应的repository,改成不直接使用jar而是使用repository解决。Proguard Troubleshooting

用proguardFile仍是proguardFiles?

在build.gradle里指定项目proguard配置文件时,用proguardFiles能够同时指定多个,用proguardFile可指定一个(可多行),经测试效果是同样的。注意:在module settings对话框里可能会显示不出来正确的文件名。还有一个变化:比较新的as版本缺省文件名是proguard-rules.pro,之前是proguard-rules.txt。

被依赖module里BuildConfig.DEBUG的值总为false

例如module A依赖module B和module C,在Eclipse里运行时B和C里BuildConfig.DEBUG的值会是true(导出签名apk后会自动变成false);然而在Android Studio里B和C里的BuildConfig.DEBUG值老是false,A里的正常。这样就致使if(BuildConfig.DEBUG){Log.d(...)}日志没法正常显示。参考连接 参考连接2

相关文章
相关标签/搜索