Saturday, October 6, 2012

[android-developers] Re: Get resources from archived apk file

See below

On Saturday, October 6, 2012 12:50:12 AM UTC+1, Sergei Okhotnyi wrote:
Let's assume that I have pre-installed some version of my program on Android device (/system/app/MyApp.apk)
AOSP groups are here:

 
It has predefined some strings (e.g. my_preinstalled_application_name)
At some point user updates this application with newer version from market without this custom string.
I want my application in cases it is update to system one extract this my_preinstalled_application_name and use it.
I've created some code, but stuck how to extract resource from apk:

            final PackageManager pm = context.getPackageManager();
            ApplicationInfo appInfo = pm.getApplicationInfo(context.getPackageName(), PackageManager.GET_DISABLED_COMPONENTS);
            if ((appInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
                try {
                    File sysApps = new File("/system/app");
                    String[] preInstalls = sysApps.list(new FilenameFilter() {
                        public boolean accept(File dir, String name) {
                            if (name.endsWith(".apk")) {
                                PackageInfo packageArchiveInfo = pm.getPackageArchiveInfo(new File(dir, name).getAbsolutePath(), 0);
                                if (packageArchiveInfo != null) {
                                    if (packageArchiveInfo.packageName.equals(context.getPackageName())) {
                                        // extract string somehow ??????
                                        return true;
                                    }
                                }
                            }
                            return false;
                        }
                    });
                } catch (Exception e) {
                    Log.w(TAG, "Error accessing saved affiliation", e);
                }
            }

pm.getResourcesForApplication throws NullPointerException.

Any thoughts?

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate