Tuesday 15 June 2010

java.lang.verify error in Android Studio -



java.lang.verify error in Android Studio -

i've added few jars factual api, project builds fine, , jars can accessed main module. however, when run app i'm getting 'java.lang.verify' error follows:

11-05 13:18:07.094 4612-4612/com.example.nickm.tddeals e/androidruntime﹕ fatal exception: main java.lang.verifyerror: com/factual/driver/factual @ com.example.nickm.tddeals.map.oncreate(map.java:38) @ android.app.activity.performcreate(activity.java:5104) @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1080) @ android.app.activitythread.performlaunchactivity(activitythread.java:2144) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2230) @ android.app.activitythread.access$600(activitythread.java:141) @ android.app.activitythread$h.handlemessage(activitythread.java:1234) @ android.os.handler.dispatchmessage(handler.java:99) @ android.os.looper.loop(looper.java:137) @ android.app.activitythread.main(activitythread.java:5041) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:511) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:793) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:560) @ dalvik.system.nativestart.main(native method)

my main activity uses google map (that working without factual instantiation) , attempts instantiate factual object, error thrown.

import android.location.location; import android.support.v4.app.fragmentactivity; import android.os.bundle; import com.factual.driver.factual; import com.google.android.gms.maps.cameraupdate; import com.google.android.gms.maps.cameraupdatefactory; import com.google.android.gms.maps.googlemap; import com.google.android.gms.maps.supportmapfragment; import com.google.android.gms.maps.model.latlng; import com.google.android.gms.maps.model.markeroptions; public class map extends fragmentactivity { private googlemap mmap; // might null if google play services apk not available. private factual factual; private double mylatitude; private double mylongitude; private gpsservice gpsservice; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_map); setupmapifneeded(); updatelocation(); latlng latlng = new latlng(gpsservice.getlatitude(), gpsservice.getlongitude()); cameraupdate cameraupdate = cameraupdatefactory.newlatlngzoom(latlng, 17); mmap.animatecamera(cameraupdate); factual = new factual("snip", "snip"); } @override protected void onresume() { super.onresume(); setupmapifneeded(); } /** * sets map if possible (i.e., google play services apk correctly * installed) , map has not been instantiated.. ensure ever * phone call {@link #setupmap()} 1 time when {@link #mmap} not null. * <p> * if isn't installed {@link supportmapfragment} (and * {@link com.google.android.gms.maps.mapview mapview}) show prompt user * install/update google play services apk on device. * <p> * user can homecoming fragmentactivity after next prompt , correctly * installing/updating/enabling google play services. since fragmentactivity may not * have been destroyed during process (it * stopped or paused), {@link #oncreate(bundle)} may not called 1 time again should phone call * method in {@link #onresume()} guarantee called. */ private void setupmapifneeded() { // null check confirm have not instantiated map. if (mmap == null) { // seek obtain map supportmapfragment. mmap = ((supportmapfragment) getsupportfragmentmanager().findfragmentbyid(r.id.map)) .getmap(); // check if successful in obtaining map. if (mmap != null) { setupmap(); } } } /** * can add together markers or lines, add together listeners or move camera. in case, * add together marker near africa. * <p> * should called 1 time , when sure {@link #mmap} not null. */ private void setupmap() { mmap.addmarker(new markeroptions().position(new latlng(0, 0)).title("marker")); } private void updatelocation(){ gpsservice = new gpsservice(getapplicationcontext()); location location = gpsservice.getlocation(); while(!gpsservice.islocationavailable) { location = gpsservice.getlocation(); } } }

main module gradle:

apply plugin: 'com.android.application' android { compilesdkversion 21 buildtoolsversion '20.0.0' defaultconfig { applicationid "com.example.nickm.tddeals" minsdkversion 15 targetsdkversion 21 versioncode 1 versionname "1.0" } buildtypes { release { runproguard false proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile filetree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.gms:play-services:6.1.11' compile 'com.android.support:appcompat-v7:21.0.0' compile project(':factual-java-driver-1.8.7') compile project(':factual-java-driver-1.8.7-javadoc') compile project(':factual-java-driver-1.8.7-sources') }

doing searching on error seems bring obscure answers. problem?

you need utilize android version of factual sdk:

compile 'com.factual:factual-java-driver:1.8.2-android'

https://github.com/factual/factual-java-driver/tree/master-android

the factual java source or 1 of dependencies targets version of java not supported on android.

android android-studio

No comments:

Post a Comment