Android Studio解决导入开源项目出现的相关问题
来源:互联网 发布:有哪些软件管家 编辑:程序博客网 时间:2024/06/05 11:33
今天,用Import Module导一个网上的类库library,再在File的Project Structure中的Denpendencies将library作为Moudle denpendency添加进去,结果sync时出现not found:'runProguard()'的问题,困扰我好久,最后解决。从字面就能看出来,出现这个问题的原因是找不到runProguard()这个方法了(调用这个方法的地方在每个Module对应的build.gradle文件中)。那是因为我的Android studio版本比网上的类库library的高,当Android Studio升级时,也自动的将项目下的build.gradle文件(不是Module对应的build.gradle!)下的内容修改成了:
dependencies { classpath 'com.android.tools.build:gradle:2.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files
而升级之前是这样的:
dependencies { classpath 'com.android.tools.build:gradle:1.0.0-rc4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }
显然,最简单的解决方法是将gradle的版本改回去,此方法可能的确有效。
但是,这种做法显然不是最好的方法。查阅官方文档之后(http://tools.android.com/tech-docs/new-build-system)之后发现,在新版本的gradle中,runProguard这个方法已经废弃了,并且改为新的方法了:minifyEnabled. 因此,正确的解决方法不是修改gradle的版本号,而是将项目中每个Module对应的build.gradle文件中的runProguard方法名改为minifyEnabled,即:
buildTypes { release { minifyEnabled false(表示打包签名的时候 是正式包 会执行混淆代码) proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' ( 定义代码混淆文件 注意:proguard-rules.pro要放在主工程的目录下) } }
这样一般就能解决,但是接着又出现新的问题,是另一个问题:
在android studio中Error:Library projects cannot set applicationId. applicati
错误原因
升级到 Android studio 正式版2.0之后,lib工程里面不能在 defaultConfig 里面显示设置 applicationId,直接使用 AndroidManifest.xml 里面的定义即可
错误解决,在library的系统文件
build.gradle文件中将 applicationId 配置删除掉
defaultConfig { applicationId "com.super.app" minSdkVersion 23 ...}
修改为:
defaultConfig { minSdkVersion 23 ...}
这样又解决一个问题,但是呢,还没结束,感觉上套了,又出现一个问题:
在android studio中:Error:No such property: GROUP for class: org.gradle.api.publication.maven.
解决方法,其实也很简单:
在library的build.gradle文件中,如下:
dependencies { compile 'com.android.support:support-v4:20.0.0' compile fileTree(dir: 'libs', include: ['*.jar'])}apply from: 'https://raw.github.com/twotoasters/gradle-mvn-push/master/gradle-mvn-push.gradle'
将最后一行的
apply from: 'https://raw.github.com/twotoasters/gradle-mvn-push/master/gradle-mvn-push.gradle'
删掉,在sync一下即可,这样就把问题全搞定了。
在这里,我在贴一个常见的问题:
解决Gradle DSL method not found: ‘android()’
解决方法:
删掉最外层的build.gradle中的
android { compileSdkVersion 19 buildToolsVersion '21.1.1' }
然后重新刷新就ok了。
这篇博客会随时更新,当我碰到新的Android Studio的问题并解决了会继续更新,也希望大家把自己常见的AS上的问题及解决办法告诉我,我们一起来整合起来,方便日后查看。
这次,我又碰到一个常见的导开源项目时会出现的错误,那就是
maven相关问题
导入项目后出现:Error:(47, 0) No such property: sonatypeRepo for class: org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer。
这种问题一般是出现在导入一些开源项目的时候。原因为该项目的原作者会把项目发布到maven中央仓库中,所以在gradle中添加了相关的maven发布任务,而发布任务需要配置username(找不到username也是同样的问题)或sonatypeRepo等属性的值,作者是不会把这些值上传的,所以导致找不到这些属性。你不是该项目的作者,自然不需要这些任务,最干净的方法是把这些任务及引用的maven, signing插件的声明删除即可。
一般出错都在library,将library中的有关于moven以及signing代码全部删掉,只留下上图上的东西就行。
- Android Studio解决导入开源项目出现的相关问题
- github项目导入Android studio 出现的问题及解决
- Android studio导入项目(出现的问题)
- Android Studio 导入Eclipse的项目后,注释出现乱码问题的解决
- 解决Android Studio项目导入时,出现的gradle报错问题。
- Android Studio导入项目出现问题总结
- 导入项目到Android Studio遇到的问题 解决
- Android Studio解决导入项目非常慢的问题
- Android Studio解决导入项目非常慢的问题
- Android Studio解决导入项目非常慢的问题
- Android Studio解决导入项目非常慢的问题
- Android Studio解决导入项目非常慢的问题
- Android Studio解决导入项目非常慢的问题
- Android Studio解决导入项目非常慢的问题
- Android Studio解决导入项目非常慢的问题
- Android Studio解决导入项目非常慢的问题
- android导入项目,出现Fix Gradle wrapper and re-import project问题以及相关问题的解决
- 解决Android Studio 导入工程的问题
- 合金弹头游戏项目制作
- Object-c------NSDate的简单介绍
- &和&&的区别,逻辑运算符和位运算符
- Banana Pro GPS模块连接教程
- slab_--2 创建 销毁 cache
- Android Studio解决导入开源项目出现的相关问题
- ssm的使用技巧
- 16. 3Sum Closest
- jupyter notebook嵌入到博客
- Jamie's Contact Groups(二分图多重匹配+二分)(网络流)
- 简述Python中"_"的使用常识
- OpenGL: 你不知道的左右手坐标系
- iOS开发中常用的几个插件
- bzoj 3832: [Poi2014]Rally(线段树+拓扑排序)