FlowDroid icon indicating copy to clipboard operation
FlowDroid copied to clipboard

Cannot assign intent for androidx.fragment.app.FragmentActivity due to the newest ExcludeList

Open Canonize opened this issue 3 years ago • 2 comments

[main] ERROR soot.jimple.infoflow.android.entryPointCreators.components.ActivityEntryPointCreator - Assign Intent for <androidx.fragment.app.FragmentActivity: void startIntentSenderForResult(android.content.IntentSender,int,android.content.Intent,int,int,int,android.os.Bundle)> fails. java.lang.RuntimeException: This operation requires resolving level BODIES but androidx.fragment.app.FragmentActivity is at resolving level SIGNATURES If you are extending Soot, try to add the following call before calling soot.Main.main(..): Scene.v().addBasicClass(androidx.fragment.app.FragmentActivity,BODIES); Otherwise, try whole-program mode (-w).

Use FlowDroid from the develop branch to analyze some apps, ERROR above occurred. Have tried two given advice, didn't seem to work.

But when I remove excludeList.add("androidx.*"); from SootConfigForAndroid.setSootOptions(Options options, InfoflowConfiguration config), it works fine. Guess we shouldn't exclude androidx.*, if want to add getIntent() methods for androidx.fragment.app.FragmentActivity?

Canonize avatar Jun 27 '22 03:06 Canonize

@Canonize Did you find a solution for this issue?

maryammsd avatar Jul 11 '22 03:07 maryammsd

@maryammsd I removed excludeList.add("androidx.*"); from SootConfigForAndroid.setSootOptions(Options options, InfoflowConfiguration config).

Canonize avatar Jul 11 '22 03:07 Canonize

There is a solution for the original problem in this thread, i.e., remove the exclusion. This thread has nothing to do with JAR files. Please do not mix topics.

StevenArzt avatar Aug 29 '22 10:08 StevenArzt