Android库依赖Unity 3d

时间:2016-04-09 17:15:43

标签: android-studio unity3d android-library

我正在为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中。

由于

1 个答案:

答案 0 :(得分:0)

不,您必须手动将所有需要的库放到Assets / Plugins / Android。 或者您可以尝试分叉https://github.com/googlesamples/unity-jar-resolver并添加对您的库的支持......