虚幻4中安卓sdk的接入,可以使用 APL (Android Programming Language) 进行第三方库的接入,首先创建一个.XML 文件,该文件包括了库文件的拷贝、权限的写入、activity java文件的修改和添加等一系列android打包和接口修改的内容。不再需要手动去修改代码或者Java层的文件和代码调用接口。
1.创建一个插件并在插件Source目录下创建一个.XML文件,在该插件模块.Build.cs文件中调用如下:
public class PluginModuleName : ModuleRules
{
public PluginModuleNamePluginModuleName(TargetInfo Target)
{
// Additional Frameworks and Libraries for Android
if (Target.Platform == UnrealTargetPlatform.Android)
{
PrivateDependencyModuleNames.AddRange(new string[] { "Launch" });
string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, BuildConfiguration.RelativeEnginePath);
AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(PluginPath, "NAME_APL.XML")));
}
}
}
2.项目中加载该模块
包含头文件目录, 把插件Type改成Runtime(这个貌似很关键,之前没注意)
//所有路径的列表,包含公开给其他模块的文件
PublicIncludePaths.AddRange(
new string[] {
"PluginModuleName/Public",
}
);
//通向此模块内部包含文件的所有路径的列表,不向其他模块公开(至少有一个包含到“Private”路径,如果要避免相对路径,则会更多)
PrivateIncludePaths.AddRange(
new string[] {
"PluginModuleName/Private",
}
);
//公共依赖性模块名称的列表(不需要路径)(自动执行私有/公共包含)。这些是我们的公共源文件所需要的模块
PublicDependencyModuleNames.AddRange(new string[] { &