in Facebook.Unity.Editor/FacebookBuild.cs [68:120]
public static string ExportPackage()
{
Debug.Log("Exporting Facebook Unity Package...");
string path = OutputPath;
try
{
if (!File.Exists(Path.Combine(Application.dataPath, "Temp")))
{
AssetDatabase.CreateFolder("Assets", "Temp");
}
AssetDatabase.MoveAsset(SDKPath + "Resources/FacebookSettings.asset", "Assets/Temp/FacebookSettings.asset");
AssetDatabase.DeleteAsset(PluginsPath + "Android/AndroidManifest.xml");
AssetDatabase.DeleteAsset(PluginsPath + "Android/AndroidManifest.xml.meta");
string[] facebookFiles = (string[])Directory.GetFiles(FacebookPath, "*.*", SearchOption.TopDirectoryOnly);
string[] sdkFiles = (string[])Directory.GetFiles(SDKPath, "*.*", SearchOption.AllDirectories);
string[] exampleFiles = (string[])Directory.GetFiles(ExamplesPath, "*.*", SearchOption.AllDirectories);
string[] pluginsFiles = (string[])Directory.GetFiles(PluginsPath, "*.*", SearchOption.AllDirectories);
string[] playServicesResolverFiles = (string[])Directory.GetFiles(PlayServicesResolverPath, "*.*",
SearchOption.AllDirectories);
string[] streamingAssetsFiles = (string[])Directory.GetFiles(StreamingAssetsPath, "*.*", SearchOption.AllDirectories);
string[] files = new string[facebookFiles.Length + sdkFiles.Length + exampleFiles.Length +
pluginsFiles.Length + playServicesResolverFiles.Length + streamingAssetsFiles.Length];
facebookFiles.CopyTo(files, 0);
sdkFiles.CopyTo(files, facebookFiles.Length);
exampleFiles.CopyTo(files, sdkFiles.Length + facebookFiles.Length);
pluginsFiles.CopyTo(files, sdkFiles.Length + facebookFiles.Length + exampleFiles.Length);
playServicesResolverFiles.CopyTo(files, sdkFiles.Length + facebookFiles.Length + exampleFiles.Length + pluginsFiles.Length);
streamingAssetsFiles.CopyTo(files, sdkFiles.Length + facebookFiles.Length + exampleFiles.Length + pluginsFiles.Length + playServicesResolverFiles.Length);
AssetDatabase.ExportPackage(
files,
path,
ExportPackageOptions.IncludeDependencies | ExportPackageOptions.Recurse);
}
finally
{
// Move files back no matter what
AssetDatabase.MoveAsset("Assets/Temp/FacebookSettings.asset", SDKPath + "Resources/FacebookSettings.asset");
AssetDatabase.DeleteAsset("Assets/Temp");
// regenerate the manifest
ManifestMod.GenerateManifest();
}
Debug.Log("Finished exporting!");
return path;
}