java - Android Custom Multidex Application Error -
i'm trying create android application class extends multidexapplication.
public class myapplication extends multidexapplication { @override public void oncreate() { super.oncreate(); facebooksdk.sdkinitialize(getapplicationcontext()); appeventslogger.activateapp(this); registerparsesubclasses(); parseinit(); } private void registerparsesubclasses() { //registering subclasses parseobject.registersubclass(userplace.class); parseobject.registersubclass(placeitem.class); parseobject.registersubclass(placeitemrating.class); } private void parseinit() { parse.initialize(new parse.configuration.builder(getbasecontext()) .applicationid("myappid") .server("myurl") //.enablelocaldatastore() .build()); parse.setloglevel(parse.log_level_verbose); parsefacebookutils.initialize(this); } }
and android manifest looks this:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.pnametala.application" > <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" /> <uses-permission android:name="android.permission.get_accounts" /> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_state" /> <application android:name=".myapplication" android:allowbackup="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsrtl="true" android:theme="@style/apptheme" >
and here's gradle:
apply plugin: 'com.android.application' android { compilesdkversion 24 buildtoolsversion "24.0.1" defaultconfig { applicationid "com.pnametala.application" minsdkversion 16 targetsdkversion 24 versioncode 1 versionname "1.0" multidexenabled true jackoptions { enabled true } } buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro' } } compileoptions { targetcompatibility 1.8 sourcecompatibility 1.8 } } dependencies { compile filetree(dir: 'libs', include: ['*.jar']) testcompile 'junit:junit:4.12' compile 'com.android.support:multidex:1.0.1' compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.support:design:24.1.1' compile 'com.google.android.gms:play-services:9.4.0' compile 'com.parse:parse-android:1.13.1' compile 'com.google.maps.android:android-maps-utils:0.4.3' compile 'com.android.support:support-v4:24.1.1' compile 'com.weiwangcn.betterspinner:library:1.1.0' compile 'com.weiwangcn.betterspinner:library-material:1.1.0' compile 'com.getbase:floatingactionbutton:1.10.1' compile 'com.facebook.android:facebook-android-sdk:4.15.0' compile 'com.parse:parsefacebookutils-v4-android:1.10.3@aar' }
if use multidexapplication in androidmanifest.xml, works charm need input init overrides can't done without that.
the stack trace is:
unable instantiate application com.pnametala.application.myapplication: java.lang.classnotfoundexception: didn't find class "com.pnametala.application.myapplication" on path: dexpathlist[[zip file "/data/app/com.pnametala.application-1.apk"],nativelibrarydirectories=[/data/app-lib/com.pnametala.application-1, /vendor/lib, /system/lib]]
anyone knows solution?
add build.gradle
dexoptions { javamaxheapsize "4g" }
Comments
Post a Comment