Ionic android build会生成未签名的apk,但请不要安装在我的android 8.1.0

时间:2019-04-01 06:58:06

标签: cordova ionic-framework

当我提供离子应用程序时,它可以在浏览器中运行,但无法为Android构建APK。 apk无法安装。

我尝试了离子Cordova构建android --release

带有以下消息的构建通行证

`检查Java JDK和Android SDK版本 ANDROID_SDK_ROOT =未定义(推荐设置) ANDROID_HOME = C:\ Users \ ruban \ AppData \ Local \ Android \ Sdk(已弃用) 子项目路径:CordovaLib 子项目路径:应用

  

任务:app:preBuild截止日期   任务:CordovaLib:preBuild截止日期   任务:CordovaLib:preReleaseBuild UP-TO-DATE   任务:CordovaLib:checkReleaseManifest UP-TO-DATE   任务:CordovaLib:processReleaseManifest截止日期   任务:app:preReleaseBuild UP-TO-DATE`

........

D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-land-hdpi \ screen.png:错误:drawable-land-hdpi中的可绘制“屏幕”在基本drawable中没有声明文件夹或drawable-densitydpi文件夹中;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-land-ldpi \ screen.png:错误:drawable-land-ldpi中的drawable“屏幕”在基本drawable文件夹或基本文件夹中没有声明drawable-densitydpi文件夹;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-land-mdpi \ screen.png:错误:drawable-land-mdpi中的可绘制“屏幕”在基本可绘制文件夹中或内部都没有声明drawable-densitydpi文件夹;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-land-xhdpi \ screen.png:错误:drawable-land-xhdpi中的drawable“屏幕”在基本drawable文件夹中或内部都没有声明drawable-densitydpi文件夹;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-land-xxhdpi \ screen.png:错误:drawable-land-xxhdpi中的可绘制“屏幕”在基本可绘制文件夹中或内部都没有声明drawable-densitydpi文件夹;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-land-xxxhdpi \ screen.png:错误:drawable-land-xxxhdpi中的可绘制“屏幕”在基本可绘制文件夹或内部没有声明drawable-densitydpi文件夹;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-port-hdpi \ screen.png:错误:drawable-port-hdpi中的drawable“ screen”在基本drawable文件夹中或内部都没有声明drawable-densitydpi文件夹;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-port-ldpi \ screen.png:错误:drawable-port-ldpi中的drawable“ screen”在基本drawable文件夹中或内部都没有声明drawable-densitydpi文件夹;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-port-mdpi \ screen.png:错误:drawable-port-mdpi中的drawable“ screen”在基本drawable文件夹中或内部都没有声明drawable-densitydpi文件夹;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-port-xhdpi \ screen.png:错误:drawable-port-xhdpi中的drawable“ screen”在基本drawable文件夹中或内部都没有声明drawable-densitydpi文件夹;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-port-xxhdpi \ screen.png:错误:drawable-port-xxhdpi中的drawable“ screen”在基本drawable文件夹中或内部都没有声明drawable-densitydpi文件夹;在与该限定符不匹配的配置中查询可绘制对象时,这可能导致崩溃[MissingDefaultResource] D:\ myApp \ platforms \ android \ app \ src \ main \ res \ drawable-port-xxxhdpi \ screen.png:错误:drawable-port-xxxhdpi中的可绘制“屏幕”在基本可绘制文件夹或内部没有声明drawable-densitydpi文件夹;在与该限定符[MissingDefaultResource]不匹配的配置中查询drawable时,这可能导致崩溃

该版本会创建未签名的apk文件,该文件不会安装在我的android设备上。

Ionic info command shows follwing messages
Ionic:

   ionic (Ionic CLI)             : 4.12.0 (C:\Users\ruban\AppData\Roaming\nvm\v10.15.3\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.1.2
   @angular-devkit/build-angular : 0.13.7
   @angular-devkit/schematics    : 7.2.4
   @angular/cli                  : 7.3.7
   @ionic/angular-toolkit        : 1.4.1

Cordova:

   cordova (Cordova CLI) : 9.0.0
   Cordova Platforms     : android 8.0.0
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 3.1.2, (and 4 other plugins)

System:

   Android SDK Tools : 26.1.1 (C:\Users\ruban\AppData\Local\Android\Sdk)
   NodeJS            : v10.15.3 (C:\Program Files\nodejs\node.exe)
   npm               : 6.4.1
   OS                : Windows 10

4 个答案:

答案 0 :(得分:0)

我认为您尚未生成resources。尝试以下方法:

ionic cordova resources

答案 1 :(得分:0)

您需要将ANDROID_HOME放到PATH

  

设置ANDROID_HOME = C:\ Users \ adt-bundle-windows-x86-20140321 \ sdk \ tools

  设置PATH =%PATH%;%ANDROID_HOME%\ tools;%ANDROID_HOME%\ platform-tools

答案 2 :(得分:0)

在android中简单运行的应用程序:

1)连接设备并确保启用USB调试(在设置中-开发人员选项)

2)在cmd类型中:adb设备

3)现在运行:离子cordova运行android

(离子cli会做所有事情并安装在您的设备中。)

答案 3 :(得分:0)

无需修复错误。 但是如果您要修复...

您需要添加config.xml中的“修复”

<splash density="ldpi" src="resources/android/splash/drawable-ldpi-screen.png" />
<splash density="mdpi" src="resources/android/splash/drawable-mdpi-screen.png" />
<splash density="hdpi" src="resources/android/splash/drawable-hdpi-screen.png" />
<splash density="xhdpi" src="resources/android/splash/drawable-xhdpi-screen.png" />
<splash density="xxhdpi" src="resources/android/splash/drawable-xxhdpi-screen.png" />
<splash density="xxxhdpi" src="resources/android/splash/drawable-xxxhdpi-screen.png" />

资源可以是drawable-xxxhdpi-screen ...或者您可以使用端口或陆地。

该发行版无法正常工作,因为您需要使用

签名

keytool -genkey -v -keystore ejemplo.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ejemplo.keystore app-release-unsigned.apk alias_name

这会生成带有符号并且可以在智能手机上安装的apk。

这对我有用。