【问题标题】:Android library with dependences for Unity 3d具有 Unity 3d 依赖项的 Android 库
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 2020-07-16
      • 1970-01-01
      • 2011-11-07
      • 2016-09-01
      • 1970-01-01
      相关资源
      最近更新 更多