在Eclipse中的ProGuard Obfuscation之后,不会加载Google地图

Ana*_*rca 7 android

我正在开发一个使用谷歌地图的应用程序.应用程序工作正常,直到我导出已签名的应用程序包.代码被混淆后,不再加载地图.我是ProGuard的新手,我试过修改proguard.cfg,但是没什么用了.以下是我尝试过的一些不同的事情:

-libraryjars C:/Program Files/Android/android-sdk/add-ons/addon-google_apis-google_inc_-10/libs/maps.jar

-keep class android.location.** { *; }

-keepnames class com.google.android.maps.** {*;}
-keep public class com.google.android.maps.** {*;}

-dontwarn com.google.android.maps.GeoPoint
-dontwarn com.google.android.maps.MapActivity
-dontwarn com.google.android.maps.MapView
-dontwarn com.google.android.maps.MapController 
-dontwarn com.google.android.maps.Overlay
Run Code Online (Sandbox Code Playgroud)

谢谢

tri*_*out 14

编辑:对于适用于Android V2的Google地图,具体为:

万一有人看到这个并且有类似的问题 - Parcelable RuntimeException当我试图查看第二个地图时(例如,Activity A有一个地图实例,然后移动到Activity B另一个具有不同参数的实例),我指的是我假设的是谷歌包中一个混淆的类名.

我加了之后

-keep class com.google.android.gms.maps.** { *; }
-keep interface com.google.android.gms.maps.** { *; }
Run Code Online (Sandbox Code Playgroud)

对于我的proguard-project.txt,一切似乎都在正常工作


Kar*_*hik 10

它很可能是Maps API密钥的问题.您应该在导出应用程序时生成带有签名的密钥,并在地图视图中使用它.
使用ProGuard进行混淆不太可能影响地图渲染.