Web Analytics

ResChiper

⭐ 106 stars French by goldfish07

ResChiper

échec du chargement de artifacts/logo.png

Outil d'Obfuscation des Ressources AAB

License Android Gradle Plugin BundleTool JDK Version Gradle Version ResChiper Version

Table des Matières

Introduction

ResChiper est un outil conçu pour obfusquer les ressources Android AAB. Il vous permet de protéger vos ressources contre l'accès non autorisé et de réduire la taille de votre application AAB.

Démarrage

Suivez ces étapes pour intégrer l'Outil d'Obfuscation des Ressources AAB dans votre projet Android :

Exigences

Avant de commencer à utiliser ResChiper, assurez-vous que votre application répond aux exigences suivantes :

Installation

#### 1. Ajouter le plugin Gradle ResChiper

Dans le fichier build.gradle au niveau racine de votre projet, ajoutez le plugin Gradle ResChiper à la section buildscript :

buildscript {
  dependencies {
    classpath "io.github.goldfish07.reschiper:plugin:"
  }
  
  repositories {
    mavenCentral()
    google()
   }
}

#### 2. Appliquer le Plugin

Dans le fichier build.gradle au niveau de votre application, appliquez le plugin ResChiper :

apply plugin: "io.github.goldfish07.reschiper"

#### 3. Configurer le Plugin

Dans votre fichier app/build.gradle, configurez le plugin ResChiper en spécifiant les paramètres souhaités. Voici un exemple de configuration :

resChiper {
    enableObfuscation = true //by default res obfuscate is enabled
    obfuscationMode = "default" //["dir", "file", "default"]
    obfuscatedBundleName = "reschiper-app.aab" // Obfuscated file name, must end with '.aab'
    //mappingFile = file("path/to/your/mapping.txt").toPath() // Mapping file used for incremental obfuscation
    whiteList = [
                  //Whitelist rule (directory name to exclude)
                  "res/raw", // raw dir will not be obfuscated
                  "res/xml", // xml dir will not be obfuscated

//Whitelist rule (file name to exclude) "res/raw/*", // all files inside raw directory will not be obfuscated "res/raw/success_tick.json", // success_tick.json file will not be obfuscated "res/xml/*", // all files inside xml directory will not be obfuscated

// White list rules (resource name to exclude) ".R.raw.", ".R.xml.",

// for google-services "*.R.string.google_api_key", "*.R.string.google_app_id", "*.R.string.default_web_client_id", "*.R.string.gcm_defaultSenderId", "*.R.string.ga_trackingId", "*.R.string.firebase_database_url", "*.R.string.google_crash_reporting_api_key", "*.R.string.google_storage_bucket", "*.R.integer.google_play_services_version", //firebase "*.R.string.project_id", //firebase crashlytics "*.R.string.com.google.firebase.crashlytics.mapping_file_id", "*.R.bool.com.crashlytics.useFirebaseAppId", "*.R.string.com.crashlytics.useFirebaseAppId", "*.R.string.google_app_id", "*.R.bool.com.crashlytics.CollectDeviceIdentifiers", "*.R.string.com.crashlytics.CollectDeviceIdentifiers", "*.R.bool.com.crashlytics.CollectUserIdentifiers", "*.R.string.com.crashlytics.CollectUserIdentifiers", "*.R.string.com.crashlytics.ApiEndpoint", "*.R.string.com.crashlytics.android.build_id", "*.R.bool.com.crashlytics.RequireBuildId", "*.R.string.com.crashlytics.RequireBuildId", "*.R.bool.com.crashlytics.CollectCustomLogs", "*.R.string.com.crashlytics.CollectCustomLogs", "*.R.bool.com.crashlytics.Trace", "*.R.string.com.crashlytics.Trace", "*.R.string.com.crashlytics.CollectCustomKeys" ] mergeDuplicateResources = true // allow the merge of duplicate resources enableFileFiltering = true enableFilterStrings = true fileFilterList = [ // file filter rules "META-INF/*", // "/armeabi-v7a/", // "/arm64-v8a/", // "/x86/", // "/x86_64/" ] unusedStringFile = "path/to/your/unused_strings.txt" // strings will be filtered in this file localeWhiteList = ["en", "in", "fr"] //keep en,en-xx,in,in-xx,fr,fr-xx and remove others locale. }

Utilisation

Pour obfusquer vos ressources et générer un AAB obfusqué, exécutez la commande Gradle suivante dans le répertoire racine du projet. :

./gradle clean :app:resChiperDebug --stacktrace

Cette commande exécutera le processus d'obfuscation depuis la racine du projet, et le AAB obfusqué sera généré dans le répertoire app/build/outputs/bundle/debug.

Options de configuration

L'extension ResChiper offre diverses options de configuration pour l'obfuscation des ressources, notamment l'activation/désactivation de l'obfuscation, la spécification des fichiers de correspondance, la liste blanche des ressources, et plus encore.

obfuscationMode = "file" et pour obfusquer à la fois répertoires et fichiers, définir obfuscationMode = "default".
les chemins META-INFO/ et lib/.

Exemple

vous pouvez consulter un exemple de configuration ici

Liste blanche

ressources qui ne sont pas obfusquées durant le processus de compilation.
vous pouvez trouver les configurations de whiteList ici.

Sortie

Après l'exécution du processus d'obfuscation, vous pouvez vous attendre aux fichiers de sortie suivants :

ressources obfusquées. processus d'obfuscation afin d'obtenir une obfuscation incrémentale. Ceci est particulièrement utile si vous souhaitez maintenir cohérence entre différentes constructions. les ressources dupliquées qui ont été fusionnées lors du processus d'obfuscation.

Ces fichiers de sortie seront générés suite à l'exécution de l'outil ResChiper, et vous pouvez les trouver dans les répertoires pertinents au sein de la sortie de construction de votre projet.

Remerciements

ResChiper s'inspire des projets et outils suivants :

Licence

Logo Licence Apache v2.0

Copyright (C) 2023 goldfish07 (Ayush Bisht) Ce fichier fait partie de ResChiper.

ResChiper est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Apache, Version 2.0 telle que publiée par la Fondation Apache Software, soit la version 2.0 de la Licence, soit (à votre choix) toute version ultérieure.

Sous licence Apache, Version 2.0 (la "Licence"); vous ne pouvez utiliser ce fichier que conformément à la Licence. Vous pouvez obtenir une copie de la Licence à

http://www.apache.org/licenses/LICENSE-2.0

Sauf exigence légale ou accord écrit, le logiciel distribué sous la Licence est distribué "TEL QUEL", SANS GARANTIES NI CONDITIONS D'AUCUNE SORTE, expresses ou implicites. Consultez la Licence pour les autorisations et limitations spécifiques régissant l'utilisation.

--- Tranlated By Open Ai Tx | Last indexed: 2026-06-02 ---