0
votes

I try to build a sample Sencha app for Android platform with this tutorial: http://docs.sencha.com/touch/2-0/#!/guide/native_android.

I made all the steps (1, 2, 3) and now try to build an *.apk file:

sencha --debug package build config.json

I have a strange output where there is an attempt to access to extremely long path with repeating fragments "\assets\build":

C:\all\GS\build\\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\app\controller\C:\all\GS\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\app\controller\

Does anyone know why it should be happened? It seems strange that the path has two backslashes in the beginning, but I don't know why.

My config.json is:

{
    /**
     * @cfg {String} applicationName
     * @required
     * This is the name of your application, which is displayed on the device when the app is installed. On IOS, this should match
     * the name of your application in the Apple Provisioning Portal.
     */
    "applicationName":"FirstApp",

    "iconName": "C:/all/GS/resources/icons/Icon.png",

    /**
     * @cfg {String} applicationId
     * This is the name namespace for your application. On IOS, this should match the name of your application in the Apple Provisioning Portal.
     */
    "applicationId":"com.ergosolo.firstApp",

    /**
     * @cfg {String} bundleSeedId
     * A ten character string which stands before aplication ID in Apple Provisioning Portal
     */
    "bundleSeedId":"KPXFEPZ6EF",

    /**
     * @cfg {String} versionString
     * @required
     * This is the version of your application.
     */
    "versionString":"1.0",

    /**
     * @cfg {Integer} versionCode
     * @required
     * This is the integer version code of your application, or you can refer to it as a build number. Used only for Android builds.
     */
    "versionCode":"1",

    /**
     * @cfg {Object} icon
     * For iOS, please refer to their documentation about icon sizes:
     * https://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html
     *
     * For Android, please refer to the Google Launcher icons guide:
     * http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html
     */
    "icon": {
        "57":"resources/icons/Icon.png",
        "72":"resources/icons/Icon~ipad.png",
        "114":"resources/icons/[email protected]",
        "144":"resources/icons/[email protected]"
    },

    /**
     * @cfg {String} inputPath
     * @required
     * This is location of your Sencha Touch 2 application, relative to this configuration file.
     */
    "inputPath":"C:/all/GS",

    /**
     * @cfg {String} outputPath
     * @required
     * This is where the built application file with be saved. Make sure that output path is not in your input path, you may get into endless recursive copying
     */
    "outputPath":"C:/all/GS/build",

    /**
     * @cfg {String} configuration
     * @required
     * This is configuration for your application. `Debug` should always be used unless you are submitting your app to an online
     * store - in which case `Release` should be specified.
     */
    "configuration":"Debug",

    /**
     * @cfg {String} platform
     * @required
     * This is the platform where you will be running your application. Available options are:
     *  - iOSSimulator
     *  - iOS
     *  - Android
     *  - AndroidEmulator
     */
    "platform":"AndroidEmulator",

    /**
     * @cfg {String} deviceType
     * @required
     * This is device type that your application will be running on.
     *
     * If you are developing for Android, this is not necessary.
     *
     * Available options are:
     *  - iPhone
     *  - iPad
     *  - Universal
     */
    "deviceType":"Universal",

    /**
     * @cfg {String} certificatePath
     * This is the location of your certificate.
     * This is required when you are developing for Android or you are developing on Windows.
     */
    "certificatePath":"C:/all/GS/my-debug-key.keystore",

    /**
     * @cfg {String} certificateAlias
     * This is the name of your certificate.
     *
     * IF you do not specify this on OSX, we will try and automatically find the certificate for you using the applicationId.
     *
     * This can be just a simple matcher. For example, if your certificate name is "iPhone Developer: Robert Dougan (ABCDEFGHIJ)", you
     * can just put "iPhone Developer".
     *
     * When using a certificatePath on Windows, you do not need to specify this.
     */
    "certificatePassword":"",
    /**
     * @cfg {String} certificatePassword
     * The password which was specified during certificate export
     */
    "provisionProfile":"",
    /**
     * @cfg {String} provisionProfile
     * The path to the provision profile (APP_NAME.mobileprovision) which you can create and then download from Apple's provisioning portal
     */
    "sdkPath":"C:/Users/sergzach/Desktop/adt-bundle-windows-x86/adt-bundle-windows-x86/sdk",

    /**
     * @cfg {String} sdkPath
     * This is the path to the Android SDK, if you are developing an Android application.
     */

    /**
    /**
     * @cfg {String} androidAPILevel
     * This is android API level, the version of Android SDK to use, you can read more about it here: http://developer.android.com/guide/appendix/api-levels.html.
     * Be sure to install corresponding platform API in android SDK manager (android_sdk/tools/android)
     */
    "androidAPILevel":"17",

    /**
    /**
     * @cfg {Array[String]} permissions
     * Array of permissions that is used by an application (Android only) 
     * Full list of permissions for Android application can be found here: http://developer.android.com/reference/android/Manifest.permission.html#ACCESS_CHECKIN_PROPERTIES
     */
    "permissions":[
                    "INTERNET",
                    "ACCESS_NETWORK_STATE",
                    "CAMERA",
                    "VIBRATE",
                    "ACCESS_FINE_LOCATION",
                    "ACCESS_COARSE_LOCATION",
                    "CALL_PHONE"],

    /**
     * @cfg {Array[String]} orientations
     * @required
     * This is orientations that this application can run.
     */
    "orientations": [
        "portrait",
        "landscapeLeft",
        "landscapeRight",
        "portraitUpsideDown"
    ]
}

In the end of the next debug log it says that filename or it's extention is too long. And then it says that the path "C:\all\GS\build\assets\build\assets.." is too long.

The full debug (I translated it from Russian manually, so, it could not correspond the exact English messages).

Sencha Cmd v3.0.0.250
[DBG]       using path C:\Program Files\Sencha\Cmd\3.0.0.250\stbuild;C:\Program Files\Sencha\Cmd\3.0.0.250\stbuild\bin;C:\Program Files\Sencha\Cmd\3.0.0.250;C:\all\sencha-projects;C:\Program Files\SenchaSDKTools-2.0.0-beta3\compat\scripts;C:\Program Files\SenchaSDKTools-2.0.0-beta3\compat\command;C:\Program Files\SenchaSDKTools-2.0.0-beta3\compat\jsbuilder;C:\Program Files\SenchaSDKTools-2.0.0-beta3\bin;C:\Program Files\SenchaSDKTools-2.0.0-beta3;C:\Program Files\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\TortoiseSVN\bin;C:\Program Files\PostgreSQL\8.4\bin\;C:\Python26\Scripts;C:\Python26;C:\Program Files\ImageMagick-6.6.7-Q16;C:\all\start;C:\all\trunk\www\cometd\cometd-twisted;C:\Program Files\nodejs\;C:\Users\sergzach\AppData\Roaming\npm\
[DBG]       executable located at C:\Program Files\Sencha\Cmd\3.0.0.250\stbuild\stbuild.exe
[DBG]       using workding directory .
Error: Project folder 'C:\all\GS\build' is not empty. Please consider using 'android.bat update' instead.
Updated file C:\all\GS\build\src\com\ergosolo\firstApp\STActivity.java
Updated file C:\all\GS\build\res\values\strings.xml
Updated file C:\all\GS\build\res\layout\main.xml
Updated file C:\all\GS\build\AndroidManifest.xml
Updated file C:\all\GS\build\build.xml
Updated file C:\all\GS\build\proguard-project.txt
Subfolder or file C:\all\GS\build\\assets\ already exists.
Subfolder or file C:\all\GS\build\\assets\.sencha\ already exists.
Subfolder or file C:\all\GS\build\\assets\.sencha\app\ already exists.
Subfolder or file C:\all\GS\build\\assets\.sencha\workspace\ already exists.
Subfolder or file C:\all\GS\build\\assets\app\ already exists.
Subfolder or file C:\all\GS\build\\assets\app\controller\ already exists.
Subfolder or file C:\all\GS\build\\assets\app\model\ already exists.
Subfolder or file C:\all\GS\build\\assets\app\profile\ already exists.
Subfolder or file C:\all\GS\build\\assets\app\store\ already exists.
Subfolder or file C:\all\GS\build\\assets\app\view\ already exists.
Subfolder or file C:\all\GS\build\\assets\build\ already exists.
Subfolder or file C:\all\GS\build\\assets\build\assets\ already exists.
Subfolder or file C:\all\GS\build\\assets\build\assets\.sencha\ already exists.
Subfolder or file C:\all\GS\build\\assets\build\assets\.sencha\app\ already exists.
Subfolder or file C:\all\GS\build\\assets\build\assets\.sencha\workspace\ already exists.
Subfolder or file C:\all\GS\build\\assets\build\assets\app\ already exist.
...( and so on, truncated)
The name of the file or it's extention has incorrect length..
The name of the file or it's extention has incorrect length..
The name of the file or it's extention has incorrect length..
The next path is too long: "C:\all\GS\build\\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\app\controller\C:\all\GS\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\build\assets\app\controller\".
[DBG]       exit code was : -1073741819
[DBG]       exit code was : -1073741819

If I change outputPath to 'build/' then it is the same output with extremely long path: C:/all/GS\build\assets\build\assets\build\assets... (without double back slash in the last case).

1
please translate to english and post.Varun Achar
@VarunAchar I done that.sergzach

1 Answers

1
votes

The problem has been fixed. The output 'build' directory shouldn't have the same root as the directory of sources files (where are dirs 'app', 'resources', 'files').