android - Gradle:如何添加一个 jar 来构建但不导出它

标签 android gradle android-studio


我通过将 jar 文件添加到我的 gradle 构建中,在我的项目中使用 Open Mobile API (SEEK API):

dependencies {compile files('libs/org.simalliance.openmobileapi.jar')}

它给了我这个异常(exception):

        java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
        at dalvik.system.DexFile.defineClassNative(Native Method)
        at dalvik.system.DexFile.defineClass(DexFile.java:222)
        at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:215)
        at dalvik.system.DexPathList.findClass(DexPathList.java:322)
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:457)

我的理解是我需要在编译过程中包含 jar,但在链接中排除它并且不将其导出到我的 APK。这通常是在 Eclipse 中使用一个简单的复选框来完成的,但我找不到用 gradle 来完成它的方法。

感谢任何帮助。

最佳答案

不导出您的 .jar THIS也许有帮助。 (读得好)

此外:

试试这个来消除错误:

Go to modules -> dependencies, then set scope of the lib to 'Provided'.

这是我的 source

关于android - Gradle:如何添加一个 jar 来构建但不导出它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22134867/

相关文章:

java - 单元测试从另一个类调用的方法

android - 在 Activity 之间传递数据 - Android SDK

gradle - 无法在 groovy 空对象上调用 multip() 方法

android - 缺少对测试类中测试库的引用

android - 为什么Android项目的build.gradle中有一个自定义的 'clean'任务?

java - Android 应用程序中的 If/Else 验证?

java - 在动画监听器中区分 2 个动画

android - 在android中绘制当前位置到另一个位置之间的路线?

android - 为什么 Android Studio 找不到我的资源?

android - 如何修复 'cmd package install-create -r -t -S 1699739' 返回错误 'Unknown failure: cmd: Can' t 查找服务 : package'