2016-05-29 3 views
0

Мне пришлось включить MultiDex в Android-приложение, оно работает во всех SDK, кроме тех, которые относятся к 4.4 и 4.2, которые, к сожалению, являются самые популярные версии Android для моего приложения на данный момент.com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate (Неизвестный источник)

Вот отчет о сбое в Play Dev консоли

java.lang.VerifyError: com/google/android/gms/measurement/internal/zzw 
at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source) 
at android.content.ContentProvider.attachInfo(ContentProvider.java:1058) 
at android.app.ActivityThread.installProvider(ActivityThread.java:5022) 
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4607) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4547) 
at android.app.ActivityThread.access$1300(ActivityThread.java:156) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1400) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:153) 
at android.app.ActivityThread.main(ActivityThread.java:5293) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
at dalvik.system.NativeStart.main(Native Method) 

Вот Gradle

apply plugin: 'com.android.application' 

android { 

dexOptions { 
    javaMaxHeapSize "4g" 
} 

signingConfigs { 
    release { 
     keyAlias 'XXXXX' 
     keyPassword 'XXXXXX' 
     storeFile file('C:/XXXXXXX') 
     storePassword 'XXXXXXX' 
    } 
} 
compileSdkVersion 23 
buildToolsVersion "23.0.2" 
useLibrary 'org.apache.http.legacy' 
defaultConfig { 
    applicationId "net.digitalageservices.minecraftyourself" 
    minSdkVersion 16 
    targetSdkVersion 23 
    versionCode 42 
    versionName "4.7.1" 
    multiDexEnabled true 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     signingConfig signingConfigs.release 
     shrinkResources true 
    } 
} 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile files('libs/apache-commons-httpmime.jar') 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:appcompat-v7:23.0.0' 
//compile 'com.google.android.gms:play-services-ads:8.4.0' 
compile 'com.google.android.gms:play-services:8.4.0' 
compile 'com.google.code.gson:gson:2.2.4' 
compile 'com.mcxiaoke.volley:library:1.0.19' 
compile 'com.github.bumptech.glide:glide:3.7.0' 
// compile 'com.android.support:multidex:1.0.1' 
compile files('libs/easyandroidanimationslibrary-v0.5.jar') 
compile ('com.adincube.sdk:AdinCube-Java-3fff:[email protected]') { 
    transitive = true 
} 
} 

repositories { 
maven { 
    url 'http://repository.adincube.com/maven' 
} 
} 

Вот Manifest

<?xml version="1.0" encoding="utf-8" ?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="net.digitalageservices.minecraftyourself"> 

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="com.android.vending.BILLING" /> 
<uses-permission android:name="com.android.vending.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 


<!-- To access accounts configured on device --> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<!-- To use account credentials --> 
<uses-permission android:name="android.permission.USE_CREDENTIALS" /> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:name=".app.MyApplication"> 
    android:largeHeap="true" 
    android:theme="@style/AppTheme"> 
    <!--This meta-data tag is required to use Google Play Services.--> 
    <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 

    <activity android:name="com.chartboost.sdk.CBImpressionActivity" 
     android:excludeFromRecents="true" 
     android:hardwareAccelerated="true" 
     android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" 
     android:configChanges="keyboardHidden|orientation|screenSize" /> 

    <activity 
     android:name=".LoginPage" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".MineCraftActivit_" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"> 
     <!--<intent-filter>--> 
      <!--<action android:name="android.intent.action.MAIN" />--> 
      <!--<category android:name="android.intent.category.LAUNCHER" />--> 
     <!--</intent-filter>--> 
    </activity> 
    <activity 
     android:name=".StartActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"> 

    </activity> 

    <activity 
     android:name=".SplashActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" 
     android:theme="@android:style/Theme.Translucent.NoTitleBar"/> 

    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"/> 

    <activity 
     android:name=".AboutUsPage" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"/> 
    <activity 
     android:name=".ListImageActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"/> 
    <activity 
     android:name=".ViewPagerActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"/> 
    <activity 
     android:name=".NewsActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait"/> 

    <!--Include the AdActivity configChanges and theme. --> 
    <activity 
     android:name="com.google.android.gms.ads.AdActivity" 
     android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" 
     android:theme="@android:style/Theme.Translucent" /> 

    <!-- 
    Optionally, register AnalyticsReceiver and AnalyticsService to support background 
    dispatching on non-Google Play devices 
    --> 
    <receiver 
     android:name="com.google.android.gms.analytics.AnalyticsReceiver" 
     android:enabled="true"> 
     <intent-filter> 
      <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" /> 
     </intent-filter> 
    </receiver> 

    <service 
     android:name="com.google.android.gms.analytics.AnalyticsService" 
     android:enabled="true" 
     android:exported="false" /> 

    <!-- 
     Optionally, register CampaignTrackingReceiver and CampaignTrackingService to enable 
     installation campaign reporting 
    --> 
    <receiver 
     android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" 
     android:exported="true"> 
     <intent-filter> 
      <action android:name="com.android.vending.INSTALL_REFERRER" /> 
     </intent-filter> 
    </receiver> 

    <service android:name="com.google.android.gms.analytics.CampaignTrackingService" /> 

    <activity android:name="com.purplebrain.adbuddiz.sdk.AdBuddizActivity" 
     android:theme="@android:style/Theme.Translucent" /> 
</application> 

Я знаю, что нужно делать что-то hing in Manifest, Activity with extends или что-то еще, и Gradle, но все, что я пробовал, терпит неудачу или работает только частично. Я просто не знаю, где и как правильно его исправить.

ответ

0

Turn MultiDex выключен и читайте ниже :)

вот ваша проблема:

compile 'com.google.android.gms:play-services:8.4.0' 

игровые услуги очень огромный Lib, который содержит тонны детей LIBS удалить эту линию и идти и читать here и добавить ТОЛЬКО библиотеки, которые вы используете. 99% гарантия не будет необходимости использовать MultiDex :)

, например, если вы используете только карты затем компилировать только:

compile 'com.google.android.gms:play-services-maps:8.4.0'