Netbeans、NBAndroid升级旧的NBAndroid项目失败。有关详细信息,请参阅日志文件

Netbeans、NBAndroid升级旧的NBAndroid项目失败。有关详细信息,请参阅日志文件,android,netbeans,project,Android,Netbeans,Project,我一直收到这个错误(升级旧的nbandroid项目projectName失败。有关详细信息,请参阅日志文件。)对于Netbeans中的一些android项目。我不确定在哪里可以找到消息所指的日志,我已经检查了在netbeans和系统日志中可以找到的所有日志。没有用,没有更多的信息 我试图追踪分数代码,看看是什么导致了这个错误,我发现了这个代码(这里:) 留下几乎3种可能性,我试着寻找所有这些,据我所知,所有3种可能性的数据都存在。我检查了project.properties、genfiles.p

我一直收到这个错误(升级旧的nbandroid项目projectName失败。有关详细信息,请参阅日志文件。)对于Netbeans中的一些android项目。我不确定在哪里可以找到消息所指的日志,我已经检查了在netbeans和系统日志中可以找到的所有日志。没有用,没有更多的信息

我试图追踪分数代码,看看是什么导致了这个错误,我发现了这个代码(这里:)

留下几乎3种可能性,我试着寻找所有这些,据我所知,所有3种可能性的数据都存在。我检查了project.properties、genfiles.properties和project.xml文件,如果需要,我很乐意提供这些文件

任何提示或建议将不胜感激,该项目目前正在工作,但我想摆脱恼人的消息在启动


我现在已经设法找到了确切的故障。提到的日志文件隐藏在netbeans目录中(在netbeans 7.2中也发生了更改)

我需要[netbeans file root]/config/services/platforms/org netbeans api java platform中的平台文件

这些不再在我能找到的任何地方可用,我还检查了我们所有的旧开发人员计算机


如果有人有这些平台文件(根据我的发现,我怀疑它们是xml文件),如果他们能将它们发送给我,我将不胜感激。我应该能够修改它们以使其工作。

项目更新过程似乎无法从netbeans userdir中的某个文件加载Java平台定义-因此它无法设置Android SDK位置并找到项目的目标平台。当您升级IDE或出于其他原因时,文件/设置可能丢失

我的建议是手动迁移项目。这里面有个暗示 删除nbproject目录并创建Android项目,如中所述。NBAndroid认识到这个项目结构,并将能够使用它。或者在一个空目录中创建此项目,并将您的源+资源移动到那里


-Radim

手动更新效果很好,项目非常相似,因此在我完成一个脚本后,编写一个脚本来完成这项工作就很容易了。谢谢你的帮助!:)
private static AndroidGeneralData findSDKAndTarget(
        AndroidProject project, PropertyProvider props, FileObject nbproject) {
    String platformName = props.getProperties().get("platform.active");
    if (platformName == null) {
        LOG.log(Level.INFO, "Cannot upgrade old nbandroid project. platform definition not found in project.properties");
        return null;
    }
    FileObject storage = FileUtil.getConfigFile(PLATFORM_STORAGE);
    String buildTargetPath = null;
    if (storage != null) {
        for (FileObject platformProvider : storage.getChildren()) {
            buildTargetPath = parseIfActivePlatorm(platformProvider, platformName);
            if (buildTargetPath != null) {
                break;
            }
        }
    }
    if (buildTargetPath == null) {
        LOG.log(Level.INFO, "Cannot upgrade old nbandroid project. platform {0} not found", platformName);
        return null;
    }
    DalvikPlatform platform = toDalvikPlatorm(buildTargetPath);
    if (platform == null) {
        LOG.log(Level.INFO, "Cannot upgrade old nbandroid project. platform {0} not found in Android SDK", platformName);
        return null;
    }
    AndroidGeneralData data = new AndroidGeneralData();
    data.setPlatform(platform);
    data.setProjectDirPath(project.getProjectDirectoryFile().getAbsolutePath());
    data.setProjectName(project.getLookup().lookup(ProjectInformation.class).getName());

    return data;
}