Gradle プラグイン(Java 用)トラブルシューティング
- プラグインが適用されているかどうかを確認する
- エラー
- Error: Could not find method dashOConfig() for arguments...
- Error: Plugin with id 'com.preemptive.dasho*' not found.
- Error: Could not find any version that matches com.preemptive:dasho:X.Y+.
- Error: Could not set unknown property '{some name}' for object of type com.preemptive.dasho.gradle.DashOExtension
- Error: Could not set unknown property 'maxHeap' for object of type com.preemptive.dasho.gradle.DashOExtension
- Error: Could not set unknown property 'verbose' for object of type com.preemptive.dasho.gradle.DashOExtension
- Error: Could not set unknown property 'debug' for object of type com.preemptive.dasho.gradle.DashOExtension
- Error: Could not get unknown property 'classesDir' for main classes of type org.gradle.api.internal.tasks.DefaultSourceSetOutput
- 構成が正しい検証する
- Error: File '{プロジェクトのパス}/project.dox' specified for property 'doxFile' does not exist.
- Error: DashOHome is not configured.
- Error: tried to access method org.gradle.api.tasks.JavaExec.exec()V...
- Error: Cannot find "{some name}" in: {name} -- {path} ...
- 保護時のエラー
- Error: java.lang.OutOfMemory: Java heap space or java.lang.OutOfMemory: GC overhead limit exceeded
- Error: Option --properties not understood.
- 保護した後の Gradle の問題
- 一時的に DashO の統合を無効にする
- パラメーターのトラブルシューティング
プラグインが適用されているかどうかを確認する
gradlew tasks [-all]
を実行します。
com.preemptive.dasho
または com.preemptive.dashoJar
プラグインを適用した場合は、build
セクションに obfuscate
や obfuscateJar
のようなタスクが表示されます。
バージョン 1.8 以降のプラグインを使用している場合は、Help tasks
セクションに dashOPluginVersion
タスクが表示されます。
4.0 より前の場合、このタスクは Other tasks
セクションに表示されます。
エラーが発生せず、上記のタスクがどれも表示されない場合は、作成したスクリプト内でプラグインが適用されているかどうかを確認してください。
エラー
以下に、一般的なエラーと解決方法をいくつか示します。
Error: Unexpected char '\' ... flatDir dirs:
DashO ホームを指定する場合は、スラッシュ('/')を使用してください。
Error: Could not find method dashOConfig() for arguments...
com.preemptive.dasho
、com.preemptive.dashoJar
、または com.preemptive.dashoCustom
プラグインのうち、いずれかが適用されていることを確認してください。
さらに、dashOConfig
が別のどのクロージャ内にも存在していないことを確認してください。
メモ: このエラーは、Android プロジェクトでバージョン 4.0 以降のプラグインを使用しようとすると発生します。 新しい DashO Gradle プラグイン(Android 用)を使用する必要があります。
Error: Plugin with id 'com.preemptive.dasho*' not found.
buildscript dependencies クロージャ内でプラグインが参照されていることを確認してください。
Error: Could not find any version that matches com.preemptive:dasho:X.Y+.
repositories クロージャ内で dasho-x.y.z.jar
ファイルを含んでいるディレクトリが参照されていることを確認してください。
Error: Could not set unknown property '{some name}' for object of type com.preemptive.dasho.gradle.DashOExtension
{some name}
は、構成ページの一覧にある設定であることを確認してください。
メモ:Android 固有の設定はバージョン 4.0.0 で削除されました。 (Gradle Plugin 3.3 User Guide の日本語版なし)以前のバージョンのプラグインを使用している場合は、オンライン ドキュメント(英語)参照してください。
Error: Could not set unknown property 'maxHeap' for object of type com.preemptive.dasho.gradle.DashOExtension
DashO Gradle プラグイン(Java 用)のバージョン 1.7.0(以降)を使用していることを確認してください。
Error: Could not set unknown property 'verbose' for object of type com.preemptive.dasho.gradle.DashOExtension
DashO Gradle プラグイン(Java 用)のバージョン 2.3.4(以降)を使用していることを確認してください。
Error: Could not set unknown property 'debug' for object of type com.preemptive.dasho.gradle.DashOExtension
DashO Gradle プラグイン(Java 用)のバージョン 3.2.0(以降)を使用していることを確認してください。
Error: Could not get unknown property 'classesDir' for main classes of type org.gradle.api.internal.tasks.DefaultSourceSetOutput
com.preemptive.dasho
プラグインは Gradle 5 をサポートしません。そのプラグインでは Gradle 4.x を使用してください。
構成が正しい検証する
gradlew build
を実行します。
プラグインが正しく適用され構成されていれば、DashO によりコードは保護されます。
エラーが発生する場合、一般的なエラーと解決方法は次のとおりです。
Error: File '{プロジェクトのパス}/project.dox' specified for property 'doxFile' does not exist.
dashOConfig
クロージャ内に doxFilename
が指定されていることを確認してください。
既定では、project.dox
を探します。
Error: DashOHome is not configured.
dashOHome
が、dashOConfig
クロージャまたは DASHO_HOME
環境変数に指定されていることを確認してください。
詳細については、プラグインの構成を参照してください。
Error: tried to access method org.gradle.api.tasks.JavaExec.exec()V...
古いバージョンの Gradle を使用しています。最新のバージョンへアップグレードしてください。
Error: Cannot find "{some name}" in: {name} -- {path} ...
includeAsInputs
で指定する名前が間違いないことを確認してください。
保護時のエラー
DashO の実行時にエラーが発生した場合、その情報は出力内にリストされます。
DashO の構成で使用した ${gradleInput}
と ${gradleOutput}
を再確認してください。
Error: java.lang.OutOfMemory: Java heap space or java.lang.OutOfMemory: GC overhead limit exceeded
maxHeap を増加(または設定)します(構成を参照してください)。 1.7 より前のバージョンを使用している場合は、以下の手順を試してみてください。
gradle ビルド スクリプトに新しいタスクを追加します。
gradlew tasks
を実行したときに、新しいタスクが適切なタスク名で定義されていることを確認してください。task setMaxMem { doLast { project.tasks['obfuscateDebug'].maxHeapSize=536870912 //bytes project.tasks['obfuscateRelease'].maxHeapSize=536870912 //bytes } }
これを手動で呼び出した後、タスクをビルド(
gradlew setMaxMem build
など)します。
Error: Option --properties not understood.
DashO のバージョン 8.1.0(以降)を使用していることを確認してください。
保護した後の Gradle の問題
プロジェクトの .dox
ファイルに間違った構成があると、次のようなエラーが発生します。
問題:com.preemptive.dasho
プラグインを使用していますが、Gradle によって作成された jar ファイル内にクラスがありません。
.dox
ファイルで、出力場所として ${gradleOutput}
を使用していること(また、それがマージされたディレクトリであること)を確認してください。
問題:com.preemptive.dashoJar
プラグインを使用していますが、ビルド フォルダー内に obfuscated_libs
ディレクトリが見当たりません。
.dox
ファイルで、出力場所として ${gradleOutput}
を使用していること(また、それが jar ファイルであること)を確認してください。
一時的に DashO の統合を無効にする
DashO によって追加されたタスクを使わずにビルドを実行したい場合は、gradlew
を実行するときにコマンド ラインで -DDISABLE_DASHO
を追加すれば、DashO の使用を無効にすることができます。
メモ:
DISABLE_DASHO
設定は、com.preemptive.dashoCustom
プラグインを使用している場合には影響ありません。このプラグインはタスクを何も追加しません。
パラメーターのトラブルシューティング
DashO に渡されるすべてのパラメーターをご覧になりたい場合は、gradlew
の実行時、コマンド ラインに -DSHOW_DASHO_CMD
を追加してください。
これによって、DashO に渡された .properties
ファイルの内容を出力し、DashO の実行に使用される完全なコマンド ラインを表示します。
メモ:これは、バージョン 1.7 以降でのみサポートされます。