0

我今天运行了我的 android maven 插件,现在我想在真正的 Android 设备上调试我的 apk。

当我执行

cd android-proj 
mvn clean install android:redeploy 

并在我的设备上启动应用程序,我在 LogCat 中偶然发现了这个错误消息:

10-27 21:16:08.857: E/AndroidRuntime(14556): java.lang.NoClassDefFoundError: de.dornathal.planyourmeals.android.database.AndroidDBHelper$SQLiteDatabaseAdapter

但是,我搜索了解决方案并发现某些库未正确包含,这可能导致此问题。AndroidDBHelper 类不包含在 maven pom 中的依赖项中,因为它是“android-proj/android-apk”中的嵌套类。其中 android-proj 是 Maven 具有 2 个模块 apk 和核心功能的文件夹。

由于 AndroidManifest.xml 没有直接链接到 AndroidDBHelper 并且 AndroidDBHelper 是唯一知道 SQLiteDatabaseAdapter 的类,因此 Maven 构建的 apk 必须至少比仅调用 MainActivity 更进一步。

MFG 多纳索尔

4

1 回答 1

0

好的,我找到了为什么我一直遇到这个问题,以及遇到同样事情的每个人:

我以为我要在我的设备上重新部署一些东西,但实际上它被跳过了。要使用 android:deploy 或 android:redeploy 我必须移动到定义 apk 的 pom 所在的确切文件夹。当我将两个文件夹命名为相同的名称时,我的 Shell 不在正确的位置。

我的树:

android-app [<--- thats where I was]
   \--- android-app [<---- thats where I should have been]
       \---target (with apk)
   \--- android-app-it (the integration test)
于 2013-10-28T01:11:39.830 回答