Android Studio - 没有这样的属性:类的 baseName

Posted

技术标签:

【中文标题】Android Studio - 没有这样的属性:类的 baseName【英文标题】:Android Studio - No such property: baseName for class 【发布时间】: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

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

提前谢谢你!

【问题讨论】:

【参考方案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  
  

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

【讨论】:

以上是关于Android Studio - 没有这样的属性:类的 baseName的主要内容,如果未能解决你的问题,请参考以下文章

android studio 导出的jar中没有主清单属性

Android Studio 中的 XML 属性排列

理解与配置android studio中的gradle

将自己的属性文件放在用Android Studio创建的android项目中的哪里?

在 Android Studio 中导入 Facebook 库:找不到属性“ANDROID_BUILD_SDK_VERSION”

Mule Anypoint Studio groovy.lang.MissingPropertyException:没有这样的属性:类的 StringEscapeUtils