proguard

Is using ProGuard worth the trouble?

六眼飞鱼酱① 提交于 2019-11-29 16:55:29
问题 From what I've seen and read, if someone really wants to reverse-engineer your software or decompile it, ProGuard is not going to stop them. But is it at least a modest deterrent? I'm not sure if it's worth the hassle of translating my stack traces later on. 回答1: I would recommend ProGuard. Even without obfuscation (which can significantly shorten the names used in the constant pool) it can remove "dead code" (unused methods) of used libraries, etc. (It can also be used to conveniently merge

Proguard - Can't find common super class of [com/google/android/gms/d/kl]

廉价感情. 提交于 2019-11-29 16:54:21
I am failing to create a release build. Suddenly Android Studio started throwing below error. Unexpected error while performing partial evaluation: Class = [com/google/android/gms/d/lc] Method = [a(Lcom/google/android/gms/d/kk;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/android/gms/d/lh;Lcom/google/android/gms/d/en;Lcom/google/android/gms/d/lb;)Lcom/google/android/gms/d/kn;] Exception = [java.lang.IllegalArgumentException] (Can't find common super class of [com/google/android/gms/d/kn] (with 1 known super classes) and [java/lang/String] (with 2

How to keep javadoc visible after obfuscating

試著忘記壹切 提交于 2019-11-29 16:42:22
I built a nice Javadoc documentation for my project which is a JAR file for developers. But after I run proguard in order to obfuscat my code all the Javadoc documentation are gone. I would like to keep javadoc on all my public methods in the jar. Does anyone know how keep Javadoc visible after obfuscating? Thanks! Javadoc is extracted from source files . It is not possible to create javadoc from class files , neither clean nor obfuscated. ProGuard operates on the class files created from compiling your source files , and produces obfuscated class files from it. This is completely unrelated to

Ant编译android,并Proguard代码混淆,v4混淆配置

五迷三道 提交于 2019-11-29 16:25:24
忙了三四周,总算把购开心的ios版(appStore搜“购开心”)成功翻译成了android版,UI效果基本保持一致,上一张UI效果图吧,很养眼的: 还不错吧,进入正题吧。 以前一直是让我徒弟混淆和打包的,这个就剩下我一个人了,弄了一次,时间太久了,还太麻烦了,于是,我就研究了下ant打包,下面就简单说下吧: 首先,做任何开发前,肯定是各种环境搭建和配置啊,ant的搭建很简单: 一、安装ant 到官方主页http://ant.apache.org下载新版(目前为Ant-1.9.2)的ant,得到的是一个apache-ant-1.8.1-bin.zip的压缩包。将其解压到你的硬盘上,例如:D:\Android\apache-ant-1.9.2 二、配置环境变量 window中设置ant环境变量: ANT_HOME D:/Android/apache-ant-1.9.2 path D:/Android/apache-ant-1.9.2/bin classpath D:/Android/apache-ant-1.9.2 /lib linux中设置ant环境变量: root用户登陆,用vi编辑器修改root目录下的".bash_profile"属性文件,假设Ant安装在/user/local/ant目录下,要在文件的最后加上 "exportANT_HOME=/user/local/ant

Obfuscating resource strings that may give away too much information about programming logic

旧城冷巷雨未停 提交于 2019-11-29 15:50:06
问题 I currently use a combination of LVL and Proguard as a first line of defence against piracy. However, what about the resource strings? For example, if there is a resource string like "License check failed" then doesn't the pirate simply need to trace that resource id back to where it was used in the code? In fact, this is also true if the string is something generic like "Please contact dev". What is the best approach? 回答1: If you define a resource string, you will probably define or use it

Exporting an Android project while using proguard on adt&sdk 20

我是研究僧i 提交于 2019-11-29 14:51:11
I've updated to the new adt&sdk 20 , and I'm having problems with the new way Proguard is being used on Eclipse. I'm not a pro with Proguard at all, yet I've always used it and it worked quite easily. I simply edited the "project.properties" file and added there "proguard.config=proguard.cfg", and it worked. Sadly, some changes were made that I can't find any information of how to work with them. The official website that talks about Proguard (in the Android website) still talks about the older way. They wrote on the "project.properties" to uncomment the next line: #proguard.config=${sdk.dir}

How to assembly a project after using proguard-maven-plugin

点点圈 提交于 2019-11-29 14:49:39
I am trying to add an obfuscation step while packaging my app. I supposed that I had to insert the Proguard plugin between the compiler plugin and the assembly (the assembly just put all of my app and dependencies into one single jar). <build> <finalName>myApp</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>com.github.wvengen</groupId> <artifactId>proguard-maven-plugin</artifactId> <version>2.0.11

CardView shadow not appearing in Lollipop after obfuscate with proguard

ε祈祈猫儿з 提交于 2019-11-29 14:24:31
My CardView's shadows have disappeared on Lollipop devices after applying Proguard. I haven't defined any rule to protect this library, because I haven't read it was necessary at all. I attach you a couple of screenshots, first without running proguard, and secon after running it. Screenshot without proguard Screenshot with proguard And this is my xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

What are .kotlin_builtins files and can I omit them from my uberjars?

Deadly 提交于 2019-11-29 14:08:14
问题 I'm working on integrating proguard to my gradle build for an application written in Kotlin. I'm finding that proguard is stripping out the Kotlin standard library (as it should in my simple Hello World program) but it's leaving a bunch of files in my jar that have the file extension .kotlin_builtins . When I configure my gradle task to exclude those files, the program still appears to work fine. What are those files and must they ship with my executable uberjar? Here's my build.gradle file's

Android, ProGuard, and keepclasseswithmembernames

做~自己de王妃 提交于 2019-11-29 14:04:32
问题 A common pattern in ProGuard configs for Android applications is to preserve custom View classes, since they are probably referenced only from layout XML instead of application code. Upon project creation, the ADT therefore add these rules to a project's proguard.cfg: -keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet, int); } I guess