نمایش نتایج 1 تا 2 از 2

نام تاپیک: استفاده از پروگارد در پروژه اندرویدی

  1. #1
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    استفاده از پروگارد در پروژه اندرویدی

    سلام دوستان

    یک پروژه ساده ای دارم که با رتروفیت نوشتم و یک سری اطلاعات از سرور دریافت میکند که شامل کلاس های زیر هست :

    MainActivity
    adapter
    Model
    ApiClient
    ApiInterface


    خواستم در این پروژه از پروگارد استفاده کنم برای همین :

    buildTypes {        release {
    minifyEnabled true
    useProguard true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    }


    و داخل proguard-rules.pro باتوجه به مستندات خود رتروفیت کدهای زیر رو قرار دادم :

    # Retrofit does reflection on generic parameters and InnerClass is required to use Signature.-keepattributes Signature, InnerClasses


    # Retain service method parameters when optimizing.
    -keepclassmembers,allowshrinking,allowobfuscation interface * {
    @retrofit2.http.* <methods>;
    }


    # Ignore annotation used for build tooling.
    -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirem ent


    # Ignore JSR 305 annotations for embedding nullability information.
    -dontwarn javax.annotation.**


    # Guarded by a NoClassDefFoundError try/catch and only used when on the classpath.
    -dontwarn kotlin.Unit


    # Top-level functions that can only be used by Kotlin.
    -dontwarn retrofit2.-KotlinExtensions


    -dontwarn okhttp3.**


    پروژه رو وقتی دیباگ میکنم به راحتی اجرا میشه .

    اما وقتی ریلیز میکنیم و با کلیدی که ساختم هم ساین میکنم متاسفانه هنگام اجرا همانطور که میبنید اطلاعات رو نمایش نمیده ! و هیچ خطایی هم در لاگ نمیاد که بدونیم مشکل از کجاست !

    مساله ای که هست اینه که به احتمال زیاد وقتی پروگارد میکنیم یکی از این کلاس هایی که استفاده کردم رو چون به هم میریزه برای همین شاید این برنامه نمیتونه اطلاعات رو بخونه ..به نظرتون کدام کلاس ها رو باید در پروگارد تنظیم کنم که به اونا دست نزنه ؟! من این دستورات رو قرار دادم ولی نتیجه ای نداد :

    -keep class com.samisoft.retrofit.adapter
    -keep class com.samisoft.retrofit.Model
    -keep class com.samisoft.retrofit.ApiClient
    -keep class com.samisoft.retrofit.ApiInterface
    -keep class com.samisoft.retrofit.MainActivity


    اما وقتی دستور زیر رو مینویسیم به درستی اطلاعات نمایش داده میشه : (اما خب اشکال این کار هم اینه که در این حالت کلیه کلاس ها رو نادیده میگیره که دیگر مبهم نکنه)

    -keep class com.samisoft.retrofit.** { *; }
    آخرین ویرایش به وسیله samiasoft : دوشنبه 02 مهر 1397 در 21:19 عصر

  2. #2
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    نقل قول: استفاده از پروگارد در پروژه اندرویدی

    دوستان در این باره نظری نداشتید ؟ من کلیه کدهارو دوباره چک کردم اما همچنان با اینکه با خطایی روبرو نمیشم ولی اطلاعات نمایش داده نمیشوند !!

    اما با کتابخانه والی چنین مشکلی ندارم یعنی درحالت پروگارد و release هم اطلاعات به درستی نمایش داده میشوند.


    -dontwarn okhttp3.**-dontwarn okio.**
    -dontwarn javax.annotation.**
    -dontwarn org.conscrypt.**
    # A resource is loaded with a relative path so the package of this class must be preserved.
    -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
    آخرین ویرایش به وسیله samiasoft : دوشنبه 02 مهر 1397 در 21:34 عصر

تاپیک های مشابه

  1. استفاده از سیلورلایت در پروژه
    نوشته شده توسط محمدامین شریفی در بخش Silverlight
    پاسخ: 32
    آخرین پست: جمعه 24 دی 1389, 20:10 عصر
  2. سوال: استفاده از dll در پروژه وب
    نوشته شده توسط میتی دات نت در بخش ASP.NET Web Forms
    پاسخ: 8
    آخرین پست: یک شنبه 06 بهمن 1387, 22:05 عصر
  3. گفتگو: استفاده از سیلورلایت در پروژه
    نوشته شده توسط محمدامین شریفی در بخش طراحی وب (Web Design)
    پاسخ: 24
    آخرین پست: یک شنبه 24 آذر 1387, 10:19 صبح
  4. استفاده از linq در پروژه
    نوشته شده توسط makh1387 در بخش برنامه نویسی مبتنی بر Microsoft .Net Framework
    پاسخ: 5
    آخرین پست: چهارشنبه 24 مهر 1387, 09:03 صبح
  5. نحوه استفاده از ajax در پروژه ای که ajax enable نیست
    نوشته شده توسط mp2009 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: دوشنبه 16 مهر 1386, 09:04 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •