[Soot-list] Basic question
Henddher Pedroza
hpedro2 at uic.edu
Sun Oct 14 18:05:53 EDT 2012
Hello Eric
The example I cited used addBasicClass(). And yes, I thought of applying
brute force and adding each class in "android.jar" to the list of soot
classes before calling loadNecessaryClasses().
But it turned out that this "brute force" approach is equivalent to
setting soot-classpath containing "android.jar" and "myandroidapp.jar".
Here is my resulting configuration:
Options.v().set_soot_classpath("android.jar:myandroidapp.jar");
Options.v().set_process_dir(Arrays.asList("myandroidapp.jar"));
Scene.v().loadNecessaryClasses();
And, unfortunately, it exposes the FastHierarchy.isSubclass() issue I
first reported. So I guess we can now rule out soot-classpath being
incorrect.
So I am back to square one.
java.lang.NullPointerException
at soot.FastHierarchy$Interval.isSubrange(FastHierarchy.java:83)
at soot.FastHierarchy.isSubclass(FastHierarchy.java:151)
at edu.uic.cs.hpedro2.MiscTest.test_sootclasspath2(MiscTest.java:202)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
(I'll reply to my 1st post to stay in topic)
On 10/14/2012 03:59 PM, Eric Bodden wrote:
> Hello.
>
>> Yesterday, I tried this successfully though it would be tedious to specify
>> all classes found in the android.jar (and extensions).
> What do you mean by "specifying all classes"? That's not the idea...
>
> Eric
More information about the Soot-list
mailing list