Whenever I try to open a file in user:// for writing on android, I get the error number 12 back (that's Error::ERR_FILE_CANT_OPEN). This works fine on linux.
What am I missing, or is the engine bugged for file io in android?
(I've tested this with a fresh compile of 2.0.4.1-stable, as well as with my previous 2.0-based expanded builds).
Here's a minimal working (well, not working on android) example:
extends Node
func _ready():
var dir = Directory.new()
var dir_name = "test-dir"
var filename = "test_file.txt"
var user_dir = "user://" + dir_name
print( "User directory: " + user_dir )
if( !dir.dir_exists( OS.get_data_dir() + "/" + dir_name ) ):
print( user_dir + " doesn't exist." )
dir.make_dir_recursive( OS.get_data_dir() + "/" + dir_name )
else:
print( user_dir + " exists." )
var fp_user = File.new()
# Neither of the following lines work
# var err = fp_user.open( OS.get_data_dir() + "/" + dir_name + "/" + filename, File.WRITE )
var err = fp_user.open( user_dir + "/" + filename, File.WRITE )
print( user_dir + "/" + filename + " opened." )
print( "fp_user error code: " + str(err) )
fp_user.store_line( "This is a test file." )
print( filename + " written." )
fp_user.close()