2015-10-09 16 views
11

मेरा ऐप लॉलीपॉप डिवाइस पर अच्छा चल रहा है लेकिन यह संस्करण लॉलीपॉप से ​​पहले क्रैश हो रहा है। मैं बस एक बैनर गूगल documentionएंड्रॉइड - प्री-लॉलीपॉप डिवाइस पर ऐप क्रैश

// Request for Ads 
      AdRequest adRequest = new AdRequest.Builder() 

        // Add a test device to show Test Ads 
       .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
       .build(); 

     // Load ads into Banner Ads 
     mAdView.loadAd(adRequest); 

के माध्यम से निम्न कोड के साथ अपने आवेदन में जोड़ने का उपयोग कर

compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

प्रकट

<meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

     <activity 
      android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden 
    |orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 

त्रुटि को लागू किया है

E/AndroidRuntime: FATAL EXCEPTION: main 
E/AndroidRuntime: Process: com.app.aggro, PID: 13257 
E/AndroidRuntime: java.lang.VerifyError: 
    com/google/android/gms/measurement/internal/zzv 
E/AndroidRuntime: at 
com.google.android.gms.measurement.AppMeasurementContentProvider 
.onCreate(Unknown Source) 
E/AndroidRuntime:  at 
android.content.ContentProvider.attachInfo(ContentProvider.java:1656) 
E/AndroidRuntime:  at 
android.content.ContentProvider.attachInfo(ContentProvider.java:1627) 
E/AndroidRuntime:  at 
android.app.ActivityThread.installProvider(ActivityThread.java:5015) 
E/AndroidRuntime:  at 
android.app.ActivityThread.installContentProviders 
(ActivityThread.java:4589) 
E/AndroidRuntime:  at 
android.app.ActivityThread.handleBindApplication 
(ActivityThread.java:4522) 
E/AndroidRuntime:  at 
android.app.ActivityThread.access$1500(ActivityThread.java:151) 
E/AndroidRuntime:  at 
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381) 
E/AndroidRuntime:  at 
android.os.Handler.dispatchMessage(Handler.java:110) 
E/AndroidRuntime:  at android.os.Looper.loop(Looper.java:193) 
    E/AndroidRuntime:  at 
android.app.ActivityThread.main(ActivityThread.java:5299) 
E/AndroidRuntime:  at java.lang.reflect.Method.invokeNative(Native 
Method) 
E/AndroidRuntime:  at 
java.lang.reflect.Method.invoke(Method.java:515) 
E/AndroidRuntime:  at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run 
(ZygoteInit.java:825) 
E/AndroidRuntime:  at 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641) 
E/AndroidRuntime:  at dalvik.system.NativeStart.main 
(Native Method) 

मेरे Gradle फ़ाइल

apply plugin: 'com.android.application' 

buildscript { 
    repositories { 
     maven { url 'https://maven.fabric.io/public' } 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.+' 
    } 
} 
repositories { 
    mavenCentral() 
    maven { url 
"https://oss.sonatype.org/content/repositories/snapshots"} 
     maven { url 'https://maven.fabric.io/public' } 
     maven { url 
    "https://oss.sonatype.org/content/repositories/snapshots/" } 
    maven { url 'https://dl.bintray.com/drummer-aidan/maven' } 
} 
android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "com.app.aggro" 
     minSdkVersion 15 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard- 
android.txt'), 'proguard-rules.pro' 
     } 
    } 


    dexOptions{ 
     incremental true 
     javaMaxHeapSize "4g" 
    } 
    defaultConfig { 
     multiDexEnabled true 
    } 
    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
    } 
    } 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile('com.mikepenz:materialdrawer:[email protected]') { 
     transitive = true 
    } 
    compile('com.github.florent37:materialviewpager:[email protected]') { 
     transitive = true 
    } 


    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
    compile 'com.google.android.gms:play-services:8.1.0' 
    compile 'com.mcxiaoke.volley:library:1.0.+' 
    compile 'com.google.code.gson:gson:2.3.1' 
     compile 'com.marshalchen.ultimaterecyclerview:library:0.3.11' 
    compile 'com.android.support:recyclerview-v7:22.2.0' 
    compile 'com.android.support:cardview-v7:23.0.1' 
    compile 'com.jpardogo.googleprogressbar:library:1.2.0' 
     compile 'com.quinny898.library.persistentsearch:library:1.0.0- 
SNAPSHOT' 
    compile project(':storage') 
    compile 'com.getbase:floatingactionbutton:1.10.0' 
    compile 'com.parse.bolts:bolts-android:1.+' 
     compile files('libs/activeandroid-3.1-beta.jar') 
     compile 'com.android.support:design:23.0.1' 
     compile 'it.neokree:MaterialTabs:0.11' 
     compile 'com.miguelcatalan:materialsearchview:1.2.0' 
    } 

कृपया मेरी मदद करो बाहर इस समस्या से बाहर निकलने के लिए है।

+0

जांच करता है, तो 'गूगल प्ले 'AdRequest' – Tauqir

+0

का उपयोग करने से पहले प्रोजेक्ट में प्रोजेक्ट' लाइब्रेरी के रूप में उपलब्ध है हां मैंने पहले से ही संकलित 'com.google.android.gms: play-services: 8.1.0' और यह लॉलीपॉप में काम कर रहा है लेकिन यह रखता है किटकैट – Nirmal

+0

पर क्रैशिंग आपकी ग्रेडल फ़ाइल पोस्ट करें। –

उत्तर

33

समस्या पर एक घंटे से अधिक समय के विस्तार के बाद, मैंने पाया मैं इस तरह MyApplication कक्षा में कुछ संशोधन करना है कि:

public class MyApplication extends Application { 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     // register with Active Android 
     ActiveAndroid.initialize(this); 
    } 

    @Override 
    protected void attachBaseContext(Context base) { 
     super.attachBaseContext(base); 
     MultiDex.install(this); 
    } 
} 

मैं attachbaseContext विधि ओवरराइड है और सब ठीक काम करता है।

+0

बढ़िया, यह पूरी तरह से काम कर रहा है ... :) – Jayesh

+0

हमारे एंड्रॉइड स्टूडियो प्रोजेक्ट में MyAplication क्लास कहां है? –

+0

आपको एक बनाना होगा। बस एक साधारण जावा क्लास बनाएं और इसे एप्लिकेशन क्लास से बढ़ाएं क्योंकि मैंने आपके जवाब में देखा है और अटैचबेसबेसटेक्स्ट विधि को ओवरराइड कर दिया है। साथ ही अपने ऐप बिल्ड ग्रेडल फ़ाइल में निर्भरता शामिल करें 'com.android.support:multidex:1.0.1' और मेनिफेस्ट एप्लिकेशन टैग में इस एंड्रॉइड की तरह कक्षा शामिल है: name = "। आपका क्लास नाम" – Nirmal

0

आपने अपने AndroidManifest.xml लॉलीपॉप में एपीआई को कम करना चाहिए एपीआई है 21.

इस की जाँच करें: API Levels उदाहरण:

defaultConfig { 
     applicationId "com.package.name" 
     minSdkVersion 11 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
    } 
+0

पाया है, इस बारे में मदद के लिए धन्यवाद, क्योंकि आप पहले से ही <उपयोग-एसडीके एंड्रॉइड: minSdkVersion = "11" /> – Nirmal

0

उस संस्करण आप समर्थन देना चाहता हूँ करने के लिए अपने minSdkVersion को कम

अपनी परियोजना ०१२३०४७३६० नीचे

के रूप में की Gradle फ़ाइल में

minSdkVersion 10

+0

मैंने पहले ही यह कोशिश की है इससे पहले कोई मदद नहीं – Nirmal

4

+) 65K से अधिक विधि वाले बिल्डिंग ऐप्स इस त्रुटि का कारण बनेंगे।

+) अपने आवेदन और पुस्तकालयों यह एक निश्चित आकार (DEX फ़ाइल तक पहुँचने का संदर्भ अपने आवेदन के एंड्रॉयड ढांचे के तरीकों, पुस्तकालय विधियों, और अपने खुद के कोड में उपाय अपना सकते हैं 65,536 तक तरीकों की कुल संख्या हो सकती है जब), आपको बिल्ड त्रुटियों का सामना करना पड़ता है जो इंगित करता है कि आपका ऐप एंड्रॉइड ऐप बिल्ड आर्किटेक्चर की सीमा तक पहुंच गया है।

+) यह हल करने के लिए इस के साथ साथ अपने आवेदन कक्षा में attachBaseContext (प्रसंग आधार ओवरराइड) विधि, अपने build.gradle पर प्रकाश डाला एक तस्वीर में की तरह में Multidex विन्यास शामिल सामग्री के नीचे।अधिक जानकारी के लिए Multidex के बारे में उल्लेख इन साइट

<application 
    android:name=".YourParentApplication" 
    android:allowBackup="true" 
    android:icon="@drawable/radiius_logo" 
    android:label="@string/app_name" 
    android:largeHeap="true" 
    android:theme="@style/MyMaterialTheme"> 

:

public class YourParentApplication extends Application { 

@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 
} 

यह आप में AndroidManifest.xml जोड़े http://developer.android.com/tools/building/multidex.html

How to enable multidexing with the new Android Multidex support library

enter image description here

संबंधित मुद्दे