我们正在使用带有Gradle插件0.11的
Android Studio 0.6.1.在我们当前的项目中,我们遇到了commons-codec的依赖问题.我们从包含“加密”服务的本地Artifactory实例中引入依赖类,该服务使用以下两行代码:
byte[] encryptedOutput = cipherFactory.getEncryptCipher().doFinal(plaintext.getBytes());
byte[] encryptedCipherText = Base64.encodeBase64URLSafe(encryptedOutput);
问题是即使我们在Gradle配置中定义了commons-codec的特定依赖项,我们也会得到以下异常
java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64URLSafe
起初,我们手动包含’commons-codec:commons-codec:1.9’的依赖项,但根据Android Studio,当我深入研究IDE中的代码时,它正在查看1.9中该方法的版本,但是当应用程序运行时,我们得到例外.甚至将依赖关系更改为1.4仍然会失败,即使根据Javadocs的说法,该方法何时可用.即使完全删除手动依赖也会导致同样的事情发生.
有什么方法可以找出正在运行的应用程序从哪里拉出这种依赖?这是我们目前完整的依赖列表,我找不到任何这些的commons-codec
compile files('libs/HockeySDK-3.0.2.jar')
compile files('libs/PushIOManager.jar')
compile 'commons-lang:commons-lang:2.6@jar'
compi