在Phonegap 3.x CLI上构建android版本apk

在Phonegap 3.x CLI上构建android版本apk,android,cordova,cordova-cli,Android,Cordova,Cordova Cli,如何使用Phonegap 3.x CLI在本地构建android应用程序,准备发布?我检查了在项目的platforms/android目录中生成的bin文件夹,它只有.debug APKs 顺便说一句,我使用这个命令:phonegap local build android您可以尝试这个命令,它应该构建并运行应用程序(因此应该创建.apk): phonegap本地运行android 这适用于Phonegap 3.0.x到3.3.x。有关PhoneGap 3.4.0及更高版本的信息,请参阅 在Ph

如何使用Phonegap 3.x CLI在本地构建android应用程序,准备发布?我检查了在项目的platforms/android目录中生成的bin文件夹,它只有.debug APKs


顺便说一句,我使用这个命令:
phonegap local build android

您可以尝试这个命令,它应该构建并运行应用程序(因此应该创建.apk):

phonegap本地运行android

这适用于Phonegap 3.0.x到3.3.x。有关PhoneGap 3.4.0及更高版本的信息,请参阅

在Phonegap文档中找到部分答案。整个过程如下:

key.store=/Path/to/KeyStore/myapp-release-key.keystore
key.alias=myapp
  • 打开命令行窗口,转到/path/to/your/project/platforms/android/cordova

  • 运行
    build--release
    。这将在/path/to/your/project/platforms/android/bin文件夹中创建一个名为YourAppName-release-unsigned.APK的未签名版本APK

  • 按照中的说明对APK进行签名和对齐


  • 感谢@LaurieClark提供的链接(),以及发布该链接的博主,因为它让我走上了正轨。

    在PhoneGap 3.4.0中,您可以调用:

    cordova build android --release
    
    如果您在“platforms/android”目录中设置了“ant.properties”文件,如下所示:

    key.store=/Path/to/KeyStore/myapp-release-key.keystore
    key.alias=myapp
    

    然后,系统会提示您输入密钥库密码,输出文件(myapp release.apk)最终会出现在“platforms/android/ant build”目录中,该目录已签名、对齐并准备部署。

    我只是想了很多,因为我遇到了同样的问题,但在我的安装中,“cordova”命令从来都不可用,而且“phone gap build android--release”只是忽略了platform/android/ant.properties

    因此,在我的平台过滤器中,我发现了一个名为“cordova”的文件夹,其中有一个接受--release参数的“build”二进制文件,它向我索要密钥链,最后我得到了一个已签名并准备生产的APK


    这在phone gap网站的任何部分都没有记录,坦率地说,现在我有点讨厌phone gap:(它本应该让事情变得更简单,但一切都很复杂:(

    跟进@steven anderson 您还可以在ant.properties中配置密码,以便该过程可以完全自动化

    因此,如果您在platform\android\ant.properties中输入以下内容

    key.store=../../yourCertificate.jks
    key.store.password=notSoSecretPassword
    key.alias=userAlias
    key.alias.password=notSoSecretPassword
    

    我通过将已签名的应用程序复制粘贴到与zipalign相同的目录中来实现这一点。似乎aapt.exe即使给定了路径也找不到源文件。 这不起作用 zipalign-f-v 4 C:…\CordovaApp-release-unsigned.apk C:…\destination.apk 它到达了aapt.exeCordovaApp-release-unsigned.apk,冻结并在返回时返回 “aapt.exeCordovaApp release unsigned.apk”未被识别为内部或外部命令、可操作程序或批处理文件。 这是真的
    zipalign-f-v 4 CordovaApp-release-unsigned.apk myappname.apk在cordova 6.2.0中

    cd cordova/ #change to root cordova folder
    platforms/android/cordova/clean #clean if you want
    cordova build android --release -- --keystore="/path/to/keystore" --storePassword=password --alias=alias_name #password will be prompted if you have any
    

    先前的答复:

    根据cordova 5.0.0

    {
         "android": {
             "release": {
                 "keystore": "app-release-key.keystore",
                 "alias": "alias_name"
             }
         }
     }
    
    然后从目录
    platforms/android/cordova/

    密钥库文件位置相对于
    平台/android/cordova/
    ,因此在上述配置中
    密钥库文件和
    构建.json
    位于同一目录中


    keytool-genkey-v-keystore app-release-key.keystore-alias alias_name-keyalg RSA-keysize 2048-validity 10000

    我知道这个问题专门询问Phonegap 3.X,但只是作为默认情况下构建的参考。要使用Ant而不是Gradle,可以将其添加到config.xml中:

    <preference name="android-build-tool" value="ant" />
    
    构建PhoneGap Android应用程序以部署到Google Play商店

    这些步骤适用于Cordova、PhoneGap或Ionic。唯一的区别是,无论在何处调用
    Cordova
    ,根据您的特定场景,将其替换为
    PhoneGap
    Ionic

    完成开发并准备部署后,请执行以下步骤:

  • 打开命令行窗口(macOS和Linux上的终端或Windows上的命令提示符)

  • 转到/path/to/your/project/,我们称之为项目根。

  • 在项目根目录下,从插件集中删除“控制台”插件。

    命令是:
    cordova plugin rm cordova plugin Console


  • 在项目根目录下,使用cordova build命令为发布版创建APK。

    该命令是:
    cordova build--release android


  • 上述过程在文件夹
    ProjectRoot/platforms/android/build/outputs/apk/

  • 在本步骤结束时,您可以将获得的APK上传到Play Store。

  • 注意:作为一个新手或初学者,最后一步对我来说可能有点困惑。可能会遇到一些问题,可能会对这些命令是什么以及在哪里找到它们产生一些疑问

    Q1.什么是jarsigner和keytool?
    Ans:Android应用程序签名说明确实会明确告诉您jarsigner和keytool都是关于什么的,但如果您在命令行窗口中遇到“command not found error”(命令未找到错误),它不会告诉您在哪里可以找到它们。

    因此,如果您已将Java开发工具包(JDK)添加到PATH变量中,只需按照指南中的方式运行命令即可。但是,如果您的PATH中没有Java开发工具包,则始终可以从JDK安装的bin文件夹访问它们

    Q2.zipalign在哪里?
    Ans:很有可能找不到zipali