gpt4 book ai didi

android - Android 上的 proguard 后离线 map 卡住应用程序

转载 作者:太空狗 更新时间:2023-10-29 13:23:39 26 4
gpt4 key购买 nike

我有一个使用 nutiteq OSM map 的 Android 应用程序,带有 mapsforge 渲染器和一个存储在 Assets 文件夹中的 map 文件。它在没有 proguard 的情况下运行完美,但在混淆之后,应用程序卡住,没有任何日志信息。

在 proguard.cfg 中:

-保持类 com.nutiteq.** { ; }-保持类 org.mapsforge.* { *;

但即使我保留了包中的所有代码,也无济于事。

有什么想法吗?

谢谢

索斯

更新

没有不相关的信息。

proguard.cfg:

-printmapping proguard.map

-keepattributes SourceFile,LineNumberTable,*Annotation*,Signature

#-optimizationpasses 5
-dontpreverify

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers

-libraryjars /libs/mapsforge-map-0.3.1-with-dependencies.jar
-libraryjars /libs/nineoldandroids-2.4.0.jar
-libraryjars /libs/nutiteq-3d-sdk-2.3.0.jar

-verbose

#Libraries
-keep class com.google.protobuf.** { *; }
-keep class com.nutiteq.** { *; }
-keep class org.mapsforge.** { *; }
-keep class mypackage.util.MapsforgeRasterDataSource.** { *; }

最佳答案

您使用的是 nutiteq 和 mapsforge 的源代码,还是 jar 文件?如果您使用的是 jar 文件,则可以在 proguard 中将它们定义为 libraryjar 而不是 injar。一个例子:

proguard.cfg
-injars build\myproject.jar
-injars build\myOtherProject.jar
-outjars proguard\obfuscated
-libraryjars nutiteq.jar
-libraryjars mapsforge.jar
...
...
...

通过这种方式,proguard 可以跟踪您的代码对第三方库的引用,但不会费心尝试对它们进行不必要的混淆。

关于android - Android 上的 proguard 后离线 map 卡住应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24806074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com