cuplv / droidel

Framework model for static analysis of Android
Apache License 2.0
45 stars 14 forks source link

Harness compilation error #10

Closed sblackshear closed 9 years ago

sblackshear commented 9 years ago

Problem occurs with com.path.apk. There are two problems: private/protected inner classes/enums, and ambiguous method references:

/Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:669: error: cannot find symbol com.path.jobs.PathJobManagerImpl.PathDependencyInjector loc_28 = (com.path.jobs.PathJobManagerImpl.PathDependencyInjector) null; ^ symbol: class PathDependencyInjector location: class com.path.jobs.PathJobManagerImpl /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:669: error: cannot find symbol com.path.jobs.PathJobManagerImpl.PathDependencyInjector loc_28 = (com.path.jobs.PathJobManagerImpl.PathDependencyInjector) null; ^ symbol: class PathDependencyInjector location: class com.path.jobs.PathJobManagerImpl /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:670: error: cannot find symbol com.path.jobs.PathJobManagerImpl.PathNetworkUtil loc_29 = (com.path.jobs.PathJobManagerImpl.PathNetworkUtil) null; ^ symbol: class PathNetworkUtil location: class com.path.jobs.PathJobManagerImpl /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:670: error: cannot find symbol com.path.jobs.PathJobManagerImpl.PathNetworkUtil loc_29 = (com.path.jobs.PathJobManagerImpl.PathNetworkUtil) null; ^ symbol: class PathNetworkUtil location: class com.path.jobs.PathJobManagerImpl /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:675: error: cannot find symbol com.path.controllers.message.XmppServiceClient.Listener loc_34 = (com.path.controllers.message.XmppServiceClient.Listener) null; ^ symbol: class Listener location: class com.path.controllers.message.XmppServiceClient /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:675: error: cannot find symbol com.path.controllers.message.XmppServiceClient.Listener loc_34 = (com.path.controllers.message.XmppServiceClient.Listener) null; ^ symbol: class Listener location: class com.path.controllers.message.XmppServiceClient /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:752: error: cannot find symbol com.path.activities.PopoverActivity.AnimationState loc_111 = (com.path.activities.PopoverActivity.AnimationState) null; ^ symbol: class AnimationState location: class com.path.activities.PopoverActivity /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:752: error: cannot find symbol com.path.activities.PopoverActivity.AnimationState loc_111 = (com.path.activities.PopoverActivity.AnimationState) null; ^ symbol: class AnimationState location: class com.path.activities.PopoverActivity /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:753: error: cannot find symbol com.path.events.bus.NavigationBus.UpdateActionBarEvent loc_112 = (com.path.events.bus.NavigationBus.UpdateActionBarEvent) null; ^ symbol: class UpdateActionBarEvent location: class com.path.events.bus.NavigationBus /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:753: error: cannot find symbol com.path.events.bus.NavigationBus.UpdateActionBarEvent loc_112 = (com.path.events.bus.NavigationBus.UpdateActionBarEvent) null; ^ symbol: class UpdateActionBarEvent location: class com.path.events.bus.NavigationBus /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:760: error: cannot find symbol com.path.events.bus.NavigationBus.MainViewPagerSwipeToggleEvent loc_119 = (com.path.events.bus.NavigationBus.MainViewPagerSwipeToggleEvent) null; ^ symbol: class MainViewPagerSwipeToggleEvent location: class com.path.events.bus.NavigationBus /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:760: error: cannot find symbol com.path.events.bus.NavigationBus.MainViewPagerSwipeToggleEvent loc_119 = (com.path.events.bus.NavigationBus.MainViewPagerSwipeToggleEvent) null; ^ symbol: class MainViewPagerSwipeToggleEvent location: class com.path.events.bus.NavigationBus /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:778: error: cannot find symbol com.path.events.user.UserEvent.Type loc_137 = (com.path.events.user.UserEvent.Type) null; ^ symbol: class Type location: class com.path.events.user.UserEvent /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:778: error: cannot find symbol com.path.events.user.UserEvent.Type loc_137 = (com.path.events.user.UserEvent.Type) null; ^ symbol: class Type location: class com.path.events.user.UserEvent /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:791: error: cannot find symbol com.path.util.network.CachedDownloadUtil.DownloadRequest loc_150 = (com.path.util.network.CachedDownloadUtil.DownloadRequest) null; ^ symbol: class DownloadRequest location: class com.path.util.network.CachedDownloadUtil /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:791: error: cannot find symbol com.path.util.network.CachedDownloadUtil.DownloadRequest loc_150 = (com.path.util.network.CachedDownloadUtil.DownloadRequest) null; ^ symbol: class DownloadRequest location: class com.path.util.network.CachedDownloadUtil /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:793: error: cannot find symbol com.path.util.network.DownloadUtil.DownloadError loc_152 = (com.path.util.network.DownloadUtil.DownloadError) null; ^ symbol: class DownloadError location: class com.path.util.network.DownloadUtil /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:793: error: cannot find symbol com.path.util.network.DownloadUtil.DownloadError loc_152 = (com.path.util.network.DownloadUtil.DownloadError) null; ^ symbol: class DownloadError location: class com.path.util.network.DownloadUtil /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:795: error: cannot find symbol com.path.views.helpers.MusicViewHelper.StateChangedEvent loc_154 = (com.path.views.helpers.MusicViewHelper.StateChangedEvent) null; ^ symbol: class StateChangedEvent location: class com.path.views.helpers.MusicViewHelper /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:795: error: cannot find symbol com.path.views.helpers.MusicViewHelper.StateChangedEvent loc_154 = (com.path.views.helpers.MusicViewHelper.StateChangedEvent) null; ^ symbol: class StateChangedEvent location: class com.path.views.helpers.MusicViewHelper /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:808: error: cannot find symbol com.path.events.moment.MomentUpdatedEvent.Reason loc_167 = (com.path.events.moment.MomentUpdatedEvent.Reason) null; ^ symbol: class Reason location: class com.path.events.moment.MomentUpdatedEvent /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:808: error: cannot find symbol com.path.events.moment.MomentUpdatedEvent.Reason loc_167 = (com.path.events.moment.MomentUpdatedEvent.Reason) null; ^ symbol: class Reason location: class com.path.events.moment.MomentUpdatedEvent /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:824: error: cannot find symbol com.path.events.messaging.UpdatedConversationEvent.UpdateType loc_183 = (com.path.events.messaging.UpdatedConversationEvent.UpdateType) null; ^ symbol: class UpdateType location: class com.path.events.messaging.UpdatedConversationEvent /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:824: error: cannot find symbol com.path.events.messaging.UpdatedConversationEvent.UpdateType loc_183 = (com.path.events.messaging.UpdatedConversationEvent.UpdateType) null; ^ symbol: class UpdateType location: class com.path.events.messaging.UpdatedConversationEvent /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:848: error: cannot find symbol com.path.server.path.model2.User.AccountType loc_207 = (com.path.server.path.model2.User.AccountType) null; ^ symbol: class AccountType location: class com.path.server.path.model2.User /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:848: error: cannot find symbol com.path.server.path.model2.User.AccountType loc_207 = (com.path.server.path.model2.User.AccountType) null; ^ symbol: class AccountType location: class com.path.server.path.model2.User /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:860: error: cannot find symbol com.path.activities.feed.contract.FeedContract.DataFetchingState loc_219 = (com.path.activities.feed.contract.FeedContract.DataFetchingState) null; ^ symbol: class DataFetchingState location: class com.path.activities.feed.contract.FeedContract /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:860: error: cannot find symbol com.path.activities.feed.contract.FeedContract.DataFetchingState loc_219 = (com.path.activities.feed.contract.FeedContract.DataFetchingState) null; ^ symbol: class DataFetchingState location: class com.path.activities.feed.contract.FeedContract /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:866: error: cannot find symbol com.path.samsung.watch.common.WearableMessage.Type loc_225 = (com.path.samsung.watch.common.WearableMessage.Type) null; ^ symbol: class Type location: class com.path.samsung.watch.common.WearableMessage /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:866: error: cannot find symbol com.path.samsung.watch.common.WearableMessage.Type loc_225 = (com.path.samsung.watch.common.WearableMessage.Type) null; ^ symbol: class Type location: class com.path.samsung.watch.common.WearableMessage /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:2369: error: reference to onEventMainThread is ambiguous, both method onEventMainThread(android.location.Location) in com.path.activities.BaseFragment and method onEventMainThread(com.path.activities.MediaOwnerFragment$MediaFetchedEvent) in com.path.activities.MediaOwnerFragment match loc_85.onEventMainThread(null); ^ /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:6656: error: reference to onEventMainThread is ambiguous, both method onEventMainThread(android.location.Location) in com.path.activities.BaseFragment and method onEventMainThread(com.path.activities.MediaOwnerFragment$MediaFetchedEvent) in com.path.activities.MediaOwnerFragment match loc_16.onEventMainThread(null); ^ /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:7001: error: reference to onEventMainThread is ambiguous, both method onEventMainThread(android.location.Location) in com.path.activities.BaseFragment and method onEventMainThread(com.path.activities.MediaOwnerFragment$MediaFetchedEvent) in com.path.activities.MediaOwnerFragment match loc_12.onEventMainThread(null); ^ /Users/sam/Downloads/mirror/com.path/bin/droidel_classes/generatedharness/GeneratedAndroidHarness.java:7562: error: reference to onEventMainThread is ambiguous, both method onEventMainThread(android.location.Location) in com.path.activities.BaseFragment and method onEventMainThread(com.path.activities.PlaceFragment$PlaceEvent) in com.path.activities.PlaceFragment match loc_6.onEventMainThread(null);

sblackshear commented 9 years ago

I've made some massive changes to Droidel that make generating such a complicated harness a thing of the past. Droidel can now process com.path.apk and other apps where harness generation was previously problematic.