Ionic 3-未安装应用程序。软件包似乎已损坏

时间:2019-02-19 12:28:05

标签: android cordova ionic3

我正在尝试将我的apk安装在2个不同的设备(Galaxy和LG)上,但都显示“未安装应用程序。该软件包似乎已损坏。”

首先,我试图在我的应用程序中包含Google登录名,但显示错误10。在几篇文章之后,我更新了一些软件包并更改了一些设置。结果是我的应用不再安装。

我做了什么:

第1步:

转到C:\Program Files (x86)\Java\jdk1.8.0_131\bin(在我的情况下为JAVA_HOME),然后运行:

 keytool -genkey -v -keystore platforms\android\my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000`

第2步:

在platform / android中创建release-signing.properties文件

 keyAlias=alias_name
 keyPassword=password
 storeFile=my-release-key.keystore
 storePassword=password`

第3步:

转到项目目录并运行:

 cordova build android --release -- --keystore=platforms\android\my-release-key.keystore --storePassword=password --alias=alias_name --password=password`

第4步:

返回到C:\Program Files (x86)\Java\jdk1.8.0_131\bin(JAVA_HOME),然后运行以进行验证:

 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore platforms\android\my-release-key.keystore platforms\android\app\build\outputs\apk\release\app-release.apk alias_name`

第5步:

复制到Samsung S8 +和LG Stylus 2,都显示“未安装应用程序。程序包似乎已损坏。”

我尝试过的事情:

  • 设置系统环境变量
  • 更新Android Studio,Android SDK工具,Cordova,NPM和Node.js版本
  • 更新cordova-plugin-ionic-webview
  • build.gradle降级到2.3.3(然后将包装器降级到3.3),但是在构建过程中发生了错误
  • 更改config.xmlpackage.json,以便在androidcordova-android版本/规格中不包含^或〜

离子信息:

 Ionic:

    ionic (Ionic CLI)  : 4.10.2
    Ionic Framework    : ionic-angular 3.9.2
    @ionic/app-scripts : 3.2.2

 Cordova:

    cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
    Cordova Platforms     : android 7.0.0, ios 4.5.5
    Cordova Plugins       : cordova-plugin-device 2.0.2, cordova-plugin-googleplus 7.0.0, cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.0.0, cordova-plugin-splashscreen 5.0.2, cordova-plugin-statusbar 2.4.2, cordova-plugin-whitelist 1.3.3

 System:

    Android SDK Tools : 26.1.1
    NodeJS            : v8.4.0
    npm               : 6.8.0
    OS                : Windows 10

更多信息:

  • Android Studio 3.3.1

  • ANDROID_HOME = C:\ Users \ xxxxx \ AppData \ Local \ Android \ sdk

  • JAVA_HOME = C:\ Program Files \ java \ jdk1.8.0_131

  • platforms \ android \ app \ build.gradle:

    dependencies {
       classpath 'com.android.tools.build:gradle:3.0.0'
    }
    
  • platforms \ android \ gradle \ wrapper \ gradle-wrapper.properties:

    distributionUrl = https\://services.gradle.org/distributions/gradle-4.1-all.zip
    

但是结果是一样的,甚至我也不知道我的第一个问题(Google登录时出现错误10)是否已解决...

编辑

我曾尝试运行仿真器ionic cordova run android -l -c,但也显示了错误:

Runtime Error
Unexpected Identifier
Stack
SyntaxError: Unexpected Identifier

编辑2

我试图将Cordova降级到7.0.0和6.5.0版本,以及android@6.4.0,但是问题仍然存在。

编辑3

我也尝试过构建:

cordova build android --aot --release --minifyjs --minifycss --optimizejs -- --keystore=platforms\android\my-release-key.keystore --storePassword=password --alias=alias_name --password=password

但是问题仍然存在...

1 个答案:

答案 0 :(得分:0)

如果其他所有方法均失败,请尝试降级CLI。
这就是我所拥有的。必须在Mac上使用。
部署到Android没问题。

对于您的情况-ios-deploy / XCode内容将不相关。

cli packages: (/Users/jgf/.nvm/versions/node/v8.9.3/lib/node_modules)

    @ionic/cli-utils  : 1.19.0
    ionic (Ionic CLI) : 3.19.0

global packages:

    cordova (Cordova CLI) : 8.0.0 

local packages:

    @ionic/app-scripts : 3.1.5
    Cordova Platforms  : android 7.0.0 browser 4.1.0 ios 4.4.0
    Ionic Framework    : ionic-angular 3.9.2

System:

    Android SDK Tools : 26.1.1
    ios-deploy        : 1.9.4 
    Node              : v8.9.3
    npm               : 5.6.0 
    OS                : macOS
    Xcode             : Xcode 10.1 Build version 10B61 

Environment Variables:

    ANDROID_HOME : /Users/jgf/Library/Android/sdk

Misc:

    backend : legacy

这就是我构建Android的方式:

  • CLI:
    • ionic cordova构建android --prod
  • Android Studio:
    • 打开项目文件夹,即。\ platforms \ android
    • 构建->生成签名的APK
    • ->下一个密钥库密码
    • ->下一个
    • ->完成
  • 单击在发布apk的通知中定位
  • 分发app-release-apk