错误:离子科尔多瓦运行 android --prod --release
Posted
技术标签:
【中文标题】错误:离子科尔多瓦运行 android --prod --release【英文标题】:Error: ionic cordova run android --prod --release 【发布时间】:2018-03-01 05:58:33 【问题描述】:当我尝试使用以下命令进行构建时。如何解决这个问题。我怀疑这个问题是因为离子已更新而发生的。
即使我尝试从指令中删除 AccountPage,下一页 ConfirmationPage 也会出现问题。
ionic cordova run android --prod --release
错误
app.modules.ts
import BrowserModule from '@angular/platform-browser';
import ErrorHandler, NgModule from '@angular/core';
import IonicApp, IonicErrorHandler, IonicModule from 'ionic-angular';
import HttpModule from '@angular/http';
import MyApp from './app.component';
import HomePage from '../pages/home/home';
import TransactionPage from '../pages/transaction/transaction';
import LoginPage from '../pages/login/login';
import SendPage from '../pages/send/send';
import DetailPage from '../pages/detail/detail';
import ConfirmationPage from '../pages/confirmation/confirmation';
import JoinPage from '../pages/join/join';
import AccountPage from '../pages/account/account';
import OtpPage from '../pages/otp/otp';
import StatusBar from '@ionic-native/status-bar';
import SplashScreen from '@ionic-native/splash-screen';
import TransactionDataProvider from '../providers/transaction-data/transaction-data';
import SenderProvider from '../providers/sender/sender';
import AuthServiceProvider from '../providers/auth-service/auth-service';
@NgModule(
declarations: [
MyApp,
HomePage,
TransactionPage,
LoginPage,
SendPage,
DetailPage,
ConfirmationPage,
JoinPage,
OtpPage,
AccountPage
],
imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp),
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
TransactionPage,
LoginPage,
SendPage,
DetailPage,
ConfirmationPage,
JoinPage,
OtpPage,
AccountPage
],
providers: [
StatusBar,
SplashScreen,
provide: ErrorHandler, useClass: IonicErrorHandler,
TransactionDataProvider,
SenderProvider,
AuthServiceProvider
]
)
export class AppModule
【问题讨论】:
【参考方案1】:使用--prod.
时需要从所有页面中删除<page-name>.module.ts
文件
从生成的文件夹中删除模块文件并从<page-name>.ts
文件中删除@IonicPage()
并删除IonicPage import
。
【讨论】:
【参考方案2】:在执行 Paresh 所说的操作之前,您需要先了解您使用的是什么架构。您是否延迟加载页面?
最新版本的 ionic-cli 使用特定页面的模块和页面.ts
文件中的@IonicPage()
装饰器生成准备好延迟加载的页面。由于您在app.module
上声明了每个页面,因此您很有可能没有延迟加载,但是当您推送页面或类似的东西并且您没有导入要使用的页面时,您只需将页面名称作为字符串传递,那么您就是延迟加载。
因此,如果您使用延迟加载,则需要从 app.module.ts
声明和 entryComponents 中删除所有页面的导入和声明。
如果您不是在每个页面文件夹中延迟加载,则需要删除 <page>.module.ts
并从页面 .ts
文件中删除 @IonicPage()
。
【讨论】:
我没有使用延迟加载。在我的开发过程中,离子更新了@ionic/cli-utils:1.10.2 ionic (Ionic CLI):3.10.3。我确实更新了它 但是删除自动生成的页面模块对你有用吗?为不使用延迟加载的项目生成页面时,请使用标志--no-module
,例如 ionic g page yourPageName --no-module
,它会阻止 CLI 生成模块。
谢谢你们。当我删除 modules.ts 和 imports 时它可以工作。以上是关于错误:离子科尔多瓦运行 android --prod --release的主要内容,如果未能解决你的问题,请参考以下文章
离子科尔多瓦构建错误无法解析配置':classpath'的所有工件无法下载com.android.tools.build:builder:3.3.0
使用此命令在移动设备中运行离子应用程序时出错(离子科尔多瓦运行安卓)