GenyMotionのローカルホストIPアドレス(10.0.3.2)は、AndroidエミュレータのローカルホストIP(10.0.2.2)とは異なります。現在、私は私のソースファイルのいずれかでこれを持っている:Android Gradleビルドでデバッグに入るファイルを書き込むAPK
//val LOCALHOST = "10.0.2.2" // Android emulator
val LOCALHOST = "10.0.3.2" // Genymotion
と私はLinuxマシンとMacのボックスを切り替えると、最新のソースを取得するたびに、私は1つのコメントを解除し、再構築する前に他のコメントを持っています。
誰かがより良い解決策を考えることができない限り、私はアクセスできるようにAPKに含まれるファイルにホストOSに応じてこれらの値の1つを書き込むGradleタスクを持っていたいと思います私のAndroidアプリのランタイムからそれを実行し、Androidスタジオでビルドすると、そのタスクはassembleDebug
より前に実行されます。
私はそれをリソースに入れておくとランタイム側でアクセスするのが簡単だと思いますが、Class.getResourceAsStream()でアクセスできるプレーンテキストファイルでさえも問題ありません。
リリースapkに含まれているかどうかは気にしませんが、デバッグ対象に入れることをお勧めします。
また、私のbuild/
出力ディレクトリにファイルが生成され、バージョンコントロールには表示されないようにしたいと考えています。
どのようにすればいいですか?
ありがとうございました!これはうまくいった。 – user3562927