Android 混淆 Unknown verification type

Android工程打包sdk,导出jar已被混淆,该jar被第三方使用,混淆时出现Unknown verification type [*] in stack map frame问题,测试发现

		if(){

		}else{
			Log.cerateLog("something");
		}

其中Log

public class Log {

	public static boolean debug = false;

	public static void cerateLog(String str){
		if(debug){
			Log.i("TAG", str);
		}
	}

}

当debug为false时createLog()方法其实是没有执行内容的,当混淆时if else 中else的部分会被精简掉造成出现这个问题,解决办法就是:直接去掉else部分,或者将

Log.cerateLog("something");

拆成两句

String aa = "something"
Log.cerateLog(aa);
时间: 2024-08-14 19:12:45

Android 混淆 Unknown verification type的相关文章

Android混淆编译时,用到gson-2.2.2.jar进行反射解析json数据时,报ClassCastException错误

在我的代码中,我使用方法是: public synchronized <T> T parseJson(String json, Class<T> classOfT) throws Exception{ T target = null; Gson gson = new Gson(); target = gson.fromJson(json, classOfT); return target; } 之后在我的Activity中使用方式是: String addModel = JsonP

android -------- 混淆打包报错(warning - InnerClass annotations are missing corresponding EnclosingMember annotations)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotations InnerClass annotations are missing corresponding EnclosingMember annotations. Such InnerClass an

unknown filesystem type ‘iso9660’类型问题--Ubuntu

unknown filesystem type ‘iso9660’是指系统不支持这种类型的文件, 用以下命令更新内核即可: sudo aptitude update sudo aptitude upgrade 然后重启下电脑 可以用命令cat /proc/filesystems查看是否有iso9660,有的话就可以了

Android 混淆[学习笔记]

Android 混淆 Gradle的简介: http://www.flysnow.org/2015/03/30/manage-your-android-project-with-gradle.html多渠道打包的介绍: http://blog.csdn.net/tu_bingbing/article/details/42362619http://coolshell.info/blog/2015/03/android-studio-prefrence.html 目前Android studio 1

VPN客户端拨号,提示EAP: unknown authentication type 26; Naking

EAP: unknown authentication type 26; Naking 拨号时候出现这个,是因为加密没有开启. 解决方法: # vim /etc/ppp/options.pptp    ///注意是带pptp后缀的文件,不是不带后缀的. ///我就是编辑了不带后后缀的,没成功,浪费了好长时间. 如图设置即可

Android混淆打包

在这之前,看了下proguard官网介绍,并搜了下相关资料. ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目.官网网址是:http://proguard.sourceforge.net/. Java的字节码一般是非常容易反编译的.为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理.ProGuard的主要作用就是混淆.当然它还能对字节码进行缩减体积.优化等,但那些对于我们来说都算是次要的功能. 引用ProGuard官方的一段话来介绍

Android 混淆打包不混淆第三方jar包

项目因为要发布,所以要混淆打包. 混淆打包流程: 1.在proguard-project.txt文件中添加不需要混淆的类和第三方的jar包 这个是保持自己包中不需要混淆的类,如果有些类调用了jni也不需要混淆,不然会出错.还有如果项目中有其他项目作为library引入,那这些项目的一些类也不能混淆. 这个是保持项目中的第三方jar不混淆 另外加上上面几句话,不然会在控制台中报warning警告 2.在project.properties文件中把proguard.config=${sdk.dir}

Android 混淆代码有关问题总结

Android 混淆代码问题总结Android 混淆代码:最快的方式:1. 首先更新Android的SDK至最新版本,重新建立1个工程,把源码和资源及其他文件拷到新的工程里面.2. 工程目录底下有个文件叫proguard.cfg,修改default.properties内容.在其中增加proguard.config=proguard.cfg这行.3. Project->clean 一下该工程,重新编译.右键点击该工程,Android Tools -> Export Signed Applica

vuex2 mapActions 报错 `unknown action type: xxxx`

export const setBreadCrumb = ({ dispatch }, data) => { dispatch('SET_BREADCRUMB', data) } 当调用的时候报[vuex2] mapActions 报错 `unknown action type: setBreadCrumb` 后台改成 export const setBreadCrumb = ({ commit }, data) => { commit('SET_BREADCRUMB', data) } 未报