【问题标题】:unity native plugin-Content is not allowed in prologunity native plugin-Content is not allowed in prolog
【发布时间】:2019-06-17 12:02:48
【问题描述】:

我为 unity 创建了一个 android 本机库,它是一个在 unity 游戏屏幕上显示屏幕的片段。

一切正常,但现在我正在尝试将自定义字体添加到我的 android 库布局中。但是通过将任何新字体添加到android库中'res'文件夹下的字体文件夹并导出到arr文件,我在尝试构建和运行时统一收到此错误:

错误文本:

CommandInvokationFailure:Gradle 构建失败。 C:/程序 文件/Java/jdk1.8.0_211\bin\java.exe -classpath "C:\Program 文件\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.4.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx2048m" “组装发布”

标准错误[

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获得更多帮助

在 7 秒内构建失败] stdout[ NDK 缺少“平台”目录。 如果您使用的是 NDK,请验证 ndk.dir 是否设置为有效的 NDK 目录。当前设置为 C:\sdk\ndk-bundle。如果你不是 使用 NDK,从 ANDROID_NDK_HOME 或取消设置 NDK 变量 local.properties 删除此警告。

在不一致的位置观察到包 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 捆绑包。如果您不使用 NDK,请取消设置 NDK 变量 从 ANDROID_NDK_HOME 或 local.properties 删除此警告。

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 最新:preReleaseBuild 最新:checkReleaseManifest :preDebugBuild UP-TO-DATE :prepareUnitylibraryDebugLibrary :unity-android-resources:preBuild UP-TO-DATE :unity-android-resources:preReleaseBuild UP-TO-DATE :unity-android-resources:checkReleaseManifest :unity-android-resources:prepareReleaseDependencies :unity-android-resources:compileReleaseAidl :unity-android-resources:compileReleaseNdk 无源 :unity-android-resources:compileLint :unity-android-resources:copyReleaseLint 无源 :unity-android-resources:mergeReleaseShaders :unity-android-resources:compileReleaseShaders :unity-android-resources:generateReleaseAssets :unity-android-resources:mergeReleaseAssets :unity-android-resources:mergeReleaseProguardFiles UP-TO-DATE :unity-android-resources:packageReleaseRenderscript 无源 :unity-android-resources:compileReleaseRenderscript :unity-android-resources:generateReleaseResValues :unity-android-resources:generateReleaseResources :unity-android-resources: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.Action1 progress, System.String error) UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action1 进度)作为 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.RunAllTask​​s (UnityEditor.Android.PostProcessor.PostProcessorContext 上下文) UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

【问题讨论】:

    标签: android unity3d


    【解决方案1】:

    在这种情况下,无法从 res/font 文件夹中获取自定义字体。 为此,您必须将字体保存在 android assets 文件夹中并以编程方式将其加载到您的代码中:

       TextView tx = (TextView)findViewById(R.id.textview1);
    
       Typeface custom_font = Typeface.createFromAsset(getAssets(),  "fonts/abc.ttf");
    
       tx.setTypeface(custom_font);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      相关资源
      最近更新 更多