2

我正在尝试为 Android 应用安装 NewRelic 的移动代理。我按照他们的指示设置了 NEWRELIC_HOME(指向代理目录)和 ANDROID_HOME(指向 Android SDK 位置)。当我从应用程序目录运行 nrandroid-setup 时(如建议的那样),我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/android/utils/ILogger
Caused by: java.lang.ClassNotFoundException: com.android.utils.ILogger
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: com.newrelic.agent.install.Main.  Program will exit.
error: java returned a non-zero status code

我看过他们的安装视频,很简单,所以不知道为什么我的安装不起作用(唯一的区别,我在 64 位 Windows 7 下运行,他们使用的是 Mac)

4

3 回答 3

4

我想你可能已经用 New Relic 开了一张票,但在以前的情况下,这个问题是通过检查你的环境变量和更新 SDK 来解决的(我包括更新 New Relic 监控 SDK,但它不太可能是原因)

1) 验证您是否已声明 NEWRELIC_HOME 和 ANDROID_HOME,通常通过运行“导出”命令确保两者都已声明。然后确保您可以根据这些变量进行导航,并查看它们指向正确的位置。如果您仍然遇到问题,请在回复中包含“导出”的结果。

在 PowerShell 中使用Get-ChildItem Env:

在终端使用export

从 cmd 使用SET

2) 更新您的 Android SDK

要将 Eclipse 的 ADT 插件更新到最新版本,请执行以下步骤:

选择帮助 > 软件更新 > 查找并安装...。

选择搜索当前安装功能的更新,然后按完成。

如果有任何 ADT 更新可用,请选择并安装。

3) 确保您拥有最新版本的 New Relic for Mobile Apps for Android。

登录 rpm.newrelic.com 并转到移动设备>“查看说明”或“添加新的移动应用程序”,即可获得最新版本的 Android 代理

值得注意的是,我们的需求页面上没有列出 Android SDK,我们只是意识到这给一些用户带来了麻烦,我认为步骤 2) 将解决问题。一旦我们完成所有测试和验证,我还将根据该要求更新我们的文档。

于 2013-03-29T18:16:33.547 回答
2

基本上,托比所说的所有事情,也检查了你正在运行的 Java 版本。就我而言,我无法使用 java 1.6.0_32 构建,它仅在我升级到版本 1.7.0_13 时才有效

于 2013-03-29T21:11:17.557 回答
2

您必须更改您的 android sdk,这可能是因为您的 android sdk_> tools->sdklibs.jar 没有记录器类请更改最新的 sdk 我已经更改了 sdk 并解决了我的问题。

于 2013-04-02T10:36:58.707 回答