gpt4 book ai didi

ubuntu - 在路径 : DexPathList 上找不到类 "Foo"

转载 作者:行者123 更新时间:2023-12-04 18:32:38 24 4
gpt4 key购买 nike

我想按照本指南在 Ubuntu x64 上构建和运行 Dalvik VM:PATH/TO/AOSP/dalvik/docs/hello-world.html .

我的代码分支和主机是这样的:

============================================
PLATFORM_VERSION_CODENAME=AOSP
PLATFORM_VERSION=4.2.1.2.4.8.16.32.64
TARGET_PRODUCT=full_x86
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=x86
TARGET_ARCH_VARIANT=x86
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.0.0-28-generic-x86_64-with-Ubuntu-11.10-oneiric
HOST_BUILD_TYPE=release
BUILD_ID=OPENMASTER
OUT_DIR=out
============================================

首先,我在 Ubuntu 上构建 Dalvik:
source build/envsetup.sh
lunch 2[full_x86-eng]
make dalvikvm core dexopt ext framework android.policy services

然后我编译Java代码并打包它。

之后我像这样运行它,但它失败了:
guohai@KNIGHT:~/dev/src/android/git/aosp$ ./rund -cp Foo.jar Foo

任何机构都可以提供一些线索吗?

日志如下:
I/dalvikvm(10102): DexOpt: mismatch dep name: '/home/guohai/dev/src/android/git/aosp/out/target/product/generic_x86/system/framework/core.odex' vs. '/system/framework/core.odex'
E/dalvikvm(10102): /home/guohai/dev/src/android/git/aosp/out/target/product/generic_x86/system/framework/ext.jar odex has stale dependencies
I/dalvikvm(10102): Zip is good, but no classes.dex inside, and no valid .odex file in the same directory
I/dalvikvm(10102): DexOpt: mismatch dep name: '/home/guohai/dev/src/android/git/aosp/out/target/product/generic_x86/system/framework/core.odex' vs. '/system/framework/core.odex'
E/dalvikvm(10102): /home/guohai/dev/src/android/git/aosp/out/target/product/generic_x86/system/framework/framework.jar odex has stale dependencies
I/dalvikvm(10102): Zip is good, but no classes.dex inside, and no valid .odex file in the same directory
I/dalvikvm(10102): DexOpt: mismatch dep name: '/home/guohai/dev/src/android/git/aosp/out/target/product/generic_x86/system/framework/core.odex' vs. '/system/framework/core.odex'
E/dalvikvm(10102): /home/guohai/dev/src/android/git/aosp/out/target/product/generic_x86/system/framework/android.policy.jar odex has stale dependencies
I/dalvikvm(10102): Zip is good, but no classes.dex inside, and no valid .odex file in the same directory
I/dalvikvm(10102): DexOpt: mismatch dep name: '/home/guohai/dev/src/android/git/aosp/out/target/product/generic_x86/system/framework/core.odex' vs. '/system/framework/core.odex'
E/dalvikvm(10102): /home/guohai/dev/src/android/git/aosp/out/target/product/generic_x86/system/framework/services.jar odex has stale dependencies
I/dalvikvm(10102): Zip is good, but no classes.dex inside, and no valid .odex file in the same directory
E/dalvikvm(10105): execv '/home/guohai/dev/src/android/git/aosp/out/target/product/generic_x86/system/bin/dexopt' failed: No such file or directory
W/dalvikvm(10102): DexOpt: --- END 'Foo.jar' --- status=0x0100, process failed
E/dalvikvm(10102): Unable to extract+optimize DEX from 'Foo.jar'
Dalvik VM unable to locate class 'Foo'
W/dalvikvm(10102): threadid=1: thread exiting with uncaught exception (group=0xf5a1d9c8)
java.lang.NoClassDefFoundError: Foo
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "Foo" on path: DexPathList[[zip file "Foo.jar"],nativeLibraryDirectories=[/home/guohai/dev/src/android/git/aosp/out/target/product/generic_x86/system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
... 1 more

最佳答案

在我更改 ANDROID_ROOT 之后我的启动脚本,它的工作原理。
我的解决方法如下:

#!/bin/sh

# base directory, at top of source tree; replace with absolute path
base=`pwd`

# configure root dir of interesting stuff
root=$base/out/host/linux-x86
export ANDROID_ROOT=$root

# configure bootclasspath
bootpath=$base/out/target/product/generic_x86/system/framework
export BOOTCLASSPATH=$bootpath/core.jar:$bootpath/ext.jar:$bootpath/framework.jar:$bootpath/android.policy.jar:$bootpath/services.jar

export LD_LIBRARY_PATH=$bootpath/lib:$LD_LIBRARY_PATH

# this is where we create the dalvik-cache directory; make sure it exists
export ANDROID_DATA=/tmp/dalvik_$USER
mkdir -p $ANDROID_DATA/dalvik-cache

exec $root/bin/dalvikvm -Xdexopt:none $@

关于ubuntu - 在路径 : DexPathList 上找不到类 "Foo",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14951374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com