2012-06-27 37 views
1

繼煎茶本地程序包是我的配置文件(packager.json)與Android

{ 
"applicationName":"Sencha", 
"applicationId":"Sencha", 
"iconName":"icon.png", 
"versionString":"1.0", 
"outputPath":"D:/wamp/www/sencha/mvc/", 
"inputPath":"C:/wamp/www/sencha", 
"webAppPath":"C:/wamp/www/sencha", 
"androidAPILevel":"15", 
"configuration":"Debug", 
"platform":"AndroidEmulator", 
"deviceType":"Universal", 
"certificatePath":"debug.keystore", 
"certificateAlias":"androiddebugkey", 
"sdkPath":"C:\Program Files\Android\android-sdk", 
"orientations": [ 
    "portrait", 
    "landscapeLeft", 
    "landscapeRight", 
    "portraitUpsideDown" 
] 
} 

我也已經創造了調試模式證書。

以下是我使用生成的證書文件

keytool.exe -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 10000 

然後命令,

D:\wamp\www\sencha>sencha package run packager.json 

命令沒有給出錯誤。 這個命令是假設生成.apk文件,對嗎?但沒有發生?

這是什麼原因造成的?

回答

0

有同樣的問題:

Sencha : Android Native Build - ERROR 17: Unable to load PKCS12 identity  

要構建一個Android原生應用, 我提到煎茶文件(HTTP://docs.sencha.com/touch/2-0/#/... native_android)

Step1: 
    I created an Android Certificate using following command 
    keytool -genkey -v -keystore athena.keystore -alias athena -keyalg RSA -keysize 2048 -validity 10000 

    Step 2: 
    Under Sencha-touch2-SDK directory, to build a apk file, I run following command: 
    sencha app build native 

    with this I get following error: 
    ERROR 17: Unable to load PKCS12 identity from "/path/to/certificate.file"Failed to package application* 



    Its not clear to me, 
    if I need to user command jarsigner as follows: 

    jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore athena.keystore athenamobile.apk athena 

    (when I tried above command, I get message: jarsigner: unable to open jar file: athenamobile.apk) 


    Here is my android.json:   
    { 
    "applicationName":"AthenaMobile", 
    "applicationId":"com.mycompany.AthenaMobile", 
    "versionString":"1.0", 
    "versionCode":"1", 
    "iconName":"resources/icons/Icon~ipad.png", 
    "inputPath":"C:/sencha-touch-2.0.1.1/AthenaMobile", 
    "outputPath":"C:/sencha-touch-2.0.1.1/AthenaBuild", 
    "configuration":"Release", 
    "platform":"Android", 
    "deviceType":"Universal", 
    "certificatePath":"c:/athena.keystore", 
    "certificatePassword":"athena", 
    "certificateAlias":"athena", 
    "sdkPath":"c:/android-sdk-windows", 
    "androidAPILevel":"16", 
    "orientations": [ 
    "portrait", 
    "landscapeLeft", 
    "landscapeRight", 
    "portraitUpsideDown" 
    ] 
    } 


    Please note that, 
    I did try command "sencha package run android.json" (as per doc), 
    and hit with following errors:** 

    Added file C:\sencha-touch-2.0.1.1\AthenaBuild\proguard-project.txt 
    Buildfile: C:\sencha-touch-2.0.1.1\AthenaBuild\build.xml 


    -set-mode-check: 


    -set-release-mode: 
    jarsigner: unable to open jar file: C:\sencha-touch-2.0.1.1\AthenaBuild\\ 
    enaMobile-release-unsigned.apk 
    ""c:\android-sdk-windows\tools\android" create project --target android-1 
    e AthenaMobile --activity STActivity --path "C:\sencha-touch-2.0.1.1\Athe 
    \/" --package com.mycompany.AthenaMobile" 
    Could not sign application with error: 1 
    Failed to package application 
    [ERROR] 
    BUILD FAILED 
    C:\android-sdk-windows\tools\ant\build.xml:1070: com.sun.org.apache.xerce 
    nal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF- 
    nce. 
    at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidB 
    8Reader.java:684) 
    at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF 
1

看起來像android-sdk路徑中的反斜槓可能會導致問題。

變化"sdkPath":"C:\Program Files\Android\android-sdk", 變爲"sdkPath":"C:/Program Files/Android/android-sdk",

也嘗試sencha package build <packager json filename>而不是sencha package run <packager json filename>作爲運行命令期望運行的仿真程序。

對我來說,它還需要「certificatePassword」作爲打包器json文件中的條目之一。如果還有其他併發症,請回復我。