从Java应用程序创建/模拟Android上下文
我正在尝试编写一个java程序,在Android项目中使用一些函数。 我不需要安卓设备或模拟器,我只需要使用安卓项目的一些功能 我遇到的问题是:我试图从JAVA运行类似的东西:从Java应用程序创建/模拟Android上下文,java,android,mocking,mockito,android-context,Java,Android,Mocking,Mockito,Android Context,我正在尝试编写一个java程序,在Android项目中使用一些函数。 我不需要安卓设备或模拟器,我只需要使用安卓项目的一些功能 我遇到的问题是:我试图从JAVA运行类似的东西: AndroidProject testService = new AndroidProject(_context); testService.start(); 但是“上下文”是安卓的东西,我就是不知道如何创建一个,或者模拟一个,或者从我的Java类中获取一个 实际上,我对上下文并不感兴趣,我只对testService.
AndroidProject testService = new AndroidProject(_context);
testService.start();
但是“上下文”是安卓的东西,我就是不知道如何创建一个,或者模拟一个,或者从我的Java类中获取一个
实际上,我对上下文并不感兴趣,我只对testService.start()
感兴趣,但AndroidProject没有()构造函数,只有AndroidProject(上下文)
构造函数可用
我试过了
Context _context;
_context = null;
AndroidProject testService = new AndroidProject(_context);
testService.start();
但是我在线程“main”java.lang.RuntimeException:Stub中得到了一个异常代码>错误
我也试过了
MainActivity myMainActivity = new MainActivity();
Context _context;
_context = myMainActivity.getBaseContext(); // also tried getApplicationContext()
我开始研究嘲弄,但不知道我是否把它弄得太复杂了
- “Mockito”只模拟接口,我想模拟
main活动
class
- “Android Mock”太复杂了,我
无法使用
main活动myMockObject生成我的项目=
createMock(MainActivity.class)代码>
- “Robotium”似乎是一款测试Android应用程序的Android应用程序
我只想创建某种Android虚拟上下文,并在java应用程序中使用它,以访问该Android类的其他函数…这可能吗?Android.jar
只包含类的存根实现。它为你的应用程序提供了构建方法,一旦你有了APK,你就必须在android设备或模拟器上运行它
即使您模拟所需的组件(即上下文
),您也会在某个地方找到存根。如果您不这样做,那么您尝试运行的代码就不依赖于android,您可以将其考虑到一个外部的jar
,它可以在Java和android项目之间共享