github專案匯入Android studio 出現的問題及解決
前言
剛用AS的時候,真心覺得坑不要太多,尤其是匯入專案的時候,所以特此整理一些錯誤資訊,方便以後查詢和修改
ps:大多問題是新舊版本不一致, jar包版本衝突或者gradle版本問題,多網上搜索,一般可以解決.
以下內容與最新AndroidStudio或許有所差異,如有錯誤,請留言告知,謝謝
錯誤一
Error:(19, 0) Gradle DSL method not found: ‘android()’
Possible causes:
- The project ‘Zhihu-Parallax-Animation-develop’ may be using a version of Gradle that does not contain the method.
Open Gradle wrapper file- The build file may be missing a Gradle plugin.
Apply Gradle plugin
解決
build.gradle:
buildscript {
repositories {
mavenCentral()
maven { url “http://dl.bintray.com/populov/maven” }
}
dependencies {
classpath ‘com.android.tools.build:gradle:2.0.0’
}
}
allprojects {
repositories {
mavenCentral()
maven { url “http://dl.bintray.com/populov/maven” }
}
}
app/build.gradle:
apply plugin: ‘com.android.application’
android {
compileSdkVersion 23
buildToolsVersion ‘23.0.3’
defaultConfig {
minSdkVersion 9
targetSdkVersion 23
versionCode 1
versionName ‘1.0’
}
}
dependencies {
compile ‘com.android.support:appcompat-v7:23.2.1’
}
說明: 此改法的基礎依賴的是舊版本的AndroidStudio和Gradle,新版本請自行處理
錯誤二
Error:(16, 0) Gradle DSL method not found: ‘runProguard()’
Possible causes:
The project ‘GridViewPager’ may be using a version of Gradle that does not contain the method.Gradle settings
The build file may be missing a Gradle plugin.Apply Gradle plugin
解決
錯誤三
Error:Configuration with name ‘default’ not found.
解決
錯誤四
Error:(59) No resource identifier found for attribute ‘strokeWidth’ in package ‘org.hybridsquad.droidlab’
解決
因為沒有引入viewpagerindicator (把compile project(’:library’) 刪除後,需要各種引用,否則會因為找不到某個類而報錯)
參考:http://www.tuicool.com/articles/ZrInyyI
錯誤五
Error:Execution failed for task ‘:app:processDebugResources’.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘C:\Android\AS_sdk\build-tools\23.0.3\aapt.exe’’ finished with non-zero exit value 1
解決
因為引用了重複的jar包,刪除多餘的jar包
錯誤六
Error:Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in D:\ll_s\github\lunbotu\Banner-master\gradle\wrapper\gradle-wrapper.properties to gradle-2.10-all.zip
Fix Gradle wrapper and re-import project
Gradle settings
解決
在gradle下找到gradle-wrapper.properties,將下面的改為正確的就好
distributionUrl=https://services.gradle.org/distributions/gradle-2.10-all.zip
錯誤七
Error:找不到引用的jar包資源
解決
原因:
1.jar包版本低了,需要引入高版本的
2.資源找不到了
錯誤八
解決
在build.gradle檔案中
dependencies{
classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0’
}
上面那行classpath…與修改的
repositories{ //此repositories來自buildscript{}和allprojects{}
mavenCentral()
maven { url “http://dl.bintray.com/populov/maven” }
}
可能有衝突,原本修改之前是
repositories{
jcenter()
}
錯誤九
Error:Execution failed for task ‘:app:compileDebugJavaWithJavac’.
When running gradle with java 5, 6 or 7, you must set the path to jdk8, either with property retrolambda.jdk or environment variable JAVA8_HOME
解決
需要jdk1.8
錯誤十
Error:(27, 0) Gradle DSL method not found: ‘apt()’
Possible causes:
- The project ‘ViewPagerTab’ may be using a version of Gradle that does not contain the method.
Open Gradle wrapper file- The build file may be missing a Gradle plugin.
Apply Gradle plugin
解決
在引用Butter Knife的時候,沒有在module 的build.gradle檔案的頂部新增apply plugin: ‘com.neenbedankt.android-apt’(ps:在引用Butter Knife的時候一共需要新增四行程式碼)
來源:http://stackoverflow.com/questions/36876158/gradle-dsl-method-not-found-apt
錯誤十一
Error:Cause: null value in entry: UMENG_APPKEY=null
解決
申請一個友盟的UMENG_APPKEY還有value就可以了
錯誤十二
Error:Execution failed for task ‘:app:transformDexArchiveWithDexMergerForDebug’.
com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lcom/google/zxing/EncodeHintType;
以及
Error:Execution failed for task ‘:app:transformDexArchiveWithExternalLibsDexMergerForDebug’.
java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
解決
在進行打包的時候出現錯誤的,編譯安裝到手機上是沒有問題的,一旦發現這種情況,請不要懷疑,一定是引用了重複的library
補充: 我真的不知道facebook的sdk裡有zxing,寫法請參照如下:
compile (‘com.facebook.android:facebook-android-sdk:4.+’)
{ exclude group: ‘com.google.zxing’ }
補充說明:
使用官方推薦的implementation可有效避免該問題(替換了compile),
但是如果引用的第三方里包含library的引用版本號大於你當前同library的版本號,請升級你的build.gradle裡的library的版本號.(當我使用implementation後,並在引用Glide之前引用的com.android.support:design:27.0.2的時候,出現了此問題,後來修改為27.1.1之後,一切正常)
最後
很多錯誤資訊的解決方法都來自Stack Overflow,希望以後有其他的錯誤資訊,可以一併紀錄下來,如果有什麼不對的地方,歡迎指正