Xia*_*wei 21 java android java-compiler-api android-studio
当我在android studio中清理android项目时,错误发生了,我已经支持到之前的提交或不同的分支,它可以在几天前查找,但现在有这个错误.我已经检查了这个问题,并没有为我的项目添加大图像或字符串.STRING_TOO_LARGE Kothlin中的字符串
ste*_*ker 16
目前,您可以降级Gradle版本以解决此问题.使用gradle 3.1版本,如下面的3.1.3.
classpath 'com.android.tools.build:gradle:3.1.3'
Run Code Online (Sandbox Code Playgroud)
小智 15
碰巧我的 SVG 太长了(90Kb)。因此,我在 Adobe illustrator 中打开了 de SVG,简化了大量矢量的路径,因此新图标重量为 3Kb,最后再次导入到 Android Studio 中。
您可以在 Android Studio 中查看您的项目,并观察您的 SVG 可绘制对象是否大于图标所需的大小。
Vee*_*ner 13
您可以使用 AAPT(来自 android sdk/build-tools)来检查 APK 并使用以下命令行(Linux)查找有问题的字符串:
// Linux/Mac
./aapt dump --values resources MyAppName-regular-debug.apk | grep -B 1 'STRING_TOO_LARGE'
// Windows
aapt dump --values resources MyAppName-regular-debug.apk | grep -B 1 'STRING_TOO_LARGE'
Run Code Online (Sandbox Code Playgroud)
这应该指向你的罪魁祸首。就我而言,它是:
resource 0x7f0f015a com.example.app:string/eula: t=0x03 d=0x00000f10 (s=0x0008 r=0x00)
(string8) "STRING_TOO_LARGE"
Run Code Online (Sandbox Code Playgroud)
小智 11
我被困在这个问题上并通读了这个主题,没有人提供未来的解决方案。我不想还原我的Gradle。因此,这是更新的依赖项https://github.com/stripe/stripe-android的链接。查找“ Android Studio(或Gradle)”部分,如果您要在build.gradle文件中启用缩小功能,则"implementation 'com.stripe:stripe-android:8.1.0'"还应该看到这一点"-keep class com.stripe.android.** { *; }"。
总体Stripe已停止更新其自己的“条纹文档”,可以在此处找到。为了给他们功劳,他们的文档会很有帮助,应该至少阅读一次,但是请注意,当我写这篇文章时,大多数文档已经过时了...
希望这可以帮助 :)
Mas*_*sum 10
只需在您的可绘制文件中使用<?xml version="1.0" encoding="utf-8"?>before 即可。
例子:
<?xml version="1.0" encoding="utf-8"?>
<vector
android:autoMirrored="true"
android:height="24dp"
android:viewportHeight="490.282"
android:viewportWidth="490.282"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#fff"
android:pathData="M0.043,245.197c0.6,10.1 7.3,18.6 17,21.5l179.6,54.3l6.6,123.8c0.3,4.9 3.6,9.2 8.3,10.8c1.3,0.5 2.7,0.7 4,0.7c3.5,0 6.8,-1.4 9.2,-4.1l63.5,-70.3l90,62.3c4,2.8 8.7,4.3 13.6,4.3c11.3,0 21.1,-8 23.5,-19.2l74.7,-380.7c0.9,-4.4 -0.8,-9 -4.2,-11.8c-3.5,-2.9 -8.2,-3.6 -12.4,-1.9l-459,186.8C5.143,225.897 -0.557,235.097 0.043,245.197zM226.043,414.097l-4.1,-78.1l46,31.8L226.043,414.097zM391.443,423.597l-163.8,-113.4l229.7,-222.2L391.443,423.597zM432.143,78.197l-227.1,219.7l-179.4,-54.2L432.143,78.197z"/>
</vector>
Run Code Online (Sandbox Code Playgroud)
我很长时间以来一直在寻找构建中 STRING_TOO_LARGE 错误的根源,但这些解决方案都不起作用。它们都不起作用的原因是我在调试版本中打开了 progaurd,因此当替换字符串时,它不会出现在 apk 中。当我禁用 progaurd 进行调试构建时,构建了 apk,然后按照其他地方的建议使用 apktool 进行反编译
java -jar apktool_2.4.1.jar d debug.apk
Run Code Online (Sandbox Code Playgroud)
并找到了另一个库中的 xml 文件,但 progaurd 之前已将其删除:
grep -r "STRING_TOO_LARGE" ./debug
Run Code Online (Sandbox Code Playgroud)
希望对某人有帮助
该问题是由 AAPT/AAPT2(Android 资产打包工具)引起的,该工具会处理您的 app\xe2\x80\x99s 资源,并STRING_TOO_LARGE在发现大字符串时将其替换为值。
找出导致此问题的原因。\n要找出原因,请执行以下步骤:
\nA、最好的方法:
\n
B、另一种方式
\n| 归档时间: |
|
| 查看次数: |
26302 次 |
| 最近记录: |