放在 sd 卡中的好处:
1,卸载或更新包以后不需要重新下载扩展包资源
2,应用的空间是有限的,如果空间不够,可能导致下载失败,但如果扩展包资源放在 sd 卡上面,则没有大小限制
CCFileUtils::sharedFileUtils()->getWritablePath() 默认为 /data/data/projName/
cocos2dx/platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxHelper.h
的 std::string getFileDirectoryJNI() 方法通过 jni 调用
cocos2dx/platform/android/java/src/org.cocos2dx.lib.Cocos2dxHelper.getCocos2dxWritablePath() 获取
具体"路径str" 在org.cocos2dx.lib.Cocos2dxHelper.init() 中
edit line:70
Cocos2dxHelper.sFileDirectory = pContext.getFilesDir().getAbsolutePath();//设置
to
/* 方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于 Environment.MEDIA_MOUNTED */
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
Cocos2dxHelper.sFileDirectory = Environment.getExternalStorageDirectory()+"/"+applicationInfo.packageName;
}