void avdInfo_free( AvdInfo* i ) { if (i) { int nn; for (nn = 0; nn < AVD_IMAGE_MAX; nn++) AFREE(i->imagePath[nn]); AFREE(i->skinName); AFREE(i->skinDirPath); AFREE(i->coreHardwareIniPath); fileData_done(i->buildProperties); fileData_done(i->bootProperties); for (nn = 0; nn < i->numSearchPaths; nn++) AFREE(i->searchPaths[nn]); i->numSearchPaths = 0; if (i->configIni) { iniFile_free(i->configIni); i->configIni = NULL; } if (i->skinHardwareIni) { iniFile_free(i->skinHardwareIni); i->skinHardwareIni = NULL; } if (i->rootIni) { iniFile_free(i->rootIni); i->rootIni = NULL; } AFREE(i->contentPath); // Add for device target infromation AFREE(i->contentTarget); AFREE(i->sdkRootPath); AFREE(i->targetArch); AFREE(i->targetAbi); if (i->inAndroidBuild) { AFREE(i->androidOut); AFREE(i->androidBuildRoot); } AFREE(i->deviceName); AFREE(i); } }
char* path_getBuildTargetArch(const char* androidOut) { char* buildPropPath = path_getBuildBuildProp(androidOut); if (!buildPropPath) { return NULL; } FileData buildProp[1]; fileData_initFromFile(buildProp, buildPropPath); char* ret = propertyFile_getTargetArch(buildProp); fileData_done(buildProp); AFREE(buildPropPath); return ret; }