GVKun编程网logo

Android Studio中Build Output乱码的解决方法(android studio中build报错)

11

如果您想了解AndroidStudio中BuildOutput乱码的解决方法的相关知识,那么本文是一篇不可错过的文章,我们将对androidstudio中build报错进行全面详尽的解释,并且为您提供

如果您想了解Android Studio中Build Output乱码的解决方法的相关知识,那么本文是一篇不可错过的文章,我们将对android studio中build报错进行全面详尽的解释,并且为您提供关于android studio build乱码处理、Android studio build项目问题、Android Studio Error:Execution failed for task '':app:preDebugAndroidTestBuild''. 彻底解决的方法以及修...、Android studio flutter build时Termial输出乱码的有价值的信息。

本文目录一览:

Android Studio中Build Output乱码的解决方法(android studio中build报错)

Android Studio中Build Output乱码的解决方法(android studio中build报错)

  我baidu了一下,有人说可以修改Android Studio安装目录的Bin文件夹下的studio64.exe.vmoptions文件,在最后一行加上-Dfile.encoding=UTF-8(Android Studio Build Output 中文乱码解决办法 - 简书 (jianshu.com)),我是win10的电脑,所有的安装都是按默认的来, Android Studio的版本是

Android Studio Bumblebee | 2021.1.1 Patch 3
Build #AI-211.7628.21.2111.8309675, built on march 17, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 1280M
Cores: 4
Registry: external.system.auto.import.disabled=true

,我修改这个文件时候,提示不能访问:

 

   我这边摸索了一下,是通过Android Studio的菜单设置解决的,点击Help->Edit Custom VM Options,按提示操作,将所需配置写入,再重启一下就OK了。

 

android studio build乱码处理

android studio build乱码处理

android studio build乱码处理

找到虚拟机配置

增加utf8编码标识 -Dfile.encoding=UTF-8

然后重启 ,就正常了

Android studio build项目问题

Android studio build项目问题

Error:Execution failed for task '':app:transformClassesWithPreJackPackagedLibrariesForDebug''.
> java.lang.NullPointerException

Android Studio Error:Execution failed for task '':app:preDebugAndroidTestBuild''. 彻底解决的方法以及修...

Android Studio Error:Execution failed for task '':app:preDebugAndroidTestBuild''. 彻底解决的方法以及修...

Error

Error:Execution failed for task '':app:preDebugAndroidTestBuild''. > 
Conflict with dependency ''com.android.support:support-annotations'' in project '':app''. 
Resolved versions for app (26.1.0) and test app (27.1.1) differ. 
See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

问题说明

因为使用的依赖包版本不同的原因,所以,我们强制使用一样的版本即可解决问题

在 adroid 结点下添加下述代码

configurations.all {
    resolutionStrategy.force ''com.android.support:support-annotations:26.1.0''
}

把版本号修改一下即可

一劳永逸的办法

上面的办法在当前的项目是已经解决了的,但是,新建一个项目又会出现同样的问题,这就很烦了。

我们直接通过修改新建一个项目的模板,直接把默认的那些设置改了,即可达成一劳永逸

我的版本是 Android Studio 3.0.1 网上查找修改这些默认设置的时候,资料发现不太一样,自己摸索也是找到了关键的地方

找到路径 Android Studio的根目录\plugins\android\lib\templates\gradle-projects\NewAndroidModule\rootshared_macros.ftl 文件,上面自己需要的代码复制在 android 结点下即可

扩展,修改 buildToolVersion targetVersion gradleVersion 等默认版本

  • appcompat 版本号 -- Android Studio的根目录\plugins\android\lib\templates\gradle-projects\NewAndroidModulerecipe.xml.ftl

    <#if backwardsCompatibility!true> <dependency mavenUrl="com.android.support:appcompat-v7:25.3.1" /> </#if>

  • compileSdkVersion,buildToolsVersion,targetSdkVersion 等版本号 -- Android Studio的根目录\plugins\android\lib\templates\gradle-projects\NewAndroidModule\rootshared_macros.ftl

      android {
          compileSdkVersion 25
          <#if compareVersions(gradlePluginVersion, ''3.0.0'') lt 0>buildToolsVersion 27.0.1</#if>
    
          <#if isBaseFeature>
          baseFeature true
          </#if>
    
          defaultConfig {
          <#if hasApplicationId>
              applicationId "${applicationId}"
          </#if>
              minSdkVersion <#if minApi?matches("^\\d+$")>${minApi}<#else>''${minApi}''</#if>
              targetSdkVersion 25
              versionCode 1
              versionName "1.0"
    

小工具(懒人必备)

AlterASDefaultSetting

Android studio flutter build时Termial输出乱码

Android studio flutter build时Termial输出乱码

Android studio Flutter build时控制台输出乱码

  • 修复控制台编码
  • 修复Android gradle输出编码
  • 修复flutter gradle编码
  • 最终解决问题

修复控制台编码

Windows 默认的中文编码是GBK,这个时候输出非GBK的编码就会出现乱码的情况

所以要先更改控制台的编码

image-20210326180620634

双击Shift,搜索vmoptions,选择Edit Custom VM Options添加下面一行

-Dfile.encoding=UTF-8

重启Android Studio生效才会

修复Android gradle输出编码

在Android项目app文件夹下的build.gradle里设置输出编码

image-20210326180950685

代码如下:

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

修复Flutter gradle编码

这个时候,把编码都改成了UTF-8依然不管用,依然会出现乱码的情况

image-20210326181445833

image-20210326181619884

观察发现,这些输出应该都是来自gradle的输出,我们gradle的输出按照前两步已经改成了UTF-8

先在Terminal里执行下面的命令,把控制台的编码设置成utf-8

chcp 65001

然后再去执行之前的打包命令,发现还是有乱码

image-20210326182613476

这就很奇怪GBK的936是乱码的,UTF-8的65001也是乱码的,我们重定向一下保存输出,判别一下保存的文件的编码

image-20210326183005923

然后,重定向失效了,只是把命令输出保存到了文件里,乱码依然是在Terminal里输出的

这是终端Terminal

这是文件的输出

我很奇怪,于是就用了真正的独立终端(cmd)来运行命令,先把编码改成UTF-8,chcp 65001

经过尝试我发现了,乱码的信息是以错误信息的形式传出来的,所以还要一起把错误信息页一起重定向到输出文件里

Flutter build apk --target-platform android-arm,android-arm64 --split-per-abi 1> output.txt 2>output.err 

尝试把UTF-8编码的文件换成GBK编码

这是我挑出来的唯一能看懂的语言。。。我也是见过锟斤拷的人了

去Android 原生文件夹用gradle打包果然也是乱码,说明输出的问题没有解决,还是输出的编码UTF-8

最终解决问题

配置完前两步之后清除Android studio的缓存就行了

Invalidate and Restart

百无聊赖找不到原因的时候,重启了一下Android Studio,突然想起来是因为内存缓存才需要重启的,那么

清空缓存之后重启

清空缓存界面

果不其然,所有的问题迎刃而解,这里不得不说一下,刚在直接改成GBK的"注"和":"显示的居然是对的

image-20210326194732633

今天的关于Android Studio中Build Output乱码的解决方法android studio中build报错的分享已经结束,谢谢您的关注,如果想了解更多关于android studio build乱码处理、Android studio build项目问题、Android Studio Error:Execution failed for task '':app:preDebugAndroidTestBuild''. 彻底解决的方法以及修...、Android studio flutter build时Termial输出乱码的相关知识,请在本站进行查询。

本文标签: