Android 库向量转换为默认混淆的 png 和 Kotlin 文件
Android library vector converted to png and Kotlin files obfuscated by default
我刚刚使用 Android Studio(AS) 创建了一个新的 android 项目。我添加了一个带有矢量可绘制对象的 library module
和一个带有注释的 Kotlin 文件。
我 运行 assemble 发布并生成一个 aar
文件。
我用 AS 反编译器打开这个 aar 发布文件,我看到矢量文件被转换为 png 用于不同的可绘制对象,Kotlin 文件被混淆并显示 compiled code
。
原始xml矢量文件只能在目录drawable-anydpi-v24
中找到
如何为我的库模块禁用 vector to png
和 file obfuscation
?
我有默认值build.gradle:minifyEnabled false
(我已经知道 org.jetbrains.dokka
所以请不要说只是使用它)
感谢@Gustavo 在我的问题中的评论,我开始调查更多关于生成的 png 文件的问题。
我有 min sdk 21,我也尝试了 22,结果相同。
然后在玩了一些矢量之后,我发现导致我的问题的是 属性 android:fillType="evenOdd"
我测试了这个 属性 和没有它,我得到了这两个结果:
来源xml:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="80dp"
android:height="228dp"
android:alpha="0.81"
android:viewportWidth="99"
android:viewportHeight="284">
<path
android:fillAlpha="0.9"
android:fillColor="#33B8E3"
android:strokeLineJoin="round"
android:strokeLineCap="round"
android:strokeColor="#000"
android:strokeAlpha="0.9"
android:strokeWidth="1"
android:fillType="evenOdd" // removing this line
android:pathData="M49.5 112.842c25.366 0 48.654-27.702 48.654-57.745C98.154 25.054 76.371 0.7 49.5 0.7 22.63 0.7 0.846 25.054 0.846 55.097s23.287 57.745 48.654 57.745z" />
</vector>
我得到了 aar 构建的这两个结果:
没有填充类型值
填充类型值
之后我找到这个question in Whosebug
我将minSdk
设置为24后,不再生成png文件了。
我目前无法使用如此低的 minSdk,但至少我知道是什么原因造成的。
我刚刚使用 Android Studio(AS) 创建了一个新的 android 项目。我添加了一个带有矢量可绘制对象的 library module
和一个带有注释的 Kotlin 文件。
我 运行 assemble 发布并生成一个 aar
文件。
我用 AS 反编译器打开这个 aar 发布文件,我看到矢量文件被转换为 png 用于不同的可绘制对象,Kotlin 文件被混淆并显示 compiled code
。
原始xml矢量文件只能在目录drawable-anydpi-v24
如何为我的库模块禁用 vector to png
和 file obfuscation
?
我有默认值build.gradle:minifyEnabled false
(我已经知道 org.jetbrains.dokka
所以请不要说只是使用它)
感谢@Gustavo 在我的问题中的评论,我开始调查更多关于生成的 png 文件的问题。
我有 min sdk 21,我也尝试了 22,结果相同。
然后在玩了一些矢量之后,我发现导致我的问题的是 属性 android:fillType="evenOdd"
我测试了这个 属性 和没有它,我得到了这两个结果:
来源xml:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="80dp"
android:height="228dp"
android:alpha="0.81"
android:viewportWidth="99"
android:viewportHeight="284">
<path
android:fillAlpha="0.9"
android:fillColor="#33B8E3"
android:strokeLineJoin="round"
android:strokeLineCap="round"
android:strokeColor="#000"
android:strokeAlpha="0.9"
android:strokeWidth="1"
android:fillType="evenOdd" // removing this line
android:pathData="M49.5 112.842c25.366 0 48.654-27.702 48.654-57.745C98.154 25.054 76.371 0.7 49.5 0.7 22.63 0.7 0.846 25.054 0.846 55.097s23.287 57.745 48.654 57.745z" />
</vector>
我得到了 aar 构建的这两个结果:
没有填充类型值
填充类型值
之后我找到这个question in Whosebug
我将minSdk
设置为24后,不再生成png文件了。
我目前无法使用如此低的 minSdk,但至少我知道是什么原因造成的。