我的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版本并输入变化而没有成功。任何人都可以帮我弄清楚是什么让输入不起作用?感谢。
答案 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
更新更改