0

我在 Android 上使用 MobFox。我的一个布局中有一个 MobFoxView。当我为 4.0.3 编译 Android 时运行良好。但是,我想尝试为 2.0.1 构建它,但现在它不起作用。

在可视化编辑器上,我收到以下错误:

The following classes could not be instantiated:
-  (Open Class, Show Error Log)
See the Error Log (Window > Show View) for more details.
Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse

在错误日志中,我看到:

com.mobfox.sdk.MobFoxView failed to instantiate.

java.lang.NullPointerException
at com.mobfox.sdk.MobFoxView.<init>(MobFoxView.java:189)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

我的 MobFox 视图代码是:

<com.mobfox.sdk.MobFoxView
            android:id="@+id/mobFoxView"
            android:layout_width="fill_parent"
            android:layout_height="50dp"
            mode="live"
            publisherId="..." />

我正在通过 .jar 文件导入 MobFox 库。为 Android 4.0.3 编译时运行良好。

先感谢您

4

2 回答 2

0

结果是完全不相关的:在布局中,我在“match_parent”中有两个属性,Android 4 支持但不支持 2。将它们更改为“fill_parent”允许 gen 文件夹中的文件再次正常生成,一切在职的。

毕竟不是 MobFox 的问题。

于 2012-07-07T09:28:40.913 回答
0

您的最低构建版本应该是用于构建 MobFox 的版本,但如果没有注册,我无法在他们的网站上看到它。将目标版本(通过 project>properties 或project.properties)设置为android-15(或其他),但Android-Manifest.xml将 min sdk 指定为 6(或其他)并将目标 sdk 指定为 15(再次,无论如何)。您需要小心地将自己限制在最低版本的 Android 功能中。

假设这可行并且 MobFox 可以在您的较低版本的 Android 中使用,您可以降低构建 API 级别并重新测试直到它失败,但实际上(IMO)如果您想成为未来的证明,您应该保持较高的构建 API 级别并进行测试反对最低限度。

请注意,API 6(2.0.1)已被标记为过时,您最好定位到API 4(android 1.6)或API 7(2.2)

于 2012-07-07T03:20:37.390 回答