1

我想为 Ionic-React 应用程序生成一个 apk,只使用命令行。

我可以使用 Ionic Capacitor 通过 Android-Studio 制作 apk,但我想纯粹使用 CLI 来生成相同的 apk。这可能吗?谢谢。

4

2 回答 2

1

我已经解决了这个问题,现在可以在 Azure dev-ops 上构建一个 Ionic React 应用程序 apk,而无需与 Android Studio 进行交互。这是 YAML -

首先 - 构建 Ionic 项目

trigger:
- master

variables:
  scheme: ''
  sdk: 'iphoneos'
  configuration: 'Release'
pool:
  vmImage: 'macos-latest'

steps:
- task: UseNode@1
  inputs:
    checkLatest: true
- task: Npm@1
  inputs:
    command: 'install'
- script: npm run citest
- task: Npm@1
  inputs:
    command: 'custom'
    customCommand: 'install -g ionic'
- task: CmdLine@2
  inputs:
    script: 'ionic build --prod'
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: 'build'
    ArtifactName: 'drop'
    publishLocation: 'Container'

其次 - 构建.apk

- task: CmdLine@2
  inputs:
    script: 'ionic capacitor add android'
- task: PythonScript@0
  inputs:
    scriptSource: 'filePath'
    scriptPath: 'changeGradle.py'
    arguments: '--version=$(Build.BuildId)'

- task: CopyFiles@2
  inputs:
    SourceFolder: 'resources/androidResources/res'
    Contents: '**'
    TargetFolder: 'android/app/src/main/res'
    OverWrite: true
- task: Gradle@2
  inputs:
    workingDirectory: 'android'
    gradleWrapperFile: 'android/gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'build'
- task: AndroidSigning@3
  inputs:
    apkFiles: 'android/app/build/outputs/apk/release/*.apk'
    apksignerKeystoreFile: XXX.jks
    apksignerKeystorePassword: 'XXX'
    apksignerKeystoreAlias: 'XXX'
    apksignerKeyPassword: 'XXX'
    zipalign: true
- task: CopyFiles@2
  inputs:
    Contents: '**/*'
    TargetFolder: '$(build.artifactStagingDirectory)'
- task: PublishPipelineArtifact@1
  inputs:
    targetPath: '$(Build.artifactStagingDirectory)'
    publishLocation: 'pipeline'

将 .apk 发布到 Google Play 内部轨道是在 Azure 发布管道(不是构建)中处理的。PythonScript 命令是我为更改 Gradlew 构建号而编写的自定义脚本。因为似乎没有其他解决方案对我有用。

我希望这对某人有所帮助,因为这是我自己解决的噩梦!

于 2020-01-07T14:24:29.280 回答
0

因此,当您为 Android 安装和配置 Ionic 时,您需要在此处遵循本指南: https ://ionicframework.com/docs/installation/android

然后您可以构建您的混合应用程序: https ://ionicframework.com/docs/publishing/play-store

对于利用 Cordova 的应用程序,您需要安装 Android Studio 和 SDK,但您不必直接使用它们,当您使用以下命令时,ionic CLI 将为您完成:

$ionic cordova build android --prod --release

对于使用 Capacitor 的应用程序,目前无法避免使用 Xcode 或 Studio: https ://capacitor.ionicframework.com/docs/basics/building-your-app

于 2019-11-11T15:35:52.490 回答