统一本地插件-序言中不允许使用内容

时间:2019-06-17 12:02:48

标签: android unity3d

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

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

enter image description here

错误文字:

  

CommandInvokationFailure:Gradle构建失败。 C:/程序   文件/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”

     

stderr [

     

失败:构建失败,并出现异常。

     
      
  • 出了什么问题:任务':unity-android-resources:packageReleaseResources'的执行失败。

         
        

    C:\ Users \ Shetab \ Documents \ UnityPlugin \ Temp \ gradleOut \ unity-android-resources \ res \ font \ bahush.TTF:1:1:     错误:序言中不允许包含内容。

      
  •   
  • 尝试:使用--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')   在不一致的位置观察到的软件包标识“工具”   '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   UP-TO-DATE:preReleaseBuild UP-TO-DATE:checkReleaseManifest   :preDebugBuild UP-TO-DATE:prepareUnitylibraryDebugLibrary   :unity-android-resources:preBuild截至日期   :unity-android-resources:preReleaseBuild截至日期   :unity-android-resources:checkReleaseManifest   :unity-android-resources:prepareReleaseDependencies   :unity-android-resources:compileReleaseAidl   :unity-android-resources:compileReleaseNdk NO-SOURCE   :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截止日期   :unity-android-resources:packageReleaseRenderscript NO-SOURCE   :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:   错误:序言中不允许包含内容。   :unity-android-resources:packageReleaseResources失败13可采取行动   任务:已执行12个,最新1个]退出代码:1   UnityEditor.Android.Command.WaitForProgramToRun   (UnityEditor.Utils.Program p,   UnityEditor.Android.WaitingForProcessToExit等待ForProcessToExit,   System.String errorMsg)UnityEditor.Android.Command.Run   (System.Diagnostics.ProcessStartInfo psi,   UnityEditor.Android.WaitingForProcessToExit等待ForProcessToExit,   System.String errorMsg)UnityEditor.Android.AndroidJavaTools.RunJava   (System.String参数,System.String工作目录,System.Action 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.RunAllTask​​s   (UnityEditor.Android.PostProcessor.PostProcessorContext上下文)   UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

1 个答案:

答案 0 :(得分:0)

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

   TextView tx = (TextView)findViewById(R.id.textview1);

   Typeface custom_font = Typeface.createFromAsset(getAssets(),  "fonts/abc.ttf");

   tx.setTypeface(custom_font);