cuplv / droidel

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

Error compiling the harness #8

Closed pietroferrara closed 10 years ago

pietroferrara commented 10 years ago

I am obtaining the following error on com.ebay.mobile:

generatedstubs/GeneratedAndroidLayoutStubs.java:2446: error: incompatible types case 2131232206: return picker_map8777; ^ required: android.support.v4.app.Fragment found: com.google.android.gms.maps.MapFragment generatedstubs/GeneratedAndroidLayoutStubs.java:2447: error: incompatible types case 2131232225: return symban_fragment_id8734; ^ required: android.support.v4.app.Fragment found: com.ebay.mobile.user.symban.SymbanFragment generatedstubs/GeneratedAndroidLayoutStubs.java:2448: error: incompatible types case 2131231860: return search_buttonbar_fragment17872; ^ required: android.support.v4.app.Fragment found: com.ebay.mobile.search.SearchButtonBarFragment generatedstubs/GeneratedAndroidLayoutStubs.java:2449: error: incompatible types case 2131231866: return search_refine_fragment17946; ^ required: android.support.v4.app.Fragment found: com.ebay.mobile.search.SearchRefineFragment generatedstubs/GeneratedAndroidLayoutStubs.java:2450: error: incompatible types case 2131231861: return refinement_carousel_fragment17873; ^ required: android.support.v4.app.Fragment found: com.ebay.mobile.search.SearchRefinementCarouselFragment generatedstubs/GeneratedAndroidLayoutStubs.java:2451: error: incompatible types case 2131231857: return search_result_fragment17869; ^ required: android.support.v4.app.Fragment found: com.ebay.mobile.search.SearchResultFragment Note: generatedstubs/GeneratedAndroidLayoutStubs.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Failed to decode app /Users/pferrara/topapps_problems/com.ebay.mobile.apk assertion failed: Couldn't compile stub file generatedstubs/GeneratedAndroidLayoutStubs

java.lang.AssertionError: assertion failed: Couldn't compile stub file generatedstubs/GeneratedAndroidLayoutStubs at scala.Predef$.assert(Predef.scala:179)

sblackshear commented 10 years ago

Thanks for the report. Looks like support Fragment vs app Fragment confusion. Should be fairly easy to fix; I will take a look soon.

sblackshear commented 10 years ago

I pushed a commit addressing this issue, but analysis still doesn't finish on the ebay app because of a harness compilation problem. I'll try to fix that soon.

sblackshear commented 10 years ago

Closing because the Fragment issue has been fixed--the remaining problem is #10.

agb46 commented 9 years ago

I have a similar issue.

/Users/Alfonso/AndroidStudioProjects/CyLCultural/app/src/main/java/cylcultural/agb/es/cylcultural/activities/MainActivity.java:120: error: incompatible types: EventosFragment cannot be converted to Fragment newFragment = new EventosFragment(); ^ /Users/Alfonso/AndroidStudioProjects/CyLCultural/app/src/main/java/cylcultural/agb/es/cylcultural/activities/MainActivity.java:123: error: incompatible types: FeriasComercialesFragment cannot be converted to Fragment newFragment = new FeriasComercialesFragment(); ^

/Users/Alfonso/AndroidStudioProjects/CyLCultural/app/src/main/java/cylcultural/agb/es/cylcultural/activities/MainActivity.java:158: error: incompatible types: BienvenidaFragment cannot be converted to Fragment getFragmentManager().beginTransaction().setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).replace(R.id.content_frame, new BienvenidaFragment()).commit();

I don't know how resolved so I'm thankful if someone explain how I have to do it for resolved. I use Android.suport.v4 r21 and Roboguice 3.0.1 and Roboblender 3.0.1

sblackshear commented 9 years ago

Is your issue #8, or #10? I believe I have resolved #8, but harness compilation is still a bit flaky at times. If you send me the app that's causing you trouble, I can try to fix the problem.

If you really need to make Droidel finish on a particular app, you can fix manually fix the compilation issues and recompile the harness (this is usually quick to do). However, I realize that this is not realistic to do if you are trying to automatically process hundreds or thousands of apps. I'm hoping to make the compilation more reliable in the future.

agb46 commented 9 years ago

It isn't a droidel, but It's more about change the Fragment depending the clicking option in a listener. If you want to help me I could send you the app code, if it doesn't cause inconvenience...

sblackshear commented 9 years ago

I'm happy to take a look if you send me the code and an explanation of the problem.

agb46 commented 9 years ago

I sent you an email to your colorado email account Yesterday. Thanks in advance!!