百度地图开发:签名,混淆,32位和64位相关

Posted 数学,矩阵,算法——图像处理

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度地图开发:签名,混淆,32位和64位相关相关的知识,希望对你有一定的参考价值。

1. 签名相关: keystore, platform.pk8

《把Android源码中的秘钥对转换为keystore的方法》

《Android签名机制之一——签名过程详解》

 

2. 混淆相关

因为外网限制等原因,我是在工程下mm编译的apk,安装开启应用的时候发现报了很多baidumap相关类找不到method的错误。出现这一错误的原因是因为工程编译通过mk文件开启了混淆,我们需要手动将baidumap相关类忽略掉。

proguard.flags

# Required for ActionBarSherlock
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }
-keepattributes *Annotation*

-libraryjars libs/baidumap/BaiduLBS_Android.jar
#-dontwarn com.baidu.mapapi.** 
#-dontwarn com.baidu.**
#-dontwarn vi.com.gdi.bgl.**
-keep class com.baidu.mapapi.** { *; } 
-keep public class * extends com.baidu.mapapi.** 
-keep class com.baidu.** { *; } 
-keep public class * extends com.baidu.** 
-keep class vi.com.gdi.bgl.** { *; }
-keep public class * extends vi.com.gdi.bgl.**

《Android proguard.flags》

3. Android.mk文件

##################################################
include $(CLEAR_VARS) 
LOCAL_MODULE := libBaiduMapSDK_map_v3_7_1
LOCAL_MODULE_TAGS := optional

ifeq ($(strip $(TARGET_ARCH)),arm64)
    LOCAL_SRC_FILES := libs/armeabi64/libBaiduMapSDK_map_v3_7_1.so
else
    LOCAL_SRC_FILES := libs/armeabi/libBaiduMapSDK_map_v3_7_1.so
endif

LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so 
include $(BUILD_PREBUILT)
##################################################

 

以上是关于百度地图开发:签名,混淆,32位和64位相关的主要内容,如果未能解决你的问题,请参考以下文章

64位和32位是啥?

如何使代码兼容 32 位和 64 位

32位和64位dll判断

smartgit分64位和32位吗

如何在我的应用程序中包含 64 位和 32 位本机代码

Studio创建64位和32位项目有啥区别