首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ionic release构建错误2模块

Ionic release构建错误2模块
EN

Stack Overflow用户
提问于 2018-07-13 22:30:39
回答 1查看 115关注 0票数 0

尝试运行命令"ionic cordova build android --prod --release“时出现以下错误

代码语言:javascript
复制
Type AcknowledgePage in C:/Projects/MobileApps/DOTPicking/src/pages/acknowledge/acknowledge.ts is part of
            the declarations of 2 modules: AppModule in C:/Projects/MobileApps/DOTPicking/src/app/app.module.ts and
            AcknowledgePageModule in C:/Projects/MobileApps/DOTPicking/src/pages/acknowledge/acknowledge.module.ts!
            Please consider moving AcknowledgePage in
            C:/Projects/MobileApps/DOTPicking/src/pages/acknowledge/acknowledge.ts to a higher module that imports
            AppModule in C:/Projects/MobileApps/DOTPicking/src/app/app.module.ts and AcknowledgePageModule in
            C:/Projects/MobileApps/DOTPicking/src/pages/acknowledge/acknowledge.module.ts. You can also create a new
            NgModule that exports and includes AcknowledgePage in
            C:/Projects/MobileApps/DOTPicking/src/pages/acknowledge/acknowledge.ts then import that NgModule in
            AppModule in C:/Projects/MobileApps/DOTPicking/src/app/app.module.ts and AcknowledgePageModule in
            C:/Projects/MobileApps/DOTPicking/src/pages/acknowledge/acknowledge.module.ts.

我试图从声明中删除页面,但这只会导致另一个错误。有没有一种简单的方法来修复我刚才忽略的这个错误?当我删除它们时,它基本上只是告诉我将它们添加回来。

代码语言:javascript
复制
 import { BrowserModule } from '@angular/platform-browser';
    import { ErrorHandler, NgModule } from '@angular/core';
    import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
    import { Device } from '@ionic-native/device';
    import { AndroidPermissions } from '@ionic-native/android-permissions';
    import { HttpModule } from '@angular/http';
    import { MachinePage } from '../pages/machine/machine'
    import { MyApp } from './app.component';
    import { LoginPage } from '../pages/login/login';
    import { StatusBar } from '@ionic-native/status-bar';
    import { SplashScreen } from '@ionic-native/splash-screen';
    import { LoginServiceProvider } from '../providers/login-service/login-service';
    import { DeviceStatusServiceProvider } from '../providers/device-status-service/device-status-service';
    import { EnvironmentService } from '../environments/environment.service'
    import { ModalServiceProvider } from '../providers/modal-service/modal-service';
    import { MachineService } from '../providers/machine-service/machine-service';
    import { ListPage } from '../pages/list/list'
    import { GetworkPage } from '../pages/getwork/getwork'
    import { StagingPage } from '../pages/staging/staging'
    import { PickingServiceProvider } from '../providers/picking-service/picking-service';
    import { WeighpalletPage } from '../pages/weighpallet/weighpallet'
    import { ValidationServiceProvider } from '../providers/validation-service/validation-service';
    import { AcknowledgePage } from '../pages/acknowledge/acknowledge';
    import { NavigationMenuServiceProvider } from '../providers/navigation-menu-service/navigation-menu-service';
    import { PickPage } from '../pages/pick/pick';
    import { ScanlpPage } from '../pages/scanlp/scanlp'
    import { PickServiceProvider } from '../providers/storage-service/pick-service';
    import { ListServiceProvider } from '../providers/storage-service/list-service';
    import { SessionServiceProvider } from '../providers/storage-service/session-service';
    import { StorageHelper } from '../providers/storage-service/storage-helper';
    import { ReversePipe } from '../pipes/reverse/reverse';


    @NgModule({
      declarations: [
        MyApp,
        LoginPage,
        MachinePage,
        ListPage,
        GetworkPage,
        StagingPage,
        WeighpalletPage, 
        AcknowledgePage,
        PickPage,
        ScanlpPage,
        ReversePipe
      ],
      imports: [
        BrowserModule,
        IonicModule.forRoot(MyApp),
        HttpModule
      ],
      bootstrap: [IonicApp],
      entryComponents: [
        MyApp,
        LoginPage,
        MachinePage,
        ListPage,
        GetworkPage,
        StagingPage,
        WeighpalletPage, 
        AcknowledgePage,
        PickPage,
        ScanlpPage
      ],
      providers: [
        StatusBar,
        SplashScreen,
        { provide: ErrorHandler, useClass: IonicErrorHandler },
        Device,
        AndroidPermissions,
        LoginServiceProvider,
        EnvironmentService,
        ModalServiceProvider,
        MachineService,
        DeviceStatusServiceProvider,
        SessionServiceProvider,
        PickingServiceProvider,
        ValidationServiceProvider,
        NavigationMenuServiceProvider,
        PickServiceProvider,
        ListServiceProvider,
        StorageHelper
      ]
    })
    export class AppModule { }
EN

回答 1

Stack Overflow用户

发布于 2019-01-25 03:01:11

离子应用程序发布构建步骤:-

步骤1:-以管理员身份打开命令,然后运行以下命令:-

代码语言:javascript
复制
"keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000"

**Step2:-**运行命令

代码语言:javascript
复制
ionic build android --release

将创建"android-release-unsigned.apk“

步骤3:-上面的步骤1命令将创建"my_private_key.keystore“请确保将此文件保存在安全的地方,如果丢失,您将无法向您的应用程序提交更新!

要对未签名的APK签名,请运行jarsigner工具,该工具也包含在JDK中:

代码语言:javascript
复制
"$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name"

步骤4:-要查找别名,请运行以下命令:-

代码语言:javascript
复制
"keytool -keystore my_private_key.keystore -list -v" at the root directory where keystore is placed.

构建工具位于android-sdk/-tools/{}/文件夹中。

eg:-C:\Users\Karanvir\AppData\Local\Android\sdk1\build-tools\25.0.2>

代码语言:javascript
复制
zipalign -v 4 android-release-unsigned.apk android_release_signed.apk

密钥库密码:-android@123(这里是你的密钥库密码)。

尽情享受!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51327476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档