36

Googleは、Androidスタジオ2.1を使用して、Android開発者向けに新しいJACK compilerのテスト版をリリースしました。JACKコンパイラを使用して小型化と難読化を実行するにはどうすればよいですか?

私の質問は、APKの難読化をJACKでどのように有効にするかです。次の記事は、JACKがProGuardの設定ファイル(すなわち.proファイル)を使用することを述べているのに対し

:以下の記事は、JACKがネイティブに難読化を実行し、ProGuardのための必要性を排除することを言います難読化を実行するため:

また、このプロセスの間

ジャックもいずれかを扱うことを言う(難読を縮小および/または)コード縮小を要求しました。

正確にはどういう意味ですか? minifyEnabledオプションを使用し、Proguardオプションを含む.proファイルを定義する必要がありますか?要約すると

  • がどのように正確に我々はJACKと難読化を有効にする方法について行くのですか? はProguardの使用をバイパスできますか、またはJACKとコンパイルしても、Proguardは実際には の難読化プロセスでデファクトロールを果たしますか?

  • JACKは現在、難読化をサポートしているかどうかをサポートしていますが、 はAndroidスタジオの安定版(ベータ版ではない)です

注:

さらに参考文献:

更新:

answerMatt Inskoによっては便利ですが、私はより詳しく、かつより正確な、標準的な答えをしたいと思います。

+0

この[投稿](http://www.androidpolice.com/2014/11/30/jack-and-jill-are-googles-new-compilers-for-android-app-developers/)は役立つ可能性があります。この[リンク](http://tools.android.com/tech-docs/jackandjill)が表示されている場合、 '--config-proguard'のようなproguardファイルを渡すオプションがあります –

+0

コマンドラインを使用することは唯一のオプションです?コマンドラインからJACKを使って正確にビルドするには? –

+0

ええ、CLIで試してみました。それは正常に動作しています。 この情報は、[ここ](https://software.intel.com/en-us/android/articles/an-introduction-to-jack-and-jill-on-x86)および[ここ](https: //gist.github.com/stefanhoth/593451dfb4576ec9a21c) –

答えて

9

J.A.C.K.難読化は最新リリースのGradle Plugin(v2.1.0)ではサポートされていないようです。

最新のv2.1.0プラグインを使用しているときにJACKを有効にすると、プレビューツールを使用するようにJack requires Build Tools 24.0.0 or laterが通知されます。

アンドロイドのgradle v2.2.0-alpha1、ビルドツール-v24rc4、プラットフォームツール-v24rc3、およびSdkツール-v25.1.7rc1を使用して、JACKによって難読化を実行することができました。

defaultConfigの内部で有効にした場合、minifyEnabled truedebugビルドで構成されていたため、Minifying the variant used for tests is not supported when using Jack.に迷惑をかけました。

だから、私は、カスタムビルドの種類を作成し、そこにそれを有効に:proguardFiles getDefaultProguardFile('proguard-android.txt')を使用するときに問題が

buildTypes { 
    ... 
    custom { 
     minifyEnabled true 
     proguardFiles 'proguard-android-JACK.txt-2.2.0-alpha1' 
     jackOptions { 
      enabled true 
     } 
    } 

がありました。エラー:com.android.jack.api.v01.ConfigurationException: Error while parsing ...、。だから、私は不平を言った行を削除して、変更した設定ファイルを手動で指定しただけです。 https://source.android.com/source/jack.html

を公式ドキュメントから:あなたがここに見ることができ

+0

を確認してください。こんにちは、どのように現在の設定(カスタム)が署名されていないと不平を言いましたか? – galaxigirl

2

(ジャック)が縮小し、難読化、再パッケージングとmultidexを処理します。 ProGuardのような別のパッケージ を使用する必要はなくなりました。

は、それがいることを言及しています、特にセクション「縮小して難読化」注意してください:

をジャックは縮小して難読化支援をし、機能を縮小して難読化可能にするためにProGuardの 設定ファイルを使用するようになりました。

また、サポートされているオプションと無視されているオプションも表示されます。

+3

ありがとうございます。しかし、あなたはこのことについてどのくらい正確に説明していません。私はあまりにもその記事を読んだり(参照している)、それはかなり難解で曖昧で、難読化がいかに正確に行われているかについてのものです。あなたがそれを試すことができ、いくつかの詳細を提供すれば(もしうまくいくなら)、私は感謝しています....ありがとう:) –

関連する問題