【问题标题】:Android Studio - No such property: baseName for classAndroid Studio - 没有这样的属性:类的 baseName
【发布时间】:2014-05-21 10:49:28
【问题描述】:

我正在尝试将 Dexguard 添加到 Android Studio。我已遵循指南,因此我的 build.gradle 如下:

buildscript {
    repositories {
        mavenCentral()
        flatDir { dirs '/Users/XXXX/Desktop/DexGuard5.3.00/lib' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.4'
        classpath ':dexguard:'
    }
}

apply plugin: 'dexguard'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        debug {
            proguardFile plugin.getDefaultDexGuardFile('dexguard-debug.pro')
            proguardFile 'dexguard-project.txt'
            proguardFile 'proguard-project.txt'
        }
        release {
            proguardFile plugin.getDefaultDexGuardFile('dexguard-release.pro')
            proguardFile 'dexguard-project.txt'
            proguardFile 'proguard-project.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.1'
    compile 'com.android.support:appcompat-v7:19.0.1'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

然后我尝试构建项目并收到以下错误:

错误:配置项目“:XXXX”时出现问题。 没有这样的属性:类的baseName:com.android.build.gradle.internal.variant.ApplicationVariantData

有没有人再次遇到这样的问题?

提前谢谢你!

【问题讨论】:

    标签: android android-studio proguard android-gradle-plugin dexguard


    【解决方案1】:

    DexGuard 5.3.00 的 Gradle 插件与 Android 插件 0.5.1 兼容,因此您应该调整文件顶部的类路径。

    不过,您可能想要安装最新版本的 Gradle 插件。在撰写本文时,DexGuard 5.5 的 Gradle 插件与 Android 插件 0.9.0 兼容。

    作为参考,您始终可以在 DexGuard 的示例目录中找到包含构建文件的工作示例项目。

    【讨论】:

      【解决方案2】:

      首先你可以尝试在“project/maven_push.gradle”中添加nexusUsername=123 nexusPassword=123

      然后如果它报告“错误:在源集主上找不到属性'allJava'。”

      你可以试试这个:

      task androidJavadocs(type: Javadoc) {  
          //  comment it if you find
          //source = android.sourceSets.main.allJava  
      }  
      
      task androidJavadocsJar(type: Jar) {  
          classifier = 'javadoc'  
          //basename = artifact_id  
          // comment it if you find
          //from android.sourceSets.main.allSource  
      }  
      
      task androidSourcesJar(type: Jar) {  
          classifier = 'sources'  
          //basename = artifact_id  
          ////comment it if you find 
          //from android.sourceSets.main.allSource  
      }  
      

      最后不是我的答案,我在一个小博客里找到的~~~感谢作者,它解决了我的问题~ 祝你好运~

      【讨论】:

        猜你喜欢
        • 2020-11-05
        • 2016-08-28
        • 1970-01-01
        • 1970-01-01
        • 2014-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-11
        相关资源
        最近更新 更多