بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

کد proguard pushe (حل شد)

مدیریت گفتگو
Ali.Ab 10 سال پیش
آخرین تغییر: 9 سال پیش

سلام خدمت دوستان عزیز.

در پروژه هایی که از pushe استفاده میشه برای obfuscate چه کدی باید قرار داده بشه؟منظورم کدهای فایل proguard-project.txt

نظرات

Spirit 10 سال پیش
شما میخوایید کدهای کتابخونه pushe مبهم بشه یا نشه؟ obfuscate یعنی مبهم سازی، اگر proguard هم فعال بشه، همه چیز مبهم میشه و فایل proguard-project.txt برای اینه که چه چیزهایی مبهم نشه - بعضی کلاسها مثل CustomView ها نباید مبهم بشن، حالا اگر این کتابخونه چنین موردی داشته باشه داخل مستنداتش باید ذکر میشد، که نیست.
Ali.Ab 10 سال پیش
حق با شماست ولی هنگام obfuscate کردن ارور میده و تقریبا مطمئنم که باید کدهاش رو قرار داد درست مثل parse که دوستمون در پاسخ زیر ذکر کردند

پاسخ‌ها 3

MeY3am 10 سال پیش

اگر از سرویس Parse استفاده میکنی اینو بنویسی حله

-dontwarn com.parse.**
-keep class com.parse.Parse.** { *; }

 -dontwarn com.parse.**
-keep class com.parse.ParseInstallation.** { *; }

-dontwarn bolts.**

نظرات

Ali.Ab 10 سال پیش

دوستان منظورم سایت pushe.co هست نه parse اگه کسی میدونه لطفا راهنمایی کنید.

نظرات

Ali.Ab 10 سال پیش

طی مکاتبه ای که با پوشه داشتم کد زیر رو برام ارسال کردند برای همین گذاشتمش تا اگه کسی نیاز داشت استفاده کنه(این کد فقط برای اکلیپس هست و یونیتی و اندروید استودیو نیازی به این کد ندارند)

 # Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Users/hadi/Dev/SDK/Android/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# 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 *;
#}

#Ronash proguard
-keep public class co.ronash.pushe.Pushe {
    public static void initialize(android.content.Context, boolean);
    public static void subscribe(android.content.Context, java.lang.String);
    public static void unsubscribe(android.content.Context, java.lang.String);
}

-keep public class co.ronash.pushe.PusheListenerService {
    public void onMessageReceived(org.json.JSONObject, org.json.JSONObject);
}

# what is the usage of these ?
#-keep public class co.ronash.pushe.log.handlers.*
#-keepclassmembers public class co.ronash.pushe.log.handlers.* {
#    public <init>(android.content.Context, java.util.Map);
#}

-keep public class co.ronash.pushe.receiver.UpdateReceiver


# google gms proguard
-keep public class com.google.android.gms.**
-dontwarn com.google.android.gms.**

# google paly services proguard
-keep class * extends java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;}

نظرات

Beny@min 10 سال پیش
عالی بود دوست عزیز :)
وحید 9 سال پیش
این کد رو باید با کدهای قبلی که استاد دادند مخلوط کنیم یا فقط همین رو بذاریم؟
Ali.Ab 9 سال پیش
خیر همین کافیه

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .