我有一个使用Google的Vision API的应用程序,并且有一个显示一些互联网内容的WebView。 当build.gradle文件包含以下行时:
编译com.google.android.gms:play-services:8 +' 一切都编译好了。
我想使用最新版本,因此我将其更改为:
compile' com.google.android.gms:play-services:9.6.1'
然后我在.dex文件中达到了64K方法引用的限制 使用multidex库并更改我的清单文件,并没有解决它。
所以我尝试了粒度方法,并将行改为:
编译com.google.android.gms:play-services-vision:9.6.1'
然后它编译好了,但是在运行时,每次尝试在WebView中加载url, 失败,并使用errorCode -1调用onReceivedError。
我不知道它是否重要,但WebView的实际使用是通过与Play服务无关的库完成的。
有人可以提出一些建议吗? 谢谢
答案 0 :(得分:0)
然后我在.dex文件中达到了64K方法引用的限制
因为它包含的方法超过56k
。
com.google.android.gms:play-services-vision:9.6.1
适用于移动视觉。
我可以帮助您克服64方法限制,但请执行以下步骤
但首先要确保你有权限
<uses-permission android:name="android.permission.INTERNET" />
和有效的互联网连接。
首先将其放在buidl.gradle
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
然后放multiDexEnabled true
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 24
...
// Enabling multidex support.
multiDexEnabled true
}
}
然后转到你的清单和你的应用程序标签
<application
android:name="android.support.multidex.MultiDexApplication">
我希望它能解决你的问题。