离子2:android设备上的APK输出损坏
我已经用Ionic 2开发了一个应用程序,并想在Android手机上进行测试。因此,在bash CLI中,我尝试运行多个命令来构建APK,例如:离子2:android设备上的APK输出损坏,android,bash,ionic2,apk,Android,Bash,Ionic2,Apk,我已经用Ionic 2开发了一个应用程序,并想在Android手机上进行测试。因此,在bash CLI中,我尝试运行多个命令来构建APK,例如: ionic cordova build android --release ionic cordova build --release android ionic cordova build android --release --prod ionic cordova build android --prod 最后,生成了APK文件,但当我在andr
ionic cordova build android --release
ionic cordova build --release android
ionic cordova build android --release --prod
ionic cordova build android --prod
最后,生成了APK文件,但当我在android手机上传输时,它说应用程序已损坏,无法运行。
有没有办法解决我的问题?谢谢
编辑:我还尝试通过USB连接我的手机<代码>adb设备返回一个列表,显示我的设备确实已连接。然后我运行了ionic cordova运行android
,但我得到了一个错误:您的android平台没有api.js
离子信息输出:
global packages:
@ionic/cli-utils : 1.4.0
Cordova CLI : 7.0.0
Ionic CLI : 3.4.0
local packages:
@ionic/app-scripts : 1.3.7
@ionic/cli-plugin-cordova : 1.4.0
@ionic/cli-plugin-ionic-angular : 1.3.1
Cordova Platforms : browser broken ios 4.4.0
Ionic Framework : ionic-angular 3.1.1
System:
Node : v6.10.3
OS : Windows 10
Xcode : not installed
ios-deploy : not installed
ios-sim : not installed
npm : 3.10.10
Cordova平台
在您的情况下应该是android x.x.x
检查root/platforms/platform.json
它应该是
{
"android": "x.x.x"
}
确保您的android
文件夹位于正确的位置(根目录/platforms/android
)
再次尝试删除并添加平台。
Cordova平台
在您的情况下应该是android x.x.x
检查root/platforms/platform.json
它应该是
{
"android": "x.x.x"
}
确保您的android
文件夹位于正确的位置(根目录/platforms/android
)
再次尝试删除和添加平台。我也面临同样的问题,经过长期的研发,我发现了这个问题。据我所知,问题不在于Android构建,而是您在移动设备上运行的生成的未签名APK。事实上,系统将不允许安装未签名的应用程序,相反,它将显示损坏的消息。因此,无论您是否想将应用程序上载到Google Store,都必须对应用程序进行签名,以便系统至少允许将应用程序安装到移动设备中 请参考以下步骤生成已签名的APK 步骤1:打开命令提示符并转到JDK路径的bin文件夹 步骤2:现在我们需要创建一个新的证书/密钥库,以使用JDK附带的keytool命令生成您的私钥 keytool-genkey-v-keystore my-release-key.jks-keyalg RSA-keysize 2048-有效期10000-别名我的别名 或者,您可以指定要在其中生成密钥库文件的特定驱动器/文件夹 keytool-genkey-v-keystored:\my-release-key.jks-keyalg RSA -keysize 2048-有效期10000-别名我的别名 首先会提示您为密钥库创建密码。然后,回答nice工具的其余问题,完成后,应该在当前或指定的目录中创建一个名为my-release-key.jks的文件 注意:请确保将此文件保存在安全的地方,如果丢失,您将无法向应用程序提交更新 步骤3:要对未签名的APK进行签名,请运行JDK中包含的jarsigner工具: jarsigner-verbose-sigalg SHA1withRSA-digestalg SHA1-keystore my-release-key.jks android-release-unsigned.apk我的别名 或者使用下面的一个,不要忘记指定keystore.jks和app-release-unsigned.apk文件的确切路径 jarsigner-verbose-sigalg SHA1 with rsa-d igestalg SHA1-keystore D:\IONAL\U apk\my-release-key.jks D:\Ionic…\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk 我的化名 就这样,您刚刚构建了一个签名的APK。如果需要,重命名APKfile。将其复制到移动设备上并安装 因此,如果您想优化APK,那么我们需要运行zip-align工具,该工具可以在/path/to/Android/sdk/build-tools/VERSION/zipalign中找到。例如,在安装了Android Studio的OS X上,zipalign位于~/Library/Android/sdk/build tools/VERSION/zipalign中: zipalign-v4-android-release-unsigned.apk HelloWorld.apk 要验证您的APK是否已签名,请运行apksigner。apksigner也可以在与zipalign工具相同的路径中找到: apksigner验证HelloWorld.apk
我也面临着同样的问题,经过长期的研发,我发现了这个问题。据我所知,问题不在于Android构建,而是您在移动设备上运行的生成的未签名APK。事实上,系统将不允许安装未签名的应用程序,相反,它将显示损坏的消息。因此,无论您是否想将应用程序上载到Google Store,都必须对应用程序进行签名,以便系统至少允许将应用程序安装到移动设备中 请参考以下步骤生成已签名的APK 步骤1:打开命令提示符并转到JDK路径的bin文件夹 步骤2:现在我们需要创建一个新的证书/密钥库,以使用JDK附带的keytool命令生成您的私钥 keytool-genkey-v-keystore my-release-key.jks-keyalg RSA-keysize 2048-有效期10000-别名我的别名 或者,您可以指定要在其中生成密钥库文件的特定驱动器/文件夹 keytool-genkey-v-keystored:\my-release-key.jks-keyalg RSA -keysize 2048-有效期10000-别名我的别名 首先会提示您为密钥库创建密码。然后,回答nice工具的其余问题,完成后,应该在当前或指定的目录中创建一个名为my-release-key.jks的文件 注意:请确保将此文件保存在安全的地方,如果丢失,您将无法向应用程序提交更新 步骤3:要对未签名的APK进行签名,请运行JDK中包含的jarsigner工具: jarsigner-verbose-sigalg SHA1withRSA-digestalg SHA1-keystore my-release-key.jks android-release-unsigned.apk我的别名 或者使用下面的一个,不要忘记指定keystore.jks和app-release-unsigned.apk文件的确切路径 贾西格