Search code examples
javaandroideclipsepackage-managersgetresource

Get resources from another apk


I have been struggling with this issue all day and have had no success. I am basically trying to get an image resource from another apk.

So if com.example.app has an image called image1.png in the res folder, i want com.example2.app to be able to gain access to that resource and place it in an imageview.

I know you have to use PackageManager.getResourcesForApplication, but i have still been unsuccessful in getting the actual resource.

Any help would be awesome!


Solution

  • Figured it out...

    final String packName = "com.example2.app";
        String mDrawableName = "app_icon";
    
        try {
            PackageManager manager = getPackageManager();
            Resources mApk1Resources = manager.getResourcesForApplication(packName);
    
            int mDrawableResID = mApk1Resources.getIdentifier(mDrawableName, "drawable",packName);
    
            Drawable myDrawable = mApk1Resources.getDrawable( mDrawableResID );
    
            if( myDrawable != null )
                TEST.setBackgroundDrawable(myDrawable );
    
        }
        catch (NameNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    

    Check here for more explanation form other question! Share raw resource between apk's