Getting error: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zza
Getting error: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zza
当我尝试 运行 phone 早于 API 级别 22 的应用程序时,我收到此错误并且程序崩溃。但是该应用程序在 phone API 等级 22。这可能是什么原因。
这是我的依赖项:
dependencies
{
compile 'com.google.code.gson:gson:2.3'
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:recyclerview-v7:+'
compile 'com.android.support:support-v4:22.2.0'
compile 'com.google.android.gms:play-services:7.5.0'
compile 'com.facebook.android:facebook-android-sdk:4.3.0'
compile 'com.google.android.gms:play-services-analytics:7.5.0'
compile project(':volley')
compile project(':adjust_SDK')
compile project(':euromessageLib')
compile project(':com_viewpagerindicator')
compile files('libs/adxtag3.2.6.jar')
compile files('libs/jsoup-1.7.3.jar')
compile files('libs/CWAC-Adapter.jar')
compile files('libs/newrelic.android.jar')
compile files('libs/android-query-full.0.26.8.jar')
compile files('libs/khandroid-httpclient-4.2.3.jar')
compile files('libs/GoogleConversionTrackingSdk-2.2.1.jar')
compile('com.crashlytics.sdk.android:crashlytics:2.4.0@aar') {
transitive = true;
}
}
和
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.deneme"
minSdkVersion 14
targetSdkVersion 22
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true
proguardFiles 'proguard.cfg'
}
}
productFlavors {
}
}
感谢帮助
经过几天的时间解决了这个奇怪的问题,终于找到了崩溃的原因。虽然错误依旧,但现在程序运行没有任何问题。
程序在 API 级别 22 下运行正常而在 21 以下运行不正常的原因是 android 中的方法限制为 65K。 21 以上原生支持从应用程序 APK 文件加载多个 dex 文件,而 21 以下则不支持。文件说明 here
这个问题的解决办法在
或
如果您使用 google 播放服务,而不是编译整个 APIs,有选择地编译可能会有所帮助。您可以找到更多详细信息 here.
我遵循了jackaal提到的第二种方法。我在 gradle 中包含了整个播放服务。删除它并仅选择所需的播放服务后 apis 解决了我的问题。
由于播放服务有很多api,方法总数本身就超过了65k。因此,这会导致 api 级别 21 及以下的手机出错。
在gradle之前:-
compile 'com.google.android.gms:play-services:8.4.0'
gradle之后:-
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.android.gms:play-services-plus:8.4.0'
当我尝试 运行 phone 早于 API 级别 22 的应用程序时,我收到此错误并且程序崩溃。但是该应用程序在 phone API 等级 22。这可能是什么原因。
这是我的依赖项:
dependencies
{
compile 'com.google.code.gson:gson:2.3'
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:recyclerview-v7:+'
compile 'com.android.support:support-v4:22.2.0'
compile 'com.google.android.gms:play-services:7.5.0'
compile 'com.facebook.android:facebook-android-sdk:4.3.0'
compile 'com.google.android.gms:play-services-analytics:7.5.0'
compile project(':volley')
compile project(':adjust_SDK')
compile project(':euromessageLib')
compile project(':com_viewpagerindicator')
compile files('libs/adxtag3.2.6.jar')
compile files('libs/jsoup-1.7.3.jar')
compile files('libs/CWAC-Adapter.jar')
compile files('libs/newrelic.android.jar')
compile files('libs/android-query-full.0.26.8.jar')
compile files('libs/khandroid-httpclient-4.2.3.jar')
compile files('libs/GoogleConversionTrackingSdk-2.2.1.jar')
compile('com.crashlytics.sdk.android:crashlytics:2.4.0@aar') {
transitive = true;
}
}
和
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.deneme"
minSdkVersion 14
targetSdkVersion 22
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true
proguardFiles 'proguard.cfg'
}
}
productFlavors {
}
}
感谢帮助
经过几天的时间解决了这个奇怪的问题,终于找到了崩溃的原因。虽然错误依旧,但现在程序运行没有任何问题。
程序在 API 级别 22 下运行正常而在 21 以下运行不正常的原因是 android 中的方法限制为 65K。 21 以上原生支持从应用程序 APK 文件加载多个 dex 文件,而 21 以下则不支持。文件说明 here
这个问题的解决办法在
或
如果您使用 google 播放服务,而不是编译整个 APIs,有选择地编译可能会有所帮助。您可以找到更多详细信息 here.
我遵循了jackaal提到的第二种方法。我在 gradle 中包含了整个播放服务。删除它并仅选择所需的播放服务后 apis 解决了我的问题。
由于播放服务有很多api,方法总数本身就超过了65k。因此,这会导致 api 级别 21 及以下的手机出错。
在gradle之前:-
compile 'com.google.android.gms:play-services:8.4.0'
gradle之后:-
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.android.gms:play-services-plus:8.4.0'