کی و چگونه باید دستورات obfuscate کردن رو تغییر بدیم؟؟؟ (خطا در obfuscate کردن)
مراحل obfuscate کردن رو استاد کاملا توضیح دادند.
سوال من اینکه برای بعضی از پروژه ها (علی الظاهر اونایی که library دارند) با اون کد obfuscate نمیشه و یه چیزهایی باید اضافه و کم بشه.
میخواستم ببینم به چه شکلی باید تغییر بدیم. مثلا در صورت درست بودن فرض بالا (وجود library نیازمند تغییر در کد obfuscate) آیا برای هر library دستور آن فرق میکند؟
کلا چگونه مشکل خطاهای obfuscate رو حل کنیم؟
ممنون
شما از هر کتابخانه ای استفاده کنید ، اگه نیاز به اینکار داشته باشه ، قطعا در مستندات هست ، یعنی میگه این خط رو به proguard اضافه کنید
استاد هم یه سری توضیحاتی در مورد اش دادند
مثلا
-keep class com.google.** { *; }
مثلا برای درست کار کردن easy share action در action bar طبق مستندات اش باید از obfuscate شدن اش جلوگیری کرد
آقا دستورات زیر چه کارهایی انجام میدن
-keep class net.sqlcipher.** { *; }
-dontwarn net.sqlcipher.*
هر کاری کردم درست نشد. ایرادم خیلی شبیه ایراد شماست آقای hosseinAmini تو این لینک که گذاشته اید.
اما دقیقا نمیدونم چه چیزی برای کتابخانه هام باید بنویسم. عکس کتابخونه هامو میذارم تا انشاالله حل بشه.


به تازگی برای اضافه کردن شکلک از پروژه emojicon استفاده کردم که تو فایل project.properties این دو خط رو اضافه کرده و اگه خط دوم رو بردارم توی res خطا میده. (نمیدونم به این خط ها هم ربطی داره یا نه)
android.library=false
android.library.reference.1=../Emojicon
این هم log ها
Note: there were 4 duplicate class definitions.
Warning: library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull.v1.XmlPullParser
Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
.
.
.
Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
You should check if you need to specify additional program jars.
Warning: there were 607 unresolved references to classes or interfaces.
You may need to specify additional library jars (using '-libraryjars').
Warning: there were 13 instances of library classes depending on program classes.
You must avoid such dependencies, since the program classes will
be processed, while the library classes will remain unchanged.
java.io.IOException: Please correct the above warnings first.
at proguard.Initializer.execute(Initializer.java:321)
at proguard.ProGuard.initialize(ProGuard.java:211)
at proguard.ProGuard.execute(ProGuard.java:86)
at proguard.ProGuard.main(ProGuard.java:492)
دوای درد من این بود.
-ignorewarnings
-keep class org.kobjects.** { *; }
-keep class org.ksoap2.** { *; }
-keep class org.kxml2.** { *; }
-keep class org.xmlpull.** { *; }
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .