Ionic Cordova - 离子输入在apk应用程序中不起作用

时间:2018-01-25 21:16:04

标签: android cordova ionic-framework

我的Ionic应用程序在浏览器中通过ionic cordova run browser进行测试时效果很好,在通过ionic cordova run android --device在设备上进行测试时效果很好,但出于某种原因,从apk(离线和Play商店)安装时,文本输入根本不起作用。

<ion-radio><ion-select>等其他输入工作正常,但<ion-input>输入却没有。键盘没有出现。我点击,点按,没有任何反应。

我采取的程序:

我已经尝试为Android版本19,22和23构建。我只使用SDK(不是Android Studio),而是通过命令行安装软件包。这是版本23示例:

sdkmanager.bat "platform-tools" "platforms;android-23" "build-tools;23.0.3" "extras;android;m2repository"

为了构建应用程序,我正在运行以下命令:

ionic cordova build android --release --prod

这是我的密钥生成命令:

keytool -genkey -v -keystore curso-spring-ionic-key.jks -keyalg RSA -keysize 2048 -validity 100000 -alias curso-spring-ionic

然后我使用这个签署apk:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore curso-spring-ionic-key.jks android-release-unsigned.apk curso-spring-ionic

最后是zipalign:

zipalign -v 4 android-release-unsigned.apk SistemaPedidos.apk

这是我的主页登录表单,在调试模式下完美运行,但从apk安装时输入无法正常工作:

<ion-content padding>
  <h3>Sistema de pedidos</h3>

  <img src="assets/imgs/tela-inicial.png" alt="logo">

  <form>
    <ion-item>
      <ion-label>Email</ion-label>
      <ion-input [(ngModel)]="creds.email" name="email" type="text"></ion-input>
    </ion-item>
    <ion-item>
      <ion-label>Senha</ion-label>
      <ion-input [(ngModel)]="creds.senha" name="senha" type="password"></ion-input>
    </ion-item>
    <button ion-button block (click)="login()">Entrar</button>
  </form>
  <button ion-button block outline (click)="signup()">Registrar</button>

</ion-content>

我真的不知道该怎么办。我花了一整天时间尝试不同的Android版本并输入变化而没有成功。任何人都可以帮我弄清楚是什么让输入不起作用?感谢。

1 个答案:

答案 0 :(得分:1)

我为你找到了解决方案。

https://github.com/ionic-team/ionic/issues/13718

您基本上需要添加:"uglify-es": "3.2.2"

"devDependencies": {
    "@ionic/app-scripts": "3.1.2",
    "typescript": "2.4.2",
    "uglify-es": "3.2.2"
  },

然后运行:npm install --save

更新更改