讓我們從我的設置開始。 我有一個多模塊Maven項目:moduleA的RobolectricTestRunner在多模塊maven項目中找不到清單文件
ProjectRoot
\moduleA
\moduleB
(相關)內容:
- AndroidManifest.xml
- src\main\java\HelloWorldActivity
- src\test\java\HelloWorldActivityTest
HelloWorldActivityTest標註有:@RunWith(RoboelectricTestRunner.class)
我的問題是如果我指定清單位置,它將無法在IntelliJ IDEA或Maven(從命令提示符)中工作。
如果我指定的位置是:「/moduleA/AndroidManifest.xml」它工作在的IntelliJ 如果我指定的位置是「/AndroidManifest.xml」它工作在Maven的
所以指定的路徑將被解釋爲相對於項目根目錄(在Maven的情況下)或項目模塊(在IntelliJ的情況下)
爲了使它在兩種情況下都工作,我現在通過設置屬性來使用醜陋的解決方法項目建成使用Maven,如果屬性沒有設置我做:
System.setProperty("android.manifest", "moduleA/AndroidManifest.xml");
System.setProperty("android.resources", "moduleA/res");
System.setProperty("android.assets", "moduleA/assets");
請告訴我有更好的方法。 不,我不會改變項目結構來擁有一個單獨的測試模塊(除非你給我一個很好的理由)!