为了获得更好的体验,小编将电脑系统升级到了win10正式版。不过,最近小编在使用win10系统时遇到了无法删除.android文件夹的情况。经常一番研究,终于发现了该问题的原因和具体解决方法。接下来,就分享给大家!
出现这样的情况是由于Android studio(安卓开发环境) 和里面的avd(安卓虚拟设备),autoruns 找找是什么开机启动创建的,去掉它安装类unix命名习惯,以.开头的文件或者文件夹应该是隐藏文件。楼主隐藏掉然后文件夹不显示隐藏文件。
出现该文件夹一般都是由于电脑中安装了一些软件导致的,如小编在电脑中安装了flashTool软件之后便会出现.android文件夹。
在使用 quick-cocos2d-x 做项目热更新的时候,我需要建立临时文件夹以保存下载的更新包。在更新完成后,我需要删除这些临时文件和文件夹。
cocos2d-x 和 quick-cocos2d-x 都没有提供删除文件夹功能。我做了如下2个尝试:
1. 使用C++
在 cocos2d-x 2.x 中的 AssetsManager 包中提供了一个 CreateDirectory 方法。这个方法可以跨平台支持创建文件夹。在实际项目中运行没有问题。
bool AssetsManager::createDirectory(const char *path)
{
#if (CC_TARGET_PLATFORM != CC_PLATFORM_WIN32)
mode_t processMask = umask(0);
int ret = mkdir(path, S_IRWXU | S_IRWXG | S_IRWXO);
umask(processMask);
if (ret != 0 && (errno != EEXIST))
{
return false;
}
return true;
#else
BOOL ret = CreateDirectoryA(path, NULL);
if (!ret && ERROR_ALREADY_EXISTS != GetLastError())
{
return false;
}
return true;
#endif
}
在 cocos2d-x 2.x 的 AssetsManager sample 范例中提供了一个 reset 方法,这个方法使用系统命令递归删除文件夹。
void UpdateLayer::reset(cocos2d::CCObject *pSender)
{
pProgressLabel->setString(" ");
// Remove downloaded files
#if (CC_TARGET_PLATFORM != CC_PLATFORM_WIN32)
string command = "rm -r ";
// Path may include space.
command += "\"" + pathToSave + "\"";
system(command.c_str());
#else
string command = "rd /s /q ";
// Path may include space.
command += "\"" + pathToSave + "\"";
system(command.c_str());
#endif
// Delete recorded version codes.
getAssetsManager()->deleteVersion();
createDownloadedDir();
}
但是,这个 reset 在 ios 模拟器中运行的时候,xcode会报这样的warinng。
除此之外,用户们可以还可以通过pe来进行删除。
windows10系统删除.android文件夹的方法就介绍完了。希望本教程能够帮助到所有有需要的朋友们!