Java Unity Android插件中的NoClassDefFoundError

Java Unity Android插件中的NoClassDefFoundError,java,android,plugins,unity3d,Java,Android,Plugins,Unity3d,我正在为我的Unity游戏开发Android插件。我的插件应该为我的应用程序返回GCM令牌。 我的gradle文件如下所示: apply plugin: 'com.android.library' apply plugin: 'com.google.gms.google-services' android { compileSdkVersion 23 buildToolsVersion "23.0.0" defaultConfig { //applic

我正在为我的Unity游戏开发Android插件。我的插件应该为我的应用程序返回GCM令牌。 我的gradle文件如下所示:

apply plugin: 'com.android.library'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig {
        //applicationId "testproject.com.pushtoken"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        abortOnError false
    }
    sourceSets {
        main {
            java {
                srcDir 'src/main/java'
            }
            //resources {
            //    srcDir 'libs'
            //}
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.google.android.gms:play-services:8.3.0'
    compile files('libs/classes.jar')
}

task clearJar(type: Delete) {
    delete 'libs/pluginLibrary7.jar'
}

task makeJar(type: Copy) {
    from('build/intermediates/bundles/release/')
    into('plugins/')
    include('classes.jar')
    rename ('classes.jar', 'pluginLibrary7.jar')
}

makeJar.dependsOn(clearJar, build)
插件包含测试其功能的简单方法(如返回int值),当然它还有获取gcm令牌的方法。问题是,当我尝试启动该方法以接收gcm令牌时,出现以下错误:

AndroidJavaException: java.lang.NoClassDefFoundError: com.google.android.gms.iid.InstanceID

我知道问题是我的.jar库没有gms库。但是我应该如何将它包含到我的.jar文件中呢?

看来我已经解决了这个问题。此错误的原因是我的库没有正确打包。我的意思是,这个库似乎都需要外部库,但当我打开.jar文件查看其中的内容时,我发现它只有用于外部库的文件夹,这些文件夹都是空的

我的解决办法很简单。我打开了我的.jar库,并用手将必要的外部库放在那里。在这之后,我从更新的包中创建了新的.jar,它可以正常工作

对于那些选择我解决这个问题的方法的人,我有几个建议。我在工作中使用Macbook,编辑.jar文件很困难,因为每当我用标准实用程序创建新的.jar文件时,Unity都无法使用它。所以我在我的第二台Windows PC上使用WinRAR来制作.jar,然后一切都开始工作了


我希望我的建议能对某人有所帮助。注:很抱歉我的英语不好。

注释掉
apply plugin:'com.google.gms.google services'
测试用例行谢谢你的回复,IntelliJ!已经尝试过,同样的情况:(