android - unity native plugin-Content is not allowed in prolog
问题描述
我为统一创建了一个 android 本机库,它是一个在统一游戏屏幕上显示屏幕的片段。
一切正常,但现在我正在尝试将自定义字体添加到我的 android 库布局中。但是通过将任何新字体添加到android库中'res'文件夹下的字体文件夹并导出到arr文件,我在尝试构建和运行时统一收到此错误:
错误文字:
CommandInvokationFailure:Gradle 构建失败。C:/Program Files/Java/jdk1.8.0_211\bin\java.exe -classpath "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.4.jar " org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" "assembleRelease"
标准错误[
FAILURE:构建失败并出现异常。
出了什么问题:任务':unity-android-resources:packageReleaseResources'执行失败。
C:\Users\Shetab\Documents\UnityPlugin\Temp\gradleOut\unity-android-resources\res\font\bahush.TTF:1:1:错误:prolog 中不允许内容。
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
在https://help.gradle.org获得更多帮助
BUILD FAILED in 7s ] stdout[ NDK 缺少“平台”目录。如果您使用的是 NDK,请验证 ndk.dir 是否设置为有效的 NDK 目录。当前设置为 C:\sdk\ndk-bundle。如果您不使用 NDK,请从 ANDROID_NDK_HOME 或 local.properties 中取消设置 NDK 变量以删除此警告。
观察到的包 id 'build-tools;29.0.0-rc2' 在不一致的位置'C:\sdk\29.0.0-rc2' (预期的'C:\sdk\build-tools\29.0.0-rc2')观察到的包id 'tools' 在不一致的位置 'C:\sdk\toolsXXXX' (预期的 'C:\sdk\tools') 已经在 'C:\sdk\tools' 中观察到包 id 'tools'。在 'C:\sdk\toolsXXXX' NDK 跳过重复项缺少“平台”目录。如果您使用的是 NDK,请验证 ndk.dir 是否设置为有效的 NDK 目录。当前设置为 C:\sdk\ndk-bundle。如果您不使用 NDK,请从 ANDROID_NDK_HOME 或 local.properties 中取消设置 NDK 变量以删除此警告。
CompileOptions.bootClasspath 属性已被弃用,并计划在 Gradle 5.0 中删除。请改用 CompileOptions.bootstrapClasspath 属性。setTestClassesDir(File) 方法已被弃用,并计划在 Gradle 5.0 中删除。请改用 setTestClassesDirs(FileCollection) 方法。getTestClassesDir() 方法已被弃用,并计划在 Gradle 5.0 中删除。请改用 getTestClassesDirs() 方法。ConfigurableReport.setDestination(Object) 方法已被弃用,并计划在 Gradle 5.0 中删除。请改用 ConfigurableReport.setDestination(File) 方法。:preBuild UP-TO-DATE :preReleaseBuild UP-TO-DATE :checkReleaseManifest :preDebugBuild UP-TO-DATE :prepareUnitylibraryDebugLibrary : generateReleaseResources :unity-android-resources:packageReleaseResources C:\Users\Shetab\Documents\UnityPlugin\Temp\gradleOut\unity-android-resources\res\font\bahush.TTF:1:1: 错误:序言中不允许内容. :unity-android-resources:packageReleaseResources FAILED 13 个可操作任务:12 个已执行,1 个最新] 退出代码:1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System .String errorMsg) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System 。行动 packageReleaseResources C:\Users\Shetab\Documents\UnityPlugin\Temp\gradleOut\unity-android-resources\res\font\bahush.TTF:1:1:错误:prolog 中不允许内容。:unity-android-resources:packageReleaseResources FAILED 13 个可操作任务:12 个已执行,1 个最新] 退出代码:1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System .String errorMsg) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System 。行动 packageReleaseResources C:\Users\Shetab\Documents\UnityPlugin\Temp\gradleOut\unity-android-resources\res\font\bahush.TTF:1:1:错误:prolog 中不允许内容。:unity-android-resources:packageReleaseResources FAILED 13 个可操作任务:12 个已执行,1 个最新] 退出代码:1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System .String errorMsg) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System 。行动 错误:prolog 中不允许有内容。:unity-android-resources:packageReleaseResources FAILED 13 个可操作任务:12 个已执行,1 个最新] 退出代码:1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System .String errorMsg) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System 。行动 错误:prolog 中不允许有内容。:unity-android-resources:packageReleaseResources FAILED 13 个可操作任务:12 个已执行,1 个最新] 退出代码:1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System .String errorMsg) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System 。行动
1 progress, System.String error) UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action
1个进度)作为GradleInvokationException重新抛出:Gradle构建失败UnityEditor.Android.GradleWrapper.Run(System.String workingdir,System.String任务,System.Action`1个进度)UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute(UnityEditor.Android .PostProcessor.PostProcessorContext 上下文) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext 上下文) UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()
解决方案
res/font
在这种情况下,无法从文件夹中获取自定义字体。为此,您必须将字体保存在 androidassets
文件夹中并在代码中以编程方式加载它:
TextView tx = (TextView)findViewById(R.id.textview1);
Typeface custom_font = Typeface.createFromAsset(getAssets(), "fonts/abc.ttf");
tx.setTypeface(custom_font);
推荐阅读
- r - How to plot bar chart grouped by secondary variable in R?
- laravel - 将 Laravel 5.4 Web App 添加到移动设备主屏幕
- javascript - 更改或覆盖 JavaScript 函数
- mongodb - 如何使用多个索引将数据导入mongodb
- javascript - 在 onKeyboardShow 函数内部更改值时,Ionic 3 输入集未触发
- shell - 切割的管道输出
- python - Python:努力掩盖数据集的一部分
- javascript - 仅在一个组件中调用方法
- sql - 使用多个左连接将行连接成一个
- c# - 401 未授权 System.Net.CredentialCache.DefaultCredentials