1

我只是想为 Square 的 Flow 库构建示例应用程序,特别是来自此提交的代码:

https://github.com/square/flow/commit/38c1e12d49b20b4f7eeee6a21f339e03dac76394

我从命令行使用 mvn 。它成功完成,APK可以安装在我的设备上,但无法启动。构建过程中唯一可疑的输出是大量消息,如下所示:

[INFO] trouble processing:
[INFO] bad class file magic (cafebabe) or version (0033.0000)
[INFO] ...while parsing flow/Backstack$ParcelableBackstack$1.class
[INFO] ...while processing flow/Backstack$ParcelableBackstack$1.class

但正如我所说,mvn 报告“BUILD SUCCESS”。

我认为 logcat 输出的相关部分如下:

D/SlideAside(31288): [MainService.java:201:handleNewActivity()] oooooo User executes an App : com.example.flow (filtered)
I/ActivityManager( 935): Start proc com.example.flow for activity com.example.flow/.MainActivity: pid=6973 uid=10506 gids={50506}
V/ActivityManager( 935): Moving to STOPPING: ActivityRecord{435be3b0 u0 com.teslacoilsw.launcher/com.android.launcher2.Launcher t1} (stop requested)
V/ActivityManager( 935): Moving to STOPPED: ActivityRecord{435be3b0 u0 com.teslacoilsw.launcher/com.android.launcher2.Launcher t1} (stop complete)
I/MicrophoneInputStream( 2963): mic_close fib@431d87f
V/AudioRecord( 2963): stop()
D/AudioRecord( 2963): AudioRecord->stop()
V/AudioFlinger( 276): RecordHandle::stop()
V/AudioFlinger( 276): RecordThread::stop
D/dalvikvm( 6973): Debugger has detached; object registry had 1 entries
V/ActivityManager( 935): Moving to RESUMED: ActivityRecord{43aaf978 u0 com.example.flow/.MainActivity t135} (starting new instance)
V/audio_hw_primary( 276): in_standby: enter
D/PhoneApp( 1614): getIsInUseVoLTE : false
D/HyLog ( 6973): I : /data/font/config/dfactpre.dat, No such file or directory (2)
W/System.err( 6973): java.lang.RuntimeException: Unable to instantiate application com.example.flow.DemoApp: java.lang.ClassNotFoundException: Didn't find class "com.example.flow.DemoApp" on path: DexPathList[[zip file "/data/app/com.example.flow-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.flow-1, /vendor/lib, /system/lib]]
W/System.err( 6973): at android.app.LoadedApk.makeApplication(LoadedApk.java:526)
W/System.err( 6973): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4390)
W/System.err( 6973): at android.app.ActivityThread.access$1500(ActivityThread.java:139)
W/System.err( 6973): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1260)
W/System.err( 6973): at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err( 6973): at android.os.Looper.loop(Looper.java:136)
W/System.err( 6973): at android.app.ActivityThread.main(ActivityThread.java:5105)
W/System.err( 6973): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 6973): at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err( 6973): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
W/System.err( 6973): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
W/System.err( 6973): at dalvik.system.NativeStart.main(Native Method)
W/System.err( 6973): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.flow.DemoApp" on path: DexPathList[[zip file "/data/app/com.example.flow-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.flow-1, /vendor/lib, /system/lib]]
W/System.err( 6973): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err( 6973): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err( 6973): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
W/System.err( 6973): at android.app.Instrumentation.newApplication(Instrumentation.java:975)
W/System.err( 6973): at android.app.LoadedApk.makeApplication(LoadedApk.java:521)
W/System.err( 6973): ... 11 more

为此,我使用了 mvn 3.2.3 和 Java 6,但我也使用了 mvn 3.1.1 和 Java 7,结果相同。

我的 mvn 路径有问题吗,因为某些类显然不包含在 apk 中?

更新:有趣的是,完全相同的操作过程在我工作的 Mac 上生成了一个可用的 APK(我的家用机器使用 Ubuntu)。所以我想这只是Maven恨我的另一个例子......

4

0 回答 0