Obfuscate کردن کد
سلام
من تو پروژم از کتابخانه Actionbar Sherlock استفاده کردم حالا که می خوام کدها رو Obfuscate کنم برنامه هنگام اجرا خطا می ده.
دقیقا مثل آموزش ها پیش رفتم.
کسی می دونه دلیلش چیه؟ چون از sherlock استفاده کردم باید تو فایل proguard.cfg تغییر ایجاد کنم؟
ممنون
سلام، این سه خط رو به proguard.cfg اضافه کن احتمالا درست میشه :
-dontwarn com.actionbarsherlock.**
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }
مرسی علی درست شد
تو پروژم از webview هم استفاده کرده بودم که صفحه وب رو پیدا نمی کرد و کد زیر رو تو proguard.cfg قرار دادم درست شد
-keepclassmembers class **.R$* {public static <fields>;} -keep class **.R$*
بازم سلام
بچه ها من از کتابخونه picasso تو آپدیت برنامم استفاده کردم اما همین که میخوام Obfuscate کنم خطای زیر رو میده
Proguard returned with error code 1. See console Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.Cache Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.Cache Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkUrlFactory Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient Warning: com.squareup.picasso.OkHttpDownloader: can't find referenced class com.squareup.okhttp.OkHttpClient You should check if you need to specify additional program jars. Warning: there were 13 unresolved references to classes or interfaces. You may need to specify additional library jars (using '-libraryjars'). 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)
وقتی که picasso رو حذف می کنم دیگه خطا نمی ده.
ممنون میشم راهنمایی کنید
بچه ها این خط رو به proguard.cfg اضافه کردم درست شد
-dontwarn com.squareup.**
خط بالا برای کتابخونه picasso هست اما اگر از یه کتابخونه دیگه استفاده می کردید و هنگام Obfuscate کردن خطای زیر رو می داد
Proguard returned with error code 1. See console
این رو بنویسید -dontwarn و بعد از اون دو قسمت اول کتابخونه که در کلاس ها import می شن بنویسید. مثلا برای picasso این شکلی بود
import com.squareup.picasso.Picasso;
پس من این رو نوشتم
-dontwarn com.squareup.**
این رو تو proguard اضافه کنید ببینید درست میشه
-dontwarn com.jeremyfeinstein.**
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .