القائمة الرئيسية

الصفحات

حماية التطبيق من الريكسن في اندرويد ستوديو


هناك الكثير من يعمل على الربح من خلال تطبيقات الهواتف عن طريق ريسكن فمنهم من يشتري كود سورس ويبدا في التعديل عليه ومنهم من يقوم بفك ضغط apk الخاص باندرويد ويتم تغيير ما يحلو له ويتم تركيبه كما كان ليصبح تطبيق ىخر بدون تغيير اكواد البرمجة .

لكن لمن يعمل على اندرويد ستيديو ويريد حماية تطبيقاته فهناك أداة تقوم بتشفير التطبيق بعد تحويله إلى apk وهذا ضروري قبل رفعه على بلاي ستور إذا كان تطبيق حساس يحتوي على بعض الكودات أو الرموز التي لا يجب الوصول إليها .

الأداة هي  Proguard وتوجد على برنامج android studio في ملف Gradl .

تفعيل ProGuard :

توجه إلى ملف build.gradle وقم بتغير minifyEnabled  إلى true

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

الكود minifyEnabled true
يكون false أنت حولها إلى true

التعديل على ملف Proguard Rules

 ProGuard سيقوم بحذف اي كلاس او كود غير مستخدم, لذلك في بعض الاحيان قد يحذف كلاسات مستخدمه في تطبيقك مماينتج عنه Bugs او Force Close , ولتجنب هذا الامر فاننا نقوم باضافة بعض الاسطر والتي تسمى قواعد (Rules) للـ  ProGuard تجبره على عدم حذف الاكواد وابقائها, هذه القواعد تكتب جميعاً في ملف proguard-rules.pro

-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.view.View {
    public <init>(android.content.Context);
    public void set*(...);
}
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet); 
} 

كما ترى في الاسطر السابقة فإننا استخدمنا بعض الرموز مثل keep , keepclasswithmembers وغيرها, كل رمز منها يستخدم لامرمعين فعلى سبيل المثال keep تستخدم لابقاء كلاس معين وابقاء جميع مايتضمنه الكلاس من متغيرات وميثود واي امور اخرى, بينما keepclassmembers تستخدم لابقاء بعض خصائص الكلاس مثل متغير او ميثود معينه. 

قد تواجه مشاكل عند عمل كومبايل ل apk وتظهر اخطاء
ما عليك الا مراعات الخطأ جيدا والروابط المفقودة 
فمثلا قد يحتاج الى pecasso الخاص بجلب الصور من الانترنت
تذهب الى جوجل وضع الملف بهذه الطريقة
pecasso proguard android studio
وستطلع لك عدة حلول
والب الحلول تكون في ملف proguard-rules.pro مثل هذا الكود لحل مشكلة خطأ pecasso

-dontwarn com.squareup.okhttp.** 

المرجع:
هل اعجبك الموضوع :

تعليقات



التنقل السريع