2017-01-31 19 views
2

サンプルアプリケーションの場合、これは私のbuild.gradleです。私のコードは、私が彼らに与えられましたが、私はそれをしたいdoes'tとして全てclass'svariable'sは、constant's`名前が同じで逆コンパイル後の手段をobfuscated.?that取得されていない理由Android AppのProguard難読化機能はありません

{ 
apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.0" 
    defaultConfig { 
     applicationId "com.example.credila.testndk" 
     minSdkVersion 15 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     externalNativeBuild { 
      cmake { 
       cppFlags "-frtti" 
      } 
     } 
    } 
    buildTypes { 
     release { 
      debuggable false 
      minifyEnabled true 
      shrinkResources true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    externalNativeBuild { 
     cmake { 
      path "CMakeLists.txt" 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:25.1.0' 
    testCompile 'junit:junit:4.12' 
} 
} 

はしかし、知りません。私を助けてください。

+0

あなたはリリース構成を作成してもよろしいですか? –

+0

proguard-rules.proで何が得られますか? –

+0

@VladMatvienko、 gビルド設定 – Vasu

答えて

1

しかし、ProGuardのリリースビルドのみのためでキック

私のコードを難読化取得されていない理由を知りません。デバッグビルドには使用されませんので、適切なAPKを確認してください。

EDIT

あなたのGradleは

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 

が含まれているし、あなたに影響を与えます(<SDK>\tools\proguardフォルダ内) 'ProGuardの-android.txt' 内のproguard-rules.proは空かもしれないが、そこにいるデフォルトのルールプロジェクト。いくつかのクラスは、フレームワーク(つまり、android.view.Viewandroid.app.Activityのサブクラス)からアクセスできる必要があるため、難読化する必要はありません。つまり、onCreate()の名前が変更された場合、Androidフレームワークは正しいメソッドを見つけることができず、それは今では 'a()'という名前になっていることが分かります(それがアプリに格納されている情報であれば、難読化されていない部分はかなり無意味です)。

デフォルトをチェックしてください。一部のメンバーが難読化する必要があります。クラスを分割したり、コードを再構築したりするには

+0

私はリリースビルドでそれをテストしました。 – Vasu

+0

私はproguardがactivity.whenのために働くdoes'tは他のクラスを追加することをそれがうまく難読化されると思う。 – Vasu

+1

編集済みのアンサーを確認 –

関連する問題