android studio开发错误

failed to resolve:com.***.***.***

这个错误是因为本地缺少需要的jar包导致的,一般gradle会自动下载需要的包,这里报错就是因为没有开启联网模式,或者jar包名称或者地址失效。 开启联网模式 File->other Settings->default Settings-> Gradle 。找到 “Offline work” , 如何是选中状态,那么取消他, 然后再sync。 如果包地址不对,尝试翻墙,还不行则换地址。

Error:Cause: peer not authenticated

打开/gradle/wrapper/gradle-wrapper.properties,在 distributionUrl中把’https’ 修改成 ‘http’,修改后如下:distributionUrl=http://services.gradle.org/distributions/gradle-2.1-all.zip,然后重新sync项目

unsupporder Gradle DSL method found 'testCompile'

把gradle中的testCompile换成androidTestCompile

安装时出现Default Activity Not Found 确保AndroidManifest.xml文件有如下内容

<activity
        android:name="com.your.package.name.YourActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>

仍然出错则 file -> Invalidate Caches / Restart…

jdk1.8.0_60.jdk/Contents/Home/bin/java

Error:Execution failed for task ‘:app:dexDevDebug’. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/java’’ finished with non-zero exit value 2

出现jdk 1.7或者1.8报错,是因为方法数目过多,超过65k,解决方法有3个:

1.clean项目

2.在build.gradle的dependencies中移除没用的libraries

3.在build.gradle的defaultConfig里面加入 multiDexEnabled true

defaultConfig {        
    // Enabling multidex support.
    multiDexEnabled true
}              

Gradle DSL method not found: 'runProguard()'

出现这个问题的原因是找不到runProguard()这个方法了(调用这个方法的地方在每个Module对应的build.gradle文件中)。 在新版本的gradle中,runProguard这个方法已经废弃了,并且改为新的方法了:minifyEnabled. 正确的解决方法不是修改gradle的版本号,而是将项目中每个Module对应的build.gradle文件中的runProguard方法名改为minifyEnabled,即:

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}