2017-12-27 1545 views
1

我正在尝试用离子建立APK文件。我已经遵守了所有教程和一切正常,直到我试图用这个命令来生成APK:你好我正在使用离子科尔多瓦

$ ionic cordova build --release android 

,并告诉我这个错误 如何解决这一问题? 请帮助

$ ionic cordova build --release android 
    Running app-scripts build: --platform android --target cordova 
    [22:57:28] build dev started ... 
    [22:57:28] clean started ... 
    [22:57:28] clean finished in 9 ms 
    [22:57:28] copy started ... 
    [22:57:30] deeplinks started ... 
    [22:57:31] deeplinks finished in 416 ms 
    [22:57:31] transpile started ... 
    [22:57:38] transpile finished in 7.50 s 
    [22:57:38] preprocess started ... 
    [22:57:38] preprocess finished in less than 1 ms 
    [22:57:38] webpack started ... 
    [22:57:40] copy finished in 11.79 s 
    [22:57:57] webpack finished in 18.34 s 
    [22:57:57] sass started ... 
    [22:57:59] sass finished in 2.21 s 
    [22:57:59] postprocess started ... 
    [22:57:59] postprocess finished in 17 ms 
    [22:57:59] lint started ... 
    [22:57:59] build dev finished in 30.98 s 
    > cordova build android --release 

You have been opted out of telemetry. To change this, run: cordova telemetry on. 
Android Studio project detected 

(node:7784) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'variables' of undefined 
(node:7784) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 

[22:58:05] tslint: ...der (8)/App Source Code/App Source Code/src/providers/shared-data/shared-data.ts, line: 71 
      Property 'push' is declared but never used. 

     L70: public events: Events, 
     L71: private push: Push, 
     L72: public platform: Platform, 

[22:58:05] tslint: ...der (8)/App Source Code/App Source Code/src/providers/shared-data/shared-data.ts, line: 8 
      'PushObject' is declared but never used. 

     L7: import { LoadingProvider } from '../loading/loading'; 
     L8: import { Push, PushObject, PushOptions } from '@ionic-native/push'; 
     L9: import { Device } from '@ionic-native/device'; 

[22:58:05] tslint: ...der (8)/App Source Code/App Source Code/src/providers/shared-data/shared-data.ts, line: 8 
      'PushOptions' is declared but never used. 

     L7: import { LoadingProvider } from '../loading/loading'; 
     L8: import { Push, PushObject, PushOptions } from '@ionic-native/push'; 
     L9: import { Device } from '@ionic-native/device'; 

[22:58:05] tslint: ...der (8)/App Source Code/App Source Code/src/providers/shared-data/shared-data.ts, line: 10 
      All imports are unused. 

     L9: import { Device } from '@ionic-native/device'; 
     L10: import { Facebook } from '@ionic-native/facebook'; 
     L11: import { FCM } from '@ionic-native/fcm'; 

[22:58:05] tslint: ...zm/Desktop/New folder (8)/App Source Code/App Source Code/src/pages/cart/cart.ts, line: 44 
      Property 'storage' is declared but never used. 

     L43: public toast: Toast, 
     L44: private storage: Storage, 
     L45: public events: Events, 

[22:58:05] tslint: ...op/New folder (8)/App Source Code/App Source Code/src/pages/products/products.ts, line: 8 
      All imports are unused. 

     L7: import { TranslateService } from '@ngx-translate/core'; 
     L8: import { share } from 'rxjs/operator/share'; 
     L9: import { CartPage } from '../cart/cart'; 

[22:58:05] lint finished in 6.59 s 

回答

0

构建应用程序比它的服务不同。这是更严格的原因,你的应用程序需要尊重你的目标平台的规范。 所以,你必须纠正你在日志中看到(如删除一些变量或进口你的错误,你不使用,例如:

`import { Device } from '@ionic-native/device';` 

编辑: 你有未使用的导入虽然它不是。一个错误,这是一个错误,所以当建立你的应用程序时,你不应该这样做 你也有一些未使用的私有变量所以请删除它们 只要阅读日志,你就会知道错误的位置&什么删除。

+0

你怎么样n:所以你要么必须纠正你在日志中看到的错误(例如删除一些变量或者你没有使用的导入 - 我给你写代码如何纠正错误? –

+0

当我删除此代码显示我错误您已选择退出遥测。要更改此设置,请运行:cordova telemetry on。 检测到Android Studio项目 (节点:9804)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):TypeError:无法读取未定义的属性变量 (节点:9804)[DEP0018]弃用警告:不建议使用未处理的承诺拒绝。将来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。 [01:23:06]皮棉在69.58秒完成 –

+0

是的,我刚刚注意到了。在你的代码中的某个地方,你有一个未定义的对象,你试图访问那个未定义对象的变量。我无法帮助你,你需要再次研究你的代码。这就是为什么强烈建议中/大型应用程序进行测试的原因。 – Melchia