aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--android/avd/info.c12
-rw-r--r--android/main-common.c2
-rw-r--r--android/main.c2
3 files changed, 14 insertions, 2 deletions
diff --git a/android/avd/info.c b/android/avd/info.c
index a9fc711..1ab066c 100644
--- a/android/avd/info.c
+++ b/android/avd/info.c
@@ -1117,6 +1117,17 @@ avdInfo_getSkinInfo( AvdInfo* i, char** pSkinName, char** pSkinDir )
if (skinPath != NULL)
break;
}
+
+ /* or in the parent directory of the system dir */
+ {
+ char* parentDir = path_parent(i->androidOut, 1);
+ if (parentDir != NULL) {
+ skinPath = _checkSkinSkinsDir(parentDir, skinName);
+ AFREE(parentDir);
+ if (skinPath != NULL)
+ break;
+ }
+ }
}
/* look in the search paths. For each <dir> in the list,
@@ -1137,6 +1148,7 @@ avdInfo_getSkinInfo( AvdInfo* i, char** pSkinName, char** pSkinDir )
}
/* We didn't find anything ! */
+ *pSkinName = skinName;
return;
} while (0);
diff --git a/android/main-common.c b/android/main-common.c
index 05a2cb0..94accf7 100644
--- a/android/main-common.c
+++ b/android/main-common.c
@@ -850,7 +850,7 @@ AvdInfo* createAVD(AndroidOptions* opts, int* inAndroidBuild)
if (!opts->system) {
opts->system = _getSdkSystemImage(opts->sysdir, "-image", "system.img");
- D("autoconfig: -image %s", opts->image);
+ D("autoconfig: -system %s", opts->system);
}
if (!opts->kernel) {
diff --git a/android/main.c b/android/main.c
index 3629c83..ec7ea61 100644
--- a/android/main.c
+++ b/android/main.c
@@ -548,7 +548,7 @@ int main(int argc, char **argv)
}
/* If -system <name> is used, use it to find the initial image */
- if (opts->sysdir != NULL) {
+ if (opts->sysdir != NULL && !path_exists(opts->system)) {
initImage = _getFullFilePath(opts->sysdir, opts->system);
} else {
initImage = ASTRDUP(opts->system);