【发布时间】:2016-02-18 20:16:42
【问题描述】:
我正在为我的 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 文件中呢?
【问题讨论】:
-
注释掉测试用例的
apply plugin: 'com.google.gms.google-services'行 -
感谢您的回复,IntelliJ!已经试过了,同样的情况:(
标签: java android plugins unity3d