没有找到Android studio aar文件错误类

前端之家收集整理的这篇文章主要介绍了没有找到Android studio aar文件错误类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

当我尝试在其他项目中使用导出的android库项目(aar格式)时.我收到以下错误.

> "Could not find class 'com.manish.core.helper.RegistrationHelper$1'" 
> "Could not find class 'com.manish.core.helper.RegistrationHelper$2'"
> "Could not find class 'com.manish.core.helper.RegistrationHelper$3'"
> "Could not find class 'com.manish.core.helper.RegistrationHelper$4'"

在aar文件中有一个文件“classes.jar”,它包含所有类文件,但我不明白错误的原因.

我正在使用android studio在build目录中生成的aar文件.
我还在gradle文件添加了apply plugin:’com.android.library’.

所有这些错误仅适用于匿名和静态类.

我的gradle文件

apply plugin: 'com.manish.application'

android {
    compileSdkVersion 22
    buildToolsVersion "23.0.0"

    defaultConfig {
        applicationId "com.manish.test"
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
        }
    }
}

repositories {
    mavenCentral()
}


dependencies {
    compile fileTree(include: ['*.jar'],dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'junit:junit:4.12'
    compile(name:'somerandomlibrary-debug',ext:'aar')
}

repositories{
    flatDir{
        dirs 'libs'
    }
}
最佳答案
问题是,aar文件不包含嵌套依赖项,并且没有描述库使用的依赖项的POM文件.

如果要使用flatDir repo导入aar文件,则还必须在项目中指定依赖项.你应该使用maven存储库!例如:maven-publish

一个更简单的解决方案是,将以下行添加到“aar”项目中的build.gradle:

task createPom {
    apply plugin: 'maven'
    description "Generates pom.xml"
    pom {
        project {
            groupId 'com.example'
            artifactId 'example'
            version '0.0.1-SNAPSHOT'
            packaging 'aar'
        }
    }.withXml {
        def dependenciesNode = asNode().appendNode('dependencies')

        configurations.compile.allDependencies.each { dependency ->
            def dependencyNode = dependenciesNode.appendNode('dependency')
            dependencyNode.appendNode('groupId',dependency.group)
            dependencyNode.appendNode('artifactId',dependency.name)
            dependencyNode.appendNode('version',dependency.version)
        }
    }.writeTo("$buildDir/pom.xml")
}

您可以在基于aar的应用程序中使用生成的POM文件进行依赖项注入.

原文链接:https://www.f2er.com/android/431334.html

猜你在找的Android相关文章