1.IONIC2/3打包白屏时间长
解决方案
ionic cordova build android --prod //使用prod模式
在config.xml 添加如下代码
<preference name="FadeSplashScreen" value="false" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="AutoHideSplashScreen" value="false" />
2.android 首次打包 apk 需要同意安卓协议
首先cd 到sdk manager 路径下 例如:cd Android/sdk/tools/bin
然后运行sdk manager
./sdkmanager --licenses
最后一路yes到底即可
3.打包报错:the connection to the server was unsuccessful(file ///android_asset/www/index.html)
解决方案1:
config.xml
添加<preference name="loadUrlTimeoutValue" value="100000"/>
添加后依次执行ionic platform rm android,ionic platform add android,ionic cordova build android --prod
解决方案2:
压缩图片大小
4.cordova-plugin-add-opener2报错:Running “cordova build android” - unable to find attribute android:fontVariationSettings and android:ttcIndex
解决方案步骤:
a.cordova plugin add cordova-plugin-add-opener2 --force
b.安装 cordova-android-support-gradle-release 插件
cordova plugin add cordova-android-support-gradle-release --fetch
c.在 platforms/android中 build.gradle 添加如下代码
configurations.all {
resolutionStrategy.force 'com.android.support:support-v4:27.1.0'
}
备用方案
configurations.all {
resolutionStrategy {
force 'com.android.support:support-v4:27.1.0'
}
}
d.
ionic cordova platform rm android
ionic cordova platform add android
5.扫二维码插件barcodescanner与camera插件冲突解决办法
找到该文件:..\plugins\phonegap-plugin-barcodescanner\plugin.xml
移除<uses-feature android:name="android.hardware.camera">
重新添加 platform
6.签名包无法访问 https 接口
参考文档:http://ivancevich.me/articles/ignoring-invalid-ssl-certificates-on-cordova-android-ios/
android:
project/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java
修改onReceivedSslError方法,修改如下
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
ios:
project/platforms/ios/Project/Classes/AppDelegate.m
将AppDelegate.m文件下修改为:
@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
return YES;
}
@end
7.IONIC2/3 WKWebView 出现跨域请求的问题
强制cordova使用UIWebView引擎渲染页面
(1)在config.xml里增加以下配置
<preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />
(2)卸载WKWebView插件
$ ionic cordova plugin remove cordova cordova-plugin-ionic-webview --save
8.微信不兼容cordova7.0.0
这是cordova版本太高,不兼容这个插件所导致的。解决方案是修改$your_project/plugins/cordova-plugin-wechat/scripts/android-install.js中的
var targetDir = path.join(projectRoot, "platforms", "android", "src", packageName.replace(/\./g, path.sep), "wxapi");
修改为
var targetDir = path.join(projectRoot, "platforms", "android", "app","src","main","java", packageName.replace(/\./g, path.sep), "wxapi");
修改后,重新装一下平台
cordova platform remove android
cordova platform add android