1

当我尝试为生产构建我的包时,我在 app.json 中设置的自定义构建路径被忽略。我在 buildPath 中得到了这个:

"buildPaths": {
        "testing":    "build/testing",
        "production": "build/project/assets/www",
        "package":    "build/project/assets/www",
        "native":     "build/native",
},

问题是当我在命令行中运行此命令时:

sencha app build production

命令行继续并在没有错误的情况下结束。但是当我查看我的构建路径时,我只看到一个名为:生产的文件夹。为什么忽略这些构建路径?我假设当我设置这些值时,我的应用程序将进入 build/project/assets/www 文件夹。怎么了?

Sencha touch version: 2.1.0-rc1
Sencha CMD version: V3.0.0.190
4

3 回答 3

2

buildPathsinapp.json已弃用(从 Sencha Touch 2.1.0 和 Sencha Cmd v3.0.0.250 起不再工作)

您必须配置路径,如 中所示./sencha/app/build-impl.xml

该文件由文件导入./build.xml,因此如果可能,应在此最终文件中进行更改。

我不确切知道如何设置构建路径,因为我需要的略有不同。

我希望将打包的文件复制到一个目录中,然后 Phonegap 将使用该目录。

我给build-impl.xml文件改的是-after-build声明,里面写了一条copy语句,如图:

<target name="-after-build">
    <copy todir="../phonegap_project/www">
        <fileset dir="${workspace.build.dir}/package"/>
    </copy>
</target>

最终,如果您需要事先清空目标目录,您可以添加

    <delete dir="../phonegap_project/www"/>

就在copy声明之前。

sencha app build package然后,我使用命令构建。

参考:同样问题的煎茶论坛

于 2012-11-21T15:07:49.577 回答
1

大家好,我正在使用 Sencha cmd v5+

对我来说,以下几行项目根目录下的 build.xml 标记运行起来就像一个魅力。

<target name="-after-build">
  <copy todir="../../gap/NAME_OF_MY_PROJECT_DIRECTORY/www">
    <fileset dir="${workspace.build.dir}/../package"/>
  </copy>
</target>

对不起我的英语不好,但我正在学习。

于 2015-05-17T21:10:33.320 回答
0

我想出了一种解决方法。我尝试的第一件事是设置绝对路径,但这没有帮助(是的,我在 Windows 上)。

我需要更改路径的原因是:我在该文件夹中有一个 eclipse (android/phonegap) 项目。每次我构建 sencha 应用程序时,路径都不正确。所以我只是将eclipse项目中的loadurl更改为:

 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/production/index.html");
    }

代替:

  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
    }

不是真正的解决方案,因为它仍然忽略构建路径,但这对我来说不再是问题。

于 2012-10-18T15:27:06.637 回答