android - Type Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException -


i making simple map application on running it, errors displayed don't understand....

my project min sdk android 2.2(froyo) api 8 , target sdk android 4.4(kitkat) api 19 , app compiled google api 2 rev 8.....

i don't know should combinations of min, target , compiled apis in order make app run ....help me out proper combination.

following manifest file code

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.margallahillhikedroid" android:versioncode="1" android:versionname="1.0" >  <uses-sdk     android:minsdkversion="8"     android:targetsdkversion="19" /> <uses-permission android:name="android.permission.access_coarse_location"/> <uses-permission android:name="android.permission.access_fine_location"/> <uses-permission android:name="android.permission.internet"/>  <application     android:allowbackup="true"     android:icon="@drawable/ic_launcher"     android:label="@string/app_name"     android:theme="@style/apptheme" >     <uses-library android:name="com.google.android.maps"/>"     <activity         android:name="com.example.margallahillhikedroid.mainactivity"         android:label="@string/app_name" >         <intent-filter>             <action android:name="android.intent.action.main" />              <category android:name="android.intent.category.launcher" />         </intent-filter>     </activity> </application>  </manifest> 

// following main java source

// package com.example.margallahillhikedroid;

import com.google.android.maps.mapactivity; import com.google.android.maps.mapview;  import android.os.bundle;  import android.view.menu;  public class mainactivity extends mapactivity { mapview map; @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);     map=(mapview)findviewbyid(r.id.mymap); }  @override public boolean oncreateoptionsmenu(menu menu) {     // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.main, menu);     return true; }  @override protected boolean isroutedisplayed() {     // todo auto-generated method stub     return false; }  } 

following main.xml

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context=".mainactivity" > <com.google.android.maps.mapview       android:id="@+id/mymap"       android:layout_width="match_parent"       android:layout_height="match_parent"       android:apikey="aizasybctxeirtszthvlmal5jddc-sk-mw7s_ce"/>  </relativelayout> 

on running app following errors in console section displayed;

[2014-04-14 07:37:14 - margallahillhikedroid] dx  trouble writing output: prepared [2014-04-14 07:37:14 - dex loader] unable execute dex:     java.nio.bufferoverflowexception. check eclipse log stack trace. [2014-04-14 07:37:14 - margallahillhikedroid] conversion dalvik format failed:    unable execute dex: java.nio.bufferoverflowexception. check eclipse log stack   trace. 

in problem section following error displayed

description resource    path    location    type conversion dalvik format failed: unable execute dex: java.nio.bufferoverflowexception. check eclipse log stack trace. margallahillhikedroid       unknown android packaging problem 

i making map application on running above mentioned errors displayed in problem section console section.

your problem trying implement google maps api v1, using google maps api v2 key. , can't do.

so should make following changes in code:

1. remove: <uses-library android:name="com.google.android.maps"/>" manifest file, v1 permission.

2. if want support v8 api have remove implementation of activity mapactivity , change fragmentactivity. supporting fragment on older systems.

3. change xml layout file from:

<com.google.android.maps.mapview   android:id="@+id/mymap"   android:layout_width="match_parent"   android:layout_height="match_parent"   android:apikey="aizasybctxeirtszthvlmal5jddc-sk-mw7s_ce"/> 

to this:

<fragment     android:name="com.google.android.gms.maps.supportmapfragment"     xmlns:map="http://schemas.android.com/apk/res-auto"     android:id="@+id/map"     android:layout_width="match_parent"     android:layout_height="match_parent" /> 

4. have add staff in manifest file:

add permissions:

<permission android:name="your.application.package.permission.maps_receive"  android:protectionlevel="signature"/> <uses-permission android:name="your.application.package.permission.maps_receive"/> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.write_external_storage"/> <uses-permission android:name="com.google.android.providers.gsf.permission.read_gservices"/> <uses-permission android:name="android.permission.access_coarse_location" /> <uses-permission android:name="android.permission.access_fine_location" />  <uses-feature android:glesversion="0x00020000" android:required="true"/> 

change your.application.package actual application package name.

and add those:

<meta-data android:name="com.google.android.maps.v2.api_key" android:value="your google maps api v2 key" />  <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 

under application hive.

you can use guide wrote on topic out:

google maps api v2

and go on steps of producing api key , make sure haven't missed thing:

google maps api v2 key


Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -