Top Description Constructors Methods
org.droidparts.dexmaker

pack-priv Class AppDataDirGuesser

extends Object
Class Inheritance
Imports
java.io.File, java.lang.reflect.Field, java.util.ArrayList, .List

Uses heuristics to guess the application's private data directory.

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv boolean
private String
getPathFromThisClassLoader(ClassLoader classLoader, Class<?> pathClassLoaderClass)

public File
pack-priv File[]
private ClassLoader
pack-priv boolean
pack-priv static String
processClassLoaderString(String input)

Given the result of a ClassLoader.toString() call, process the result so that guessPath can use it.

private static String
private static String
pack-priv static String[]
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

AppDataDirGuesserback to summary
pack-priv AppDataDirGuesser()

Method Detail

fileOrDirExistsback to summary
pack-priv boolean fileOrDirExists(File file)
getPathFromThisClassLoaderback to summary
private String getPathFromThisClassLoader(ClassLoader classLoader, Class<?> pathClassLoaderClass)
guessback to summary
public File guess()
guessPathback to summary
pack-priv File[] guessPath(String input)
guessSuitableClassLoaderback to summary
private ClassLoader guessSuitableClassLoader()
isWriteableDirectoryback to summary
pack-priv boolean isWriteableDirectory(File file)
processClassLoaderStringback to summary
pack-priv static String processClassLoaderString(String input)

Given the result of a ClassLoader.toString() call, process the result so that guessPath can use it. There are currently two variants. For Android 4.3 and later, the string "DexPathList" should be recognized and the array of dex path elements is parsed. for earlier versions, the last nested array ('[' ... ']') is enclosing the string we are interested in.

processClassLoaderString42OrEarlierback to summary
private static String processClassLoaderString42OrEarlier(String input)
processClassLoaderString43OrLaterback to summary
private static String processClassLoaderString43OrLater(String input)
splitPathListback to summary
pack-priv static String[] splitPathList(String input)