Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.91
MegaSinner
96 / 92 / 3
Регистрация: 09.04.2010
Сообщений: 746
#1

Как настроить ProGuard в IDEA? - Программирование Android

25.01.2014, 12:53. Просмотров 3752. Ответов 18
Метки нет (Все метки)

Сабж. Искал, читал, но до конца так и не понял..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 12:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как настроить ProGuard в IDEA? (Программирование Android):

ProGuard на IntelliJ IDEA - Программирование Android
Кто нибудь пробовал в IDEA использовать ProGuard? В project.properties добавил: proguard.config=proguard-project.txt В окне...

Как настраивать Proguard - Программирование Android
Приветствую! Есть необходимость защитить приложение от декомпиляции, для этого хочу использовать Proguard. Почитал статью на оф....

proguard - Программирование Android
Пытаюсь сделать обфускацию приложения при помощи Proguard. В теории вроде всё просто, на практике - никак не выходит. Для работы...

Proguard и NullPointerException - Программирование Android
Задействуйте! Надеюсь кто-то поможет. Проблема такая. В release версии ( с использованием proguard) приложения возникает ошибка ...

ProGuard ошибки - Программирование Android
Делаю компиляцию приложения, компилится хорошо, но в процессе работы приложения вылазят ошибки 01-11 22:51:24.745 2552-2747/com.app...

ProGuard сопротивление компилированию( - Программирование Android
Народ всем привет. Уже три дня бьюсь с ProGuard все время выходит такая ошибка: Warning:okio.DeflaterSink: can't find referenced class...

18
MegaSinner
96 / 92 / 3
Регистрация: 09.04.2010
Сообщений: 746
12.02.2014, 20:42  [ТС] #16
Цитата Сообщение от Tester64 Посмотреть сообщение
Вы делаете это через Build>Generate Assigned APK (AnStudio)?
Да, тудой..

Сцылочку кинул в ЛС.
0
Tester64
396 / 357 / 44
Регистрация: 22.05.2013
Сообщений: 2,518
12.02.2014, 21:07 #17
Цитата Сообщение от MegaSinner Посмотреть сообщение
Да, тудой..
Вроде правильно... А каой скрит выбираете? Стандартный?
На днях (сегодня занят) вспомню как это делал... отпишусь...
0
MegaSinner
96 / 92 / 3
Регистрация: 09.04.2010
Сообщений: 746
12.02.2014, 23:19  [ТС] #18
Tester64, Вот так, как здесь советовали:

project.properties:
Java
1
proguard.config=proguard-project.txt
В proguard-project.txt
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
#   [url]http://developer.android.com/guide/developing/tools/proguard.html[/url]
 
# Add any project specific keep options here:
 
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}
 
##---------------Begin: proguard configuration common for all Android apps ----------
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-dump class_files.txt
-printseeds seeds.txt
-printusage unused.txt
-printmapping mapping.txt
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
 
-allowaccessmodification
-keepattributes *Annotation*
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
-repackageclasses ''
 
-dontwarn android.support.**
-dontwarn org.apache.harmony.**
-dontwarn com.tonicsystems.**
-dontwarn org.firebirdsql.**
-dontwarn org.antlr.**
-dontwarn org.apache.**
 
-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 com.android.vending.licensing.ILicensingService
-dontnote com.android.vending.licensing.ILicensingService
 
# Explicitly preserve all serialization members. The Serializable interface
# is only a marker interface, so it wouldn't save them.
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
 
# Preserve all native method names and the names of their classes.
-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);
}
 
# Preserve static fields of inner classes of R classes that might be accessed
# through introspection.
-keepclassmembers class **.R$* {
public static <fields>;
}
 
# Preserve the special static methods that are required in all enumeration classes.
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
 
-keep public class * {
public protected *;
}
 
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}##---------------End: proguard configuration common for all Android apps ----------
0
Tester64
396 / 357 / 44
Регистрация: 22.05.2013
Сообщений: 2,518
13.02.2014, 01:51 #19
У меня немного другой файл настроек... Я его взял в SDK (кажется). Может поможет:

Кликните здесь для просмотра всего текста
# This is a configuration file for ProGuard.
# http://proguard.sourceforge.net/index.html#manual/usage.html

# Optimizations: If you don't want to optimize, use the
# proguard-android.txt configuration file instead of this one, which
# turns off the optimization flags. Adding optimization introduces
# certain risks, since for example not all optimizations performed by
# ProGuard works on all versions of Dalvik. The following flags turn
# off various optimizations known to have issues, but the list may not
# be complete or up to date. (The "arithmetic" optimization can be
# used if you are only targeting Android 2.0 or later.) Make sure you
# test thoroughly if you go this route.
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-allowaccessmodification
-dontpreverify

# The remainder of this file is identical to the non-optimized version
# of the Proguard configuration file (except that the other file has
# flags to turn off optimization).

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService

# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
native <methods>;
}

# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}

# We want to keep methods in Activity that could be used in the XML attribute onClick
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}

# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}

-keepclassmembers class **.R$* {
public static <fields>;
}

# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
-dontwarn android.support.**


Добавлено через 1 минуту
(загонять большой текст в спойлер круче чем просто явой - сравнивать неудобно)
0
13.02.2014, 01:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2014, 01:51
Привет! Вот еще темы с ответами:

Свое правило для Proguard - Программирование Android
Как создать правило для Proguard? т.е. так чтобы он шифровал только нужные мне файлы...

Оптимизация по размеру при использовании ProGuard - Программирование Android
Помогите, пожалуйста, разобраться. Я работаю в Eclipse. В файле project.properties я добавил строчку...

Eclipse proguard public class android.support.v7.internal.widget.ActionBarView.HomeView - Программирование Android
Добрый день. Сейчас изучаю разработку под андроид. Споткнулся на следующей ошибке This class should be public...

Как связать IDEA с Андроидом, установленным на VirtualBox? - Программирование Android
Чтобы можно было дебажить. Надо серверное приложение протестить, а к эмулятору не могу подключиться.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru