签名和混淆(二)

一、问题

在使用eclipse对apk进行签名打包是,console界面出现下面的异常信息,导致打包失败:

[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.Cache
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.Cache
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet] Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient
[2014-07-15 23:57:43 - MozMeet]       You should check if you need to specify additional program jars.
[2014-07-15 23:57:43 - MozMeet] Warning: there were 95 unresolved references to classes or interfaces.
[2014-07-15 23:57:43 - MozMeet]          You may need to specify additional library jars (using '-libraryjars').
[2014-07-15 23:57:43 - MozMeet] Error: Please correct the above warnings first.

二、原因:取消注释proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt这行,使用混淆打包时出现的。

三、解决办法:

在proguard-project.txt混淆配置中,增加下面的代码:

-keepattributes SourceFile,LineNumberTable
-keep class com.parse.*{ *; }
-dontwarn com.parse.**
-dontwarn com.squareup.picasso.**
-keepclasseswithmembernames class * {
    native <methods>;
}

参考出处:http://stackoverflow.com/questions/24765588/proguard-cannot-find-referenced-libraries

时间: 2024-08-01 19:37:04

签名和混淆(二)的相关文章

android Ant批打包学习(二)---生成有签名且混淆的apk包

本篇文章预期目标:                 生成有签名apk文件 详细步骤如下: 1  定义文件 两个文件 1.1  名字:local.properties 内容:SDK的路径(例如:sdk.dir=/Users/lincoln/Android/sdk) 1.2 名字:ant.properties 内容: source.dir=src out.dir=bin proguard.config=proguard.cfg   (添加混淆,必须保证proguard.cfg 文件存在) key.s

android代码签名和混淆打包

研究了一下android的apk的签名和代码的混淆打包,如果不混淆打包,那么apk可以直接被人反编译出来查看源码,混淆打包虽然还是能看懂,但是没有那么好懂了,至少要话费些时间 如果不混淆,反编译后的代码如下: 基本上就是源码. 如果混淆后,反编译后的代码如下: 代码中出现很多的a.b.c之类的变量命名,所以要读懂就具有一定的困难了! 下面先说一下apk的签名: 1.apk签名必须先弄一个key,如何生成key呢?那么就要运用jdk来生成. 首先必须把jdk在系统环境变量中配置好.这个就不多说了,

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

1. 签名相关: keystore, platform.pk8 <把Android源码中的秘钥对转换为keystore的方法> <Android签名机制之一——签名过程详解> 2. 混淆相关 因为外网限制等原因,我是在工程下mm编译的apk,安装开启应用的时候发现报了很多baidumap相关类找不到method的错误.出现这一错误的原因是因为工程编译通过mk文件开启了混淆,我们需要手动将baidumap相关类忽略掉. proguard.flags # Required for Ac

签名和混淆(三)

之前没有使用代码混淆的时候,ShareSDK可以正常使用,点击自定义的按钮,弹出九宫格分享菜单.但是今天使用了代码混淆,测试部发聩分享功能无法使用,测试了一下,还真是不能使用,是可以弹出九宫格,但是里卖弄没有任何平台信息.查看了一些资料,猜测估计是代码混淆搞的,自己尝试着在proguard-project.txt文件中添加下面的代码: #shareSDK -keep class cn.sharesdk.**{*;} -keep class com.sina.**{*;} -keep class

移动共享开发(二)各平台SSO(免登录)配置

SSO名词解释 : SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 例如用户已经登录新浪微博客户端,使用SSO授权登录时则不需要用户手动输入用户名.密码,直接点击登录即可, 因此可成为免登录. 配置SSO授权回调 如果有使用任一平台的SSO授权或者集成了facebook平台, 则必须在对应的activity中实现onActivityResult方法, 并添加如下代码 @Override protected vo

Android App签名打包

Andriod应用程序如果要在手机或模拟器上安装,必须要有签名! 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装). 2.签名的步骤 a.创建key b.使用步骤a中产生的key对apk签名 3.具体操作 方法一: 命令行下对apk签名(原理) 创建key,需要用到keytool.exe (位于j

事情已经到了这一步,要赌就只能全力以赴——红朝的那些事情(四三二)

贺老大是黄埔一期大师兄,号称“黄埔三杰”之一,但在政治诱惑面前却十分不淡定,硬是本着舍我其谁的精神跳出来闹事.十二号兵变,十三号他就定了讨伐通电稿,一个多小时内,各路人马竟然分头找到一百七十六个将军签名,逼宫之情溢于言表,实在是贺师兄之心,路人皆知. 从效果来看,贺衷寒的通电稿只有一个用意,就是逼着西安方面赶紧杀掉蒋介石,同南京决裂开战.虽然兵变只有一天,可大家等委员长的讣告,已经等得花儿也谢了. 十三号晚上,丁家桥继续开会,宋美龄来了. 作为堂堂蒋夫人,宋美龄在中国是第一夫人,地位大概等于从前

AndroidStudio 使用Release签名进行Debug

extends:http://blog.csdn.net/h3c4lenovo/article/details/42011887 , http://www.linuxidc.com/Linux/2015-12/126430.htm 当我们在做微信微博sdk分享的时候调试非常麻烦,因为要使用对应的签名版本才能调用sdk成功. 当我们使用AndroidStudio的Gradle之后会很简单的解决这个问题. 1.我们把签名文件放到工程根目录下(这样做是为了保持路径的统一) 2.在Gradle中引入如下

android代码签名和混乱的包装

研究了一下android的apk困惑签名和代码包装,假设没有混乱包.然后apk人们可以直接查看源代码反编译出来,尽管混乱包或能看懂.但不是那么容易理解,要求在至少一些时间 假设不混淆,反编译后的代码例如以下: 基本上就是源代码. 假设混淆后,反编译后的代码例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb3lpX3RkY3E=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/