1. 程式人生 > >github專案匯入Android studio 出現的問題及解決

github專案匯入Android studio 出現的問題及解決

前言
剛用AS的時候,真心覺得坑不要太多,尤其是匯入專案的時候,所以特此整理一些錯誤資訊,方便以後查詢和修改
ps:大多問題是新舊版本不一致, jar包版本衝突或者gradle版本問題,多網上搜索,一般可以解決.
以下內容與最新AndroidStudio或許有所差異,如有錯誤,請留言告知,謝謝

錯誤一

Error:(19, 0) Gradle DSL method not found: ‘android()’
Possible causes:

解決

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:

解決

在引用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,希望以後有其他的錯誤資訊,可以一併紀錄下來,如果有什麼不對的地方,歡迎指正