Question: I am trying to edit `SharedPreferences` of one app through another app, my code goes like this

```
try {
Context plutoContext = getApplicationContext().createPackageContext("me.test",Context.MODE_WORLD_WRITEABLE);
SharedPreferences plutoPreferences = PreferenceManager.getDefaultSharedPreferences(plutoContext);
Editor plutoPrefEditor = plutoPreferences.edit();
plutoPrefEditor.putString("country", "India");
plutoPrefEditor.commit();
}

```

I am getting an error 

`E/SharedPreferencesImpl( 304): Couldn't create directory for SharedPreferences file /data/data/me.test/shared_prefs/me.test_preferences.xml`

where `me.test` is my another project
in me.test proj I can edit and retrieve `SharedPreferences` with no pain 

I am testing it on Nexus S android 4.0.4 (Samsung), can any one help me

Answer: 
You need to add the permissions in your AndroidManifest.xml:

```
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

```

I have the same problem with you, and I solved it with the above solution.
If your first app wants to create a SharedPreference that can be read by another app, make sure you create the SharedPreference with the correct mode. Take a look at the [getSharedPreferences()](http://developer.android.com/reference/android/content/Context.html#getSharedPreferences%28java.lang.String,%20int%29) or the [PreferenceManager](http://developer.android.com/reference/android/preference/PreferenceManager.html) class for more details.