首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将项目从Android Studio版本2转换到版本3-配置问题

将项目从Android Studio版本2转换到版本3-配置问题
EN

Stack Overflow用户
提问于 2018-09-19 22:00:36
回答 2查看 369关注 0票数 0

我对android项目的配置有问题。我把Android Studio AS从v2升级到了v3,遇到了很多问题。我按照文档中的原样更改了gradle : gradle-wrapper、gradle插件版本、存储库google或jcenter而不是maven。请看配置:我有一个名为mytwayapp的项目,它有build.gradle:

代码语言:javascript
复制
  buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        //{ url "http://jcenter.bintray.com/" }
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

    allprojects {
        repositories {
            google()
            jcenter()
        }
    }

    dependencies {
        implementation project(':app')
    }

接下来,我使用build.gradle创建了一个名为app的模块:

代码语言:javascript
复制
apply plugin: 'com.android.application'


android {
    compileSdkVersion 23
    buildToolsVersion '27.0.3'
//    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "com.mytway.activity.registerformactivity"
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        preDexLibraries = false;
        javaMaxHeapSize "2g"
    }
    sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/res/assets/fonts'] } }

    testOptions {
        unitTests.returnDefaultValues = true
    }

    lintOptions {
        abortOnError false
    }


}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.google.android.gms:play-services:8.4.0'
    implementation 'com.android.support:appcompat-v7:23.1.1'
    implementation 'com.android.support:support-v4:23.1.1'
    implementation 'com.android.support:support-v13:23.1.1'
    implementation 'joda-time:joda-time:2.9.4'
    implementation files('../libs/MPAndroidChart-v3.0.1.jar')

    //to remove when Dex is over memory
    testImplementation group: 'org.powermock', name: 'powermock-api-easymock', version: '1.6.6'
    testImplementation 'org.powermock:powermock-mockito-release-full:1.5.4'
    testImplementation 'org.powermock:powermock-api-mockito:1.6.6'
    testImplementation 'org.powermock:powermock-module-junit4:1.5.1'
    testImplementation 'org.mockito:mockito-all:1.9.5'
    testImplementation 'org.powermock:powermock-mockito-release-full:1.6.1'
    testImplementation 'org.easymock:easymock:3.1'
//    testCompile files('build/lib/powermock-easymock-1.6.6-full.jar') 
    testImplementation 'junit:junit:4.12'
}

接下来是gradle-wrapper:

代码语言:javascript
复制
#Thu Mar 16 20:14:22 CET 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

问题:我无法与gradle同步,如果我尝试,则错误:无法初始化类com.android.tools.idea.gradle.eclipse.GradleImport

当我尝试从cmd安装时,然后:

代码语言:javascript
复制
./gradlew install -x test

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\android\BitBucket\mytwayapp\build.gradle' line: 22

* What went wrong:
A problem occurred evaluating root project 'mytwayapp'.
> Could not find method implementation() for arguments [project ':app'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2s

这意味着问题出在主build.gradle与":app“的依赖关系上,但它看起来不错。我尝试了刷新、重建、失效、重启,但仍然有问题。项目结构看起来很奇怪,这是一个屏幕:

答:下面的提示不起作用,我将Android Studio从3.4降级到3.1,并在一些化妆品更改后编译。耽误您时间,实在对不起。

EN

回答 2

Stack Overflow用户

发布于 2018-09-19 22:09:24

尝试更新到最新版本:

代码语言:javascript
复制
dependencies {
    classpath 'com.android.tools.build:gradle:x.x.x'
}

build.gradle中的buildToolsVersion

票数 0
EN

Stack Overflow用户

发布于 2018-09-19 22:54:47

尝试在app gradle文件中使用相同的数字前缀buildToolsVersion来更改de compileSDkVersion和targetSdkVersion,如下所示:

代码语言:javascript
复制
android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    //    buildToolsVersion "26.0.2"
    defaultConfig {
        applicationId "com.mytway.activity.registerformactivity"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52407703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档