2016-11-22 6 views
0

私はAndroidアプリケーション用のGradleビルドスクリプトを用意しています。ビルドタスクが始まる前に、メインのクラス名を変更して、各* .javaファイルのインポートを変更する必要があります。今、私のメインクラスはcom.company.myAppので、各javaファイル内のパッケージある場合クラス名をgradleに変更

は、たとえば、次のようにインポートされます:import com.company.myApp.pacakge.は*と私はcom.company.newNameにメインクラスの名前を変更するときまた、インポートを次のように変更しました:import com.comapny.newName.package.*

私はGradleの初心者ですが、replace()関数と同等の情報を見つけようとしていましたが、シャドウプラグインが見つかりましたが、JARファイルで動作します。 ReplaceTokensを使用しているもう1つのsoultionがありますが、それはトークンで動作し、クラス名はのようなトークンではありません。

Gradleで行う方法はありますか?

+0

"ビルドタスクを開始する前に、メインクラス名を変更して各* .javaファイルのインポートを変更する必要があります" - なぜですか? – CommonsWare

+0

@CommonsWareは適切なIDを持つアプリケーションをビルドします。私は解決策を見つけたと思う:http://stackoverflow.com/questions/17465353/how-to-replace-a-string-for-a-buildvariant-with-gradle-in-android-studio – Blady214

+1

あなたはしない適切なIDを持つアプリケーションを構築するために、クラスの名前を変更したり、クラスを再パッケージする必要があります。 'build.gradle'ファイルに' applicationId'を設定して、製品フレーバーに基づいて適切なIDを持つアプリケーションを構築することができます。 – CommonsWare

答えて

1

同様の問題を抱えている他の人には、Gradleを使用して文字列を他の文字列に変更するのは簡単です。

copy { 

    from "src_tmp" 
    into "src" 

    filter { 
     String line -> line.replaceAll("com.company.app", "com.new.string") 
    } 

} 
関連する問題