【问题标题】:Add external jar in gradle to Android project将gradle中的外部jar添加到Android项目
【发布时间】:2012-07-22 11:44:57
【问题描述】:

我正在尝试将 jar 添加到 Android 上的项目中。我用 maps.jar 库做了一个测试。当我导入该类时,它有一个名为 com.google.android.maps.MapView 的类。我收到错误包 com.google.android.maps 不存在 导入 com.google.android.maps.MapView;

我尝试以多种方式将此 jar 文件包含到我的 gradle.build 中:

dependencies {
 runtime files('/Users/user/Documents/workspace/MyAndroidApp/libs/maps.jar')  
 //runtime fileTree(dir: '/Users/user/Documents/workspace/MyAndroidApp/libs', include: '*.jar')
 //classpath fileTree(dir: '/Users/user/Documents/workspace/MyAndroidApp/libs', include: 'maps.jar')        
}

目前运气不佳。

有什么想法吗? 谢谢!

【问题讨论】:

  • 如android工具网站的描述: > compile配置用于编译主应用程序。其中的所有内容都添加到编译类路径中,并打包在最终的 APK 中。似乎它将所有地图类打包到APK中。那样可以么?知道我们是否只需要运行时引用而不是静态引用?

标签: android jar gradle


【解决方案1】:

我是这样搞定的:

  1. 将 jar 文件拖到 libs 文件夹中。
  2. 右键单击 jar 文件并选择“添加库”现在 jar 文件是一个库。
  3. 打开build.gradle文件(注意至少有两个build.gradle文件,不要使用根目录,使用项目范围内的那个)。
  4. 找到依赖项部分(对我来说,我正在尝试使用 admob -GoogleAdMobAdsSdk jar 文件)

    dependencies { compile files('libs/android-support-v4.jar','libs/GoogleAdMobAdsSdk-6.3.1.jar') }

  5. 最后进入settings.gradle 并确保它看起来像 这个:

    include ':yourproject', ':yourproject:libs:GoogleAdMobAdsSdk-6.3.1'

  6. 最后,去构建--->重建项目

【讨论】:

    【解决方案2】:

    必须将编译依赖项添加到compile 配置(不是runtimeclass path)。

    【讨论】:

    • 还有一个问题。如果我将 .class 文件放在文件夹 maps 下,我可以将其包含为编译文件('/Users/ddayer/Documents/workspace/MyAndroidApp/libs/maps/*')吗?当我尝试在我的 java 项目中使用一个类时,原因不起作用。
    • 类路径可以包含对保存类文件的各个存档和目录的引用。因此files("/Users/ddayer/Documents/workspace/MyAndroidApp/libs/maps") 应该可以工作。如果您需要通配符,则必须使用 fileTree,就像您在上面所做的那样。
    • 好吧,我不知道是否是 android 的 android 插件,但是当我尝试以这种简单的方式添加类时,它没有找到它们。我需要先创建一个jar文件。
    • 是的,可能是 Android 特有的。
    猜你喜欢
    • 2012-05-03
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    相关资源
    最近更新 更多