【发布时间】:2016-04-09 17:15:42
【问题描述】:
我正在为 Unity3d 构建一个 android 库。这个库是在 Android Studio 中开发的,我正在使用一些模块,比如 google admob。为此,我在 gradle 文件中添加了“com.google.android.gms:play-services-ads:8.4.0”。 问题是,当我构建 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 放入该库中?我的意思是,我想用我正在使用的所有 sdk 构建我的库,并且只将我的库放在 Unity3d 中。
谢谢
【问题讨论】:
标签: android-studio unity3d android-library