私のアプリは、サーバーリポジトリでホストされているリモートパッケージによって異なります。パッケージは独立して管理されます。Androidローカルクラスのリモートパッケージでクラスをオーバーライドする方法
今、リモートパッケージ内のクラスを展開したいと考えています。私は同じクラスのローカルコピーを作成し、それを実験目的で変更します。このようにして、ライブラリを修正し、リポジトリにプッシュし、すべてのデバッグサイクルで自分のアプリケーションをコンパイルする必要はありません。
ただし、アプリケーションのコンパイルでは、引き続きローカル拡張コピーではなくリモートクラスが使用されます。そして、エラーを報告する。
error: cannot find symbol variable XXX_XX1
error: cannot find symbol variable XXX_XX2
これらの変数のXXX_XX1とXXX_XX2を新たにローカルクラスA
リモートライブラリのレポに追加されます。org.example.packagename.datamodel.classA
ローカルソースパス \アンドロイド\アプリ\ src \ mock \ java \ org \ example \ packagename \ datamodel \ classA.java
私の質問は、コンパイル時にAndroid StudioでclassAのローカルコピーを使用するように要求する方法です。綿密に検討した後、UPDATE
、ユニットテストフォルダレポートエラーでのみのクラス。また、メインプログラムクラスはエラーを報告しません(まだ、単体テストクラスがコンパイルされた後のことでしょう)。
Error:Execution failed for task ':app:compileMockDebugUnitTestJavaWithJavac'. Compilation failed; see the compiler error output for details.
ライブラリを所有していますか? – Karakuri
@Karakuri私は貢献者ですが、一人の所有者ではありません。 – HarryQ
ライブラリに対して行った変更をテストしようとしていますが、そうするためには、jcenter/maven central/etcから取得する公開バージョンではなく、ローカルバージョンに対してコンパイルする必要があります。私はあなたの問題を正しく理解しましたか? – Karakuri