Search code examples
androidandroid-studioosmdroid

Android App crashes whenever it creates a polyline


It crashes whenever it attempts to create a line. I wanted to use PathOverlay but it's already deprecated. I want to create a line.

public void drawLine(){
    List<GeoPoint> track = new ArrayList<>();
    track.add(new GeoPoint(14.4889,121.0325));
    track.add(new GeoPoint(14.4906,121.0353));

    Polyline roadOverlay = new Polyline(map.getContext());
    roadOverlay.setPoints(track);
    map.getOverlays().add(roadOverlay);
    map.invalidate();
}

Gradle Console

Executing task ':app:validateSigningDebug' (up-to-date check took 0.0 secs) due to: Task has not declared any outputs. :app:validateSigningDebug (Thread[Daemon worker Thread 2,5,main]) completed. Took 0.022 secs. :app:packageDebug (Thread[Daemon worker Thread 2,5,main]) started. :app:packageDebug Executing task ':app:packageDebug' (up-to-date check took 0.067 secs) due to: Input file C:\Users\hp\AndroidStudioProjects\PATHS\app\build\intermediates\transforms\dex\debug\folders\1000\5\slice_3\classes.dex has changed. :app:packageDebug (Thread[Daemon worker Thread 2,5,main]) completed. Took 6.165 secs. :app:buildInfoGeneratorDebug (Thread[Daemon worker Thread 2,5,main]) started. :app:buildInfoGeneratorDebug Executing task ':app:buildInfoGeneratorDebug' (up-to-date check took 0.0 secs) due to: Task has not declared any outputs. :app:buildInfoGeneratorDebug (Thread[Daemon worker Thread 2,5,main]) completed. Took 0.043 secs. :app:compileDebugSources (Thread[Daemon worker Thread 2,5,main]) started. :app:compileDebugSources Skipping task ':app:compileDebugSources' as it has no actions. :app:compileDebugSources (Thread[Daemon worker Thread 2,5,main]) completed. Took 0.001 secs. :app:assembleDebug (Thread[Daemon worker Thread 2,5,main]) started. :app:assembleDebug Skipping task ':app:assembleDebug' as it has no actions. :app:assembleDebug (Thread[Daemon worker Thread 2,5,main]) completed. Took 0.001 secs.

I think this will help? My osmdroid tiles is on my phone storage:

$ adb shell am start -n 
"com.example.mariel.paths/com.example.mariel.paths.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Client not ready yet..Connected to process 20345 on device lge-lg_x155-YL7PVWCE99999999
V/ActivityThread: ActivityRecord{1795043f token=android.os.BinderProxy@3978310c {com.example.mariel.paths/com.example.mariel.paths.MainActivity}}: app=android.app.Application@15416c6a, appName=com.example.mariel.paths, pkg=com.example.mariel.paths, comp={com.example.mariel.paths/com.example.mariel.paths.MainActivity}, dir=/data/app/com.example.mariel.paths-1/base.apk
W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
W/art: Suspending all threads took: 6.790ms
I/OsmDroid: Using tile source: Mapnik
D/Environment: getStorageVolume,  volume:StorageVolume:
                   mStorageId=65537 mPath=/storage/emulated/0 mDescriptionId=17040786 
                   mPrimary=true mRemovable=false mEmulated=true mMtpReserveSpace=10 
                   mAllowMassStorage=false mMaxFileSize=0 mOwner=UserHandle{0} mUuid=null 
                   mUserLabel=null mState=mounted 
D/Environment: getStorageVolume,  volume:StorageVolume:
                   mStorageId=131073 mPath=/storage/sdcard1 mDescriptionId=17040784 
                   mPrimary=false mRemovable=true mEmulated=false mMtpReserveSpace=0 
                   mAllowMassStorage=true mMaxFileSize=0 mOwner=null mUuid=0000-CCCC 
                   mUserLabel=KFAT1 mState=mounted 
D/Environment: getStorageVolume,  volume:StorageVolume:
                   mStorageId=196609 mPath=/storage/usbotg mDescriptionId=17040787 
                   mPrimary=false mRemovable=true mEmulated=false mMtpReserveSpace=0 
                   mAllowMassStorage=false mMaxFileSize=0 mOwner=null mUuid=null 
                   mUserLabel=null mState=removed 
I/OsmDroid: sdcard state: mounted
D/Environment: getStorageVolume,  volume:StorageVolume:
                   mStorageId=65537 mPath=/storage/emulated/0 mDescriptionId=17040786 
                   mPrimary=true mRemovable=false mEmulated=true mMtpReserveSpace=10 
                   mAllowMassStorage=false mMaxFileSize=0 mOwner=UserHandle{0} mUuid=null 
                   mUserLabel=null mState=mounted 
D/Environment: getStorageVolume,  volume:StorageVolume:
                   mStorageId=131073 mPath=/storage/sdcard1 mDescriptionId=17040784 
                   mPrimary=false mRemovable=true mEmulated=false mMtpReserveSpace=0 
                   mAllowMassStorage=true mMaxFileSize=0 mOwner=null mUuid=0000-CCCC 
                   mUserLabel=KFAT1 mState=mounted 
D/Environment: getStorageVolume,  volume:StorageVolume:
                   mStorageId=196609 mPath=/storage/usbotg mDescriptionId=17040787 
                   mPrimary=false mRemovable=true mEmulated=false mMtpReserveSpace=0 
                   mAllowMassStorage=false mMaxFileSize=0 mOwner=null mUuid=null 
                   mUserLabel=null mState=removed 
I/OsmDroid: sdcard state: mounted
D/Environment: getStorageVolume,  volume:StorageVolume:
                   mStorageId=65537 mPath=/storage/emulated/0 mDescriptionId=17040786 
                   mPrimary=true mRemovable=false mEmulated=true mMtpReserveSpace=10 
                   mAllowMassStorage=false mMaxFileSize=0 mOwner=UserHandle{0} mUuid=null 
                   mUserLabel=null mState=mounted 
D/Environment: getStorageVolume,  volume:StorageVolume:
                   mStorageId=131073 mPath=/storage/sdcard1 mDescriptionId=17040784 
                   mPrimary=false mRemovable=true mEmulated=false mMtpReserveSpace=0 
                   mAllowMassStorage=true mMaxFileSize=0 mOwner=null mUuid=0000-CCCC 
                   mUserLabel=KFAT1 mState=mounted 
D/Environment: getStorageVolume,  volume:StorageVolume:
                   mStorageId=196609 mPath=/storage/usbotg mDescriptionId=17040787 
                   mPrimary=false mRemovable=true mEmulated=false mMtpReserveSpace=0 
                   mAllowMassStorage=false mMaxFileSize=0 mOwner=null mUuid=null 
                   mUserLabel=null mState=removed 
I/OsmDroid: sdcard state: mounted
I/art: Background sticky concurrent mark sweep GC freed 2440(204KB) AllocSpace objects, 0(0B) LOS objects, 17% free, 1462KB/1770KB, paused 5.950ms total 21.482ms
D/BONUSPACK: OSRMRoadManager.getRoads:http://router.project-osrm.org/route/v1/driving/121.0325,14.4889;121.03529999999999,14.490599999999999?alternatives=false&overview=full&steps=true
D/libc-netbsd: [getaddrinfo]: hostname=router.project-osrm.org; servname=(null); cache_mode=(null), netid=0; mark=0
D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0
D/ActivityThread: ACT-LAUNCH_ACTIVITY handled : 0 / ActivityRecord{1795043f token=android.os.BinderProxy@3978310c {com.example.mariel.paths/com.example.mariel.paths.MainActivity}}
D/ActivityThread: ACT-PAUSE_ACTIVITY_FINISHING handled : 0 / android.os.BinderProxy@3978310c
W/art: Suspending all threads took: 7.461ms
D/ActivityThread: ACT-DESTROY_ACTIVITY handled : 1 / android.os.BinderProxy@3978310c
W/art: Suspending all threads took: 7.023ms

Solution

  • try removing map.invalidate(); .. i guess its not needed in onCreate as view will be made after onCreate exists.