百度地图开发(2):签名,混淆,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)
##################################################

上面这段进行的是预编译,出来的so与原先第三方提供过来的so内容不变。 

 

posted on 2016-03-30 18:07  Matrixin  阅读(548)  评论(0编辑  收藏  举报

导航