我正在为Unity3d构建一个android库。这个库正在Android Studio中开发,我正在使用google admob等一些模块。为此,我将'com.google.android.gms:play-services-ads:8.4.0'添加到gradle文件中。 问题是,当我构建Unity3d项目时,应用程序崩溃,因为找不到admob类:
这是日志
FATAL EXCEPTION: main
Process: com.-----, PID: 8280
java.lang.Error: FATAL EXCEPTION [main]
Unity version : 5.3.2f1
Device model : htc Nexus 9
Device fingerprint: google/volantis/flounder:6.0.1/MMB29V/2554798:user/release-keys
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/ads/AdView;
.....
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.AdView" on path: DexPathList
这是我图书馆的gradle文件:
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'], exclude: ['classes.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.google.android.gms:play-services-ads:8.4.0'
provided files('libs/classes.jar')
}
有没有办法创建一个带有依赖关系的android库,将它放在Unity中而不放入我在这个库中使用的sdks?我的意思是,我想用我正在使用的所有sdks构建我的库,并且只将我的库放在Unity3d中。
由于
答案 0 :(得分:0)
不,您必须手动将所有需要的库放到Assets / Plugins / Android。 或者您可以尝试分叉https://github.com/googlesamples/unity-jar-resolver并添加对您的库的支持......