2017-01-18 11 views
1

私たちが開発しているAndroidにアプリケーションをローカルでテストする方法はありますか?Androidのローカル開発の場合の指定方法は?

if (LOCALLY) { 
    MyLocalTools.xdebugIntegration(); 
    ... 
} 
... 

そして:私は、アプリケーションがデプロイされることを意図し、右リモートデータをフェッチしたときの対地域開発の場合に実行する必要があり、特定のコードを実行するためのコードでそのような何かを書くことができますアプリケーションは共有される、私はちょうどすべてのローカルコードをミュートするグローバルオプションを有効にする必要がありますか?

+1

ローカルデータからテストを行うために 'Junit'などのテストモジュールを使うのはどうですか? –

+0

私は 'Junit'の存在を知っていますが、これは個人的な小さなアプリなので、デバッガを使い、' AVC'を使ってアプリとの対話をシミュレートする方が好きです。二番目の点は、xdebugを使ってPHPをデバッグしているところです。ローカルでプログラミングするときに、私のローカルサーバIPアドレス – user544262772

答えて

2

ビルドフレーバとビルドバリアントを使用できます。以下のようなあなたのbuild.gradleで

あなたは、いくつかの味を定義することができます。

productFlavors { 

     dev { 
      buildConfigField "String", "SERVICE_URL_BASE", "\"dev.example/rest\"" 
      applicationId "development.example.app" 
     } 

     prod { 
      buildConfigField "String", "SERVICE_URL_BASE", "\"prod.example/rest\"" 
      applicationId "com.example.app" 
     } 

    } 

あなたは私たちが使用する別の変数で2風味を定義している見ることができるように。私の場合は、休憩サービスと異なるアプリケーションIDの2つの異なるエンドポイントを定義しました。

次に、Androidスタジオの左下に、アプリを起動するために使用するビルドバリアントを選択できます。ビルドバリアントは、ビルドフレーバとビルドタイプの組み合わせです(デフォルトはビルドタイプはデバッグとリリースです)。

BuildConfig.SERVICE_URL_BASE 

をそして、あなたはこのようなもので味をして、ビルドの種類にアクセスすることができます:使用

BuildConfig.FLAVOR 
BuildConfig.BUILD_TYPE 

次のようにあなたは、build.gradleファイルで定義された変数にアクセスすることができ、あなたのコードで

これらの変数は、あなたが望むすべてのスイッチを実装することができます

+0

を使ってページをロードする必要がありますか?これらの情報は最終的な成果物に含まれますか? – user544262772

+0

このアプローチを使用して、すべてのビルドバリアント変数をbuild.gradleファイルに含めることができます。明らかに、通常の方法でデバッグするときに、変種の値が一致するのは – firegloves

+0

です。どうすれば味を別のものに切り替えることができますか?私は、ローカルとリモートのHTTPサーバーをRESTサービス用に用意しています。今は自分のアプリケーションを展開する前に、リモートサーバーのRESTサービスがローカルサーバーと同じ動作をしていることを確認します。 productFlavorsは私の必要としているようですが、デバッグプロセスでどのように1つのフレーバーから別のフレーバーに切り替えるのですか? – user544262772

3

"ローカル開発"とは、debugビルドを意味し、 "展開する"平均releaseビルドの場合は、BuildConfig.BUILD_TYPEを使用してbuild typesを区別したり、BuildConfig.DEBUGを使用して、デバッグ可能なビルドとそうでないビルドを区別することができます。または、特定の定数が必要な場合はuse buildConfigFieldを入力して、そのカスタムフィールドをBuildConfigに追加します。

別の回答で引用されている製品のフレーバーは、Googleのアプリ内購入APIとAmazonのアプリ内購入APIの2つのリリースビルドが必要な場合に使用します。

+0

製品フレーバーは他の用途のために設計されていますが、より柔軟性があります。IMHO – firegloves

+1

@firegloves:このエリアではビルドタイプではできません。さらに、フレーバーのN個の異なるグループのフレーバーディメンションを使用することは煩雑になり始めます。したがって、開発ライフサイクルに真に結びついているものについては、ビルドタイプを使用してそれらをモデリングすることをお勧めします。 – CommonsWare

+0

あなたが言ったことをよく考えて、私はあなたに同意します – firegloves

関連する問題