混淆签名报conversion to&nbs…

来源:互联网 发布:网络帅比照片 编辑:程序博客网 时间:2024/05/18 02:00

参考http://blog.csdn.net/aminfo/article/details/7909921

依然没搞清楚,怎么解决自己的问题。

我的项目链接了2个外接项目(第三方libary项目),需要引用classes.jar包。

 

最后终于找到原因了:

其实就是引用的Jars不正确导致的。

解决办法,

 1,关于第三方的libary项目,在proguard.cfg文件,里加

   -ignorewarnings

   -dontwarn

   -libraryjars libs/android-support-v4.jar

   -libraryjars libs/json.jar

   -libraryjarslibs/classes.jar

等过滤语句,其中json.jar等包在主项目的libs文件夹里。

 2,做了以上步骤依然报conversion to dalvik format failed with error 1

 还有jar包引用不正确,这里我引用了classes.jar包,不能与json.jar包那样引用。需要用userlibary的方式引用,并去掉-libraryjarslibs/classes.jar,问题解决!apk的size也大幅减少。

android项目的jar包引用一直没好好研究,才导致今天的糗样。

希望这能帮到跟我一样被此问题困扰的同学。

参考语句:

摘自:百度地图API(常见问题)

3.6.5 为何我的程序在不混淆之前可以运行,混淆之后不能运行了?

栅格版SDK(即1.3.5及之前的版本):

如果您使用proguard进行混淆,请在您的混淆配置文件中添加如下语句:
-keep class com.baidu.mapapi.** {*;}

矢量版SDK(即2.0.0及之后的版本):
如果是用proguard ,以下配置供参考:
#-libraryjars libs/baidumapapi_v2_1_2.jar 替换成自己所用版本的jar包
-keep class com.baidu.** { *; }
-keep class vi.com.gdi.bgl.android.**{*;}
其他混淆工具也请进行与此类似的配置,指定对mapapi中的类和方法不进行混淆。

0 0