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

Obfuscate کردن کد

مدیریت گفتگو
hosseinAmini 12 سال پیش
آخرین تغییر: 11 سال پیش

سلام
من تو پروژم از کتابخانه Actionbar Sherlock استفاده کردم حالا که می خوام کدها رو Obfuscate کنم برنامه هنگام اجرا خطا می ده. 
دقیقا مثل آموزش ها پیش رفتم.
کسی می دونه دلیلش چیه؟ چون از sherlock استفاده کردم باید تو فایل proguard.cfg تغییر ایجاد کنم؟ 
ممنون

نظرات

پاسخ‌ها 5

Ali 12 سال پیش

سلام، این سه خط رو به proguard.cfg اضافه کن احتمالا درست میشه :

-dontwarn com.actionbarsherlock.**
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }

نظرات

hosseinAmini 12 سال پیش

مرسی علی درست شد
تو پروژم از webview هم استفاده کرده بودم که صفحه وب رو پیدا نمی کرد و کد زیر رو تو  proguard.cfg قرار دادم درست شد

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

نظرات

hosseinAmini 12 سال پیش

بازم سلام
بچه ها من از کتابخونه 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 رو حذف می کنم دیگه خطا نمی ده.
ممنون میشم راهنمایی کنید

نظرات

hosseinAmini 12 سال پیش

بچه ها این خط رو به 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.**

نظرات

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

این رو تو proguard اضافه کنید ببینید درست میشه 

  -dontwarn  com.jeremyfeinstein.**

نظرات

hosen.rad 11 سال پیش
دمت گرم... حل ..حل شد.
Devtpoint 11 سال پیش
تا میتونی امنیت رو ببر بالا ولی من از چند تا از مهندسین نرم افزار شنیدم که نرم افزارهایی موجود هست که باز کدها رو به صورت خوانا میشکنه و باز میکنه

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