Я не могу воспроизвести вашу проблему, возможно, что-то еще не так.
Используя следующее приложение, я смог создать файл в каталоге кэша, а затем очистить его с помощью функции «Управление приложениями» в разделе «Настройки». Мне не нужно было ничего менять в манифесте, и из того, что я могу сказать, вы действительно не должны связываться с опцией android:allowClearUserData
.
public class CreateCacheFile extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.CreateFileButton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File file = new File(
CreateCacheFile.this.getCacheDir(), "temp.txt");
try {
file.createNewFile();
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Hello World");
bw.newLine();
bw.close();
} catch (IOException e) {
Toast.makeText(
CreateCacheFile.this,
"Error!",
Toast.LENGTH_SHORT).show();
}
}
});
}
}
После запуска приложения (и нажатия кнопки для создания файла):
$ adb -d shell
# ls /data/data/com.example.CreateCacheFile/cache
temp.txt
# cat /data/data/com.example.CreateCacheFile/cache/temp.txt
Hello World
#
Управление приложениями сообщает, что для кэширования используется 4 КБ пространства. После нажатия на кнопку, чтобы очистить его:
# ls /data/data/com.example.CreateCacheFile/cache
# cat /data/data/com.example.CreateCacheFile/cache/temp.txt
temp.txt: No such file or directory
#
На этом этапе Управление приложениями сообщает, что для кэширования используется 0 КБ пространства.