I managed to pull the layouts, and i add it to my viewflipper, however, there it is loaded as blank.
The code is,
Resources packageResources;
Context pac
Finally got it.... Its actually simple !!!!
Here is what i did...
In the target apk, there is only resources and layouts with no application or activity code. I created a class,
public final class ViewExtractor
{
private static final int NUMBER_OF_LAYOUTS = 5;
public static View[] getAllViews(Context context)
{
View[] result = new View[ViewExtractor.NUMBER_OF_LAYOUTS];
result[0] = View.inflate(context, R.layout.layout_0, null);
result[1] = View.inflate(context, R.layout.layout_1, null);
result[2] = View.inflate(context, R.layout.layout_2, null);
result[3] = View.inflate(context, R.layout.layout_3, null);
result[4] = View.inflate(context, R.layout.layout_4, null);
return result;
}
}
Then in my current application, I modified my earlier code. The modification takes place once package has been verified to exist.
// If the package exists then get the resources within it.
// Use the method in the class to get the views.
Class> viewExtractor;
try
{
viewExtractor = packageContext.getClassLoader().loadClass(packageName + ".ViewExtractor");
}
catch (ClassNotFoundException excep)
{
continue;
}
View[] resultViews;
try
{
Method m = viewExtractor.getDeclaredMethod("getAllViews", Context.class);
resultViews= (View[])m.invoke(null, new Object[]{packageContext});
for( View v : resultViews)
{
this.viewFlipper.addView(v);
}
}
catch (Exception excep)
{
excep.printStackTrace();
}