1. 百度地图android 用什么安全码混淆
如果您使用proguard进行混淆,请在您的混淆配置文件中添加如下语句:
-keep class com..mapapi.** {*;}
如果是用proguard ,以下配置供参考:
#-libraryjars libs/mapapi_v2_1_2.jar 替换成自己所用版本的jar包
-keep class com..** { *; }
-keep class vi.com.gdi.bgl.android.**{*;}
其他混淆工具也请进行与此类似的配置,指定对mapapi中的类和方法不进行混淆。
2. android studio 多个模块相互依赖怎么混淆
1.SDK项目多模块,编译后每个模块自己生成了1个jar包。但是需求是只对外发布一个jar包,需要进行合并多个jar包。
2.生成的jar包中因为模块引入了网络地图定位导致jar包内有不需要的asset文件杂项
3.多模块的混淆问题
3. 百度地图里的安全码包名怎么获得
现在新版本2.1.3 申请key 后需要 配置 (配置后才能使用),网络key申请后 安全码 中 数字签名 已经说的很清楚了,后面的包名 是AndroidManifest.xml中的包名(自己的包名)。
我是个新手,对新手来说,只是刚开始配置的时候,对这个包名不太理解,经验证,得到结果是自己的包名!新手路过,请大家多多关照。
对,就是说一个key只能对应一个包名,是一一对应的关系,我刚开始也不知道,到后来发现,我想重复利用这个key的时候总是说,让我确实是否KEY合法。那就是说,要想开发别的专案,就必须再申请key。网络现在申请key的时候,跟以前不一样了(老版本),现在申请的话就是要结合这个包名,来申请,他们这么设计我也不知道为啥,毕竟猜不到设计者的想法,估计是为了统计什么吧?互相探讨,一起加油!
如果您使用proguard进行混淆,请在您的混淆配置档案中新增如下语句:
-keep class ..mapapi.** {*;}
如果是用proguard ,以下配置供参考:
#-libraryjars libs/mapapi_v2_1_2.jar 替换成自己所用版本的jar包
-keep class ..** { *; }
-keep class vi..gdi.bgl.android.**{*;}
其他混淆工具也请进行与此类似的配置,指定对mapapi中的类和方法不进行混淆。
开启GPS,而且要在户外在最准确。
网络地图Android定位SDK提供GPS,基站,Wi-Fi等多种定位方式,适用于室、内外多种定位场景,具有出色的定位效能:定位精度高、覆盖率广、网路定位请求流量小、定位速度快。
android sdk安全码使使用者只需通过配置便能获得不同API/SDK产品服务,且Key“一一对应”机制,不仅保证您的应用所享有的服务资源(如服务配额,服务次数等)安全性和专属性,或选择启动关闭部分API/SDK服务,未来您还可通过Key获得VIP服务。
亲,很高兴能为你解答。网络地图定的票是安全,如果你不放心,建议你在付款的时候选用第三方支付,安全有保障。祝你旅途愉快!
不是。当前版本的网络地图里有两个基础包:
一个是离线地图里的全国基础包,那是全国概略地图的离线资料。
一个是离线导航包里的全国基础包,那是离线导航资料的全国概略地图。
你好,可以在如下地址进行标注,希望帮到你
:nlbc../lbs-lbc/index.action
在网络地图吧里提及,不过现在不能暂停免费提交了。“尊敬的网络地图使用者:双方也提供了多种途径和手段,让使用者方便的新增资讯到网络地图。8月18日,
网络地图不错。实际上并不需要下载全国详细地图包,有些地方根本就用不上。因此下载个全国概略包,再加上平常用得着的城市(或者省份)就足够了。有的城市可能临时要去,出发之前补充下载一下就是了
安全码是除有效证件之外最高级别的帐号保护措施。利用安全码可以修复登入密码,修改密码提示问题及答案、重新设定保密邮箱,快速解除将军令或电话密保的系结,以及在发现帐号被盗时冻结帐号以减少损失等。 特别提醒:安全码在申请通行证的时候设定,之后不能再修改,请妥善储存。 如何设定: 安全码可以是任何字符,包括数字、字母、特殊字符; 安全码长度应该在6~16位之间,区分大小写; 安全码是您通行证帐号的护身符,对保护帐号起着至关重要作用,因此请您一定牢
4. 最新版百度地图sdk 怎么混淆
在proguard-project.txt中添加如下(引用的是网络mapapi_v3_1_0.jar这版的jar包、换成自己的包就好了)
5. android5.0上使用百度地图sdk开发报no class founderror
可能是打包的时候混淆代码导致的,得贴出了错误日志才能确定
6. android项目对apk进行混淆
混淆apk是一个很基础的工作,博客上也有一堆介绍,本文提供一下这类工作的解决思路。在安卓源码下面和android studio里面的做法差异不大,本文以android源码举例。
首先在对应mk文件里面添加proguard enabled的语句,系统有一个自带的build/core/proguard.flags,默认是使用这个文件,而且一般项目默认是关闭的,这也是有原因的。因为这里的proguard.flags是没有针对app的配置的,使用默认的混淆,app很有可能就不工作了。
添加了mk文件修改之后,在Android.mk同级根目录创建本app自有的proguard.flags。新增内容如下,这里需要注意,网上很多demo,基本分为三部分,一部是保留app基础功能部分的内容不混淆;2是保持app对外接口,例如get、set、isxx、AIDL、public、native层的接口或者类;3.是第三方jar包或接口。混淆的基本原理就是将上诉类或接口进行统一简单字母的替换,如果改变了这些对外接口的名字,很有可能被别人使用的时候就找不到对应哦接口
一些第三方的库如何不进行混淆,这个根据项目特点,可以自行搜索,比如网络的地图包什么的。
然后是如何验证和解决混淆过程遇到的问题,因为是对接口名进行替换,如果出现混淆问题的话,log里面一定会有类似
这个时候只需要对相关接口进行例外(-keep)即可,然后用android-studio,直接打开或者dex2jar进行反解可以看到相关的接口是否被简单替换。
7. android中使用了百度地图api 代码混淆生成apk时报错
因为网络的api已经是混淆过的了,所以不能再次混淆了。再次混淆就会包错,应该把网络的部分取消再次混淆,在网络的官网上有说怎么做,你找一下吧
8. android 怎么实现只混淆自己的代码,而不混淆第3方jar包
1. 新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果不小心删掉了,没关系,从其他地方拷贝一个过来
2. 最重要的就是在proguard-project.txt添加混淆的申明了:
a. 把所有的jar包都申明进来,例如:
-libraryjars libs/apns_1.0.6.jar
-libraryjars libs/armeabi/libBaiMapSDK_v2_3_1.so
-libraryjars libs/armeabi/liblocSDK4.so
-libraryjars libs/mapapi_v2_3_1.jar
-libraryjars libs/core.jar
-libraryjars libs/gesture-imageview.jar
-libraryjars libs/gson-2.0.jar
-libraryjars libs/infogracesound.jar
-libraryjars libs/locSDK_4.0.jar
-libraryjars libs/ormlite-android-4.48.jar
-libraryjars libs/ormlite-core-4.48.jar
-libraryjars libs/universal-image-loader-1.9.0.jar
b. 将你不需要混淆的部分申明进来,因为有些类经过混淆会导致程序编译不通过,如下:
-keep public class * extends android.app.Fragment
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.support.v4.**
-keep public class com.android.vending.licensing.ILicensingService
--以上都是API里边的类,最好都要避免混淆
有些很特殊的,例如网络地图,你需要添加以下申明:
-keep class com..** { *; }
-keep class vi.com.gdi.bgl.android.**{*;}
根据我的经验,一般model最好避免混淆(model无关紧要,不混淆也没多大关系)如:
-keep class com.bank.pingan.model.** { *; }
下面在贴上关于Umeng分享统计的避免混淆的申明
-dontwarn android.support.v4.**
-dontwarn org.apache.commons.net.**
-dontwarn com.tencent.**
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context);
}
-dontshrink
-dontoptimize
-dontwarn com.google.android.maps.**
-dontwarn android.webkit.WebView
-dontwarn com.umeng.**
-dontwarn com.tencent.weibo.sdk.**
-dontwarn com.facebook.**
-keep enum com.facebook.**
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keep public interface com.facebook.**
-keep public interface com.tencent.**
-keep public interface com.umeng.socialize.**
-keep public interface com.umeng.socialize.sensor.**
-keep public interface com.umeng.scrshot.**
-keep public class com.umeng.socialize.* {*;}
-keep public class javax.**
-keep public class android.webkit.**
-keep class com.facebook.**
-keep class com.umeng.scrshot.**
-keep public class com.tencent.** {*;}
-keep class com.umeng.socialize.sensor.**
-keep class com.tencent.mm.sdk.openapi.WXMediaMessage {*;}
-keep class com.tencent.mm.sdk.openapi.** implements com.tencent.mm.sdk.openapi.WXMediaMessage$IMediaObject {*;}
-keep class im.yixin.sdk.api.YXMessage {*;}
-keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}
-keep public class [your_pkg].R$*{
public static final int *;
}
3.以上工作完成,混淆工作就完成了一大半了,最后需要做的就是在project.properties文件中加上混淆文件申明了,如下
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
4. OK, 最后一步,打签名包测试,如果有问题,仔细看下Log也许有得类不能混淆,那么你得加入到proguard-project.txt文件中
-------以上就是混淆代码的全过程了
9. android第一次混淆成功,新建另一个项目后重新混淆打包出错
仔细比对,是不是因为拷贝,包名没改?
有些东西混淆后,使用会失败,如网络地图