Ionic开发Android项目app基本步骤

Ionic是一款HTML5手机应用开发框架,可以说是AngularJS移动端解决方案,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。一次开发,处处运行

一、基础环境

安装nodejs或者Idea,jdk,Android sdk(这个可以通过Android studio安装) 自行安装,这里不做详细介绍了

二、Ionic环境搭建

(1)安装ionic和cordova

npm install -g cordova ionic

安装成功之后,可以查看版本号

windows:

ionic –v
cordova –v

mac:

ionic -version
cordova –version

注意:这里安装的ionic和cordova都是最新的版本,后面建项目的时候要注意

(2)创建ionic项目

提供了三种创建项目的模板

ionic start appdemo blank –type=ionic1 创建一个空白的app项目
ionic start appdemo tabs –type=ionic1 创建一个带有tabs项目
ionic start appdemo sidemenu –type=ionic1 创建一个带有滑动的项目

说明:这里–type=ionic1这是因为我要创建一个ionic1.X版本的项目,如果我直接不添加type,如:

ionic start appdemo blank

那么我就会是基于最新的版本创建的项目,ionic1.X和2.X 3.X的整个目录结构都是不一样的,这个根据个人需要

(3)创建项目完成之后

这里写图片描述

  • www就是开发的项目源码
  • platforms下面就是编译后的项目,下面应该有2个子目录android和ios,分别针对不同的平台
  • resources是放资源图片的,例如图标、启动图片
(4)打包APP

进入项目目录下面

cd ionic-app

添加平台

ionic platform add ios
ionic platform add android

编译:

ionic build ios
ionic build android

浏览器中运行

ionic serve

模拟器中运行:

ionic emulate ios
ionic emulate android

生成apk(这里生成的是未签名的apk):

cordova build -release android

打包ios只能在mac上进行,需要安装xcode。
这里写图片描述

未签名的apk生成了

(5)配置应用签名

当前项目目录下运行命令:

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

注意:使用你应用的名字来替代your_app,这个命令会生成一个新的文件,在本示例中为your_app.keystore

也可以使用Android killer工具直接签名也可以

(6)现在使用keystore文件来签名应用。

(我们先把已经生成的apk文件移到项目根目录下,不然可能会报错”无法打开 jar 文件: android-release-unsigned.apk”)
  终端执行命令:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore exr.keystore android-release-unsigned.apk exr

期间会提示输入keystore的密码密钥,命令会修改apk文件并对其进行签名。

可以使用命令来验证应用是否签名成功

jarsigner -verify -verbose -certs apk文件名

(7) 优化APK文件

优化APK文件,使其减少在设备上占用的空间和内存。我们使用zipalign工具,它使用签名后的APK文件生成一个优化后的APK版本,用于应用上传。

在android-sdk目录里,我搜到zipalign的命令的地址是:./build-tools/25.0.2下面,从终端进入android-sdk目录下,执行命令:

open -e .bash_profile

打开.bash_profile文件,添加zipalign环境变量:

export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/build-tools/25.0.2

保存关闭文件

执行命令:

source .bash_profile

然后返回到应用项目文件夹目录下,执行命令:

zipalign -v 4 android-release-unsigned.apk exrapp.apk

完成后会返回

打包项目问题汇总看这里http://blog.csdn.net/qq_32378595/article/details/79510367

参考文档:
https://www.cnblogs.com/huangc83/p/6692340.html
https://www.cnblogs.com/jiangtengteng/p/6680654.html

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ionic Angular 项目中实现消息推送功能并打包为 Android APK,你可以按照以下步骤进行操作: 1. 配置 Firebase Cloud Messaging (FCM):首先,你需要在 Firebase 控制台中创建一个项目,并启用 FCM。然后,在 Ionic 项目中安装 Firebase 相关的插件和依赖,如 `@angular/fire` 和 `firebase`. 接下来,按照 Firebase 文档的指引,将你的应用连接到 Firebase 项目。 2. 安装 Cordova 插件:使用 Cordova 插件来与 Android 设备的原生推送服务进行交互。在终端或命令行中进入 Ionic 项目的根目录,然后执行以下命令安装 Cordova 插件: ``` cordova plugin add cordova-plugin-fcm-with-dependecy-updated ``` 3. 配置 Android 平台:确保你已经添加了 Android 平台到 Ionic 项目中(如果没有,可以通过运行 `ionic cordova platform add android` 添加)。然后,根据 FCM 插件的文档,在 `config.xml` 文件中添加以下代码: ```xml <platform name="android"> <resource-file src="google-services.json" target="app/google-services.json" /> <preference name="FCM_ANDROID_SENDER_ID" value="your_sender_id" /> </platform> ``` 将 `your_sender_id` 替换为你在 Firebase 控制台中获得的 FCM 发送者 ID。 4. 处理推送通知:在你的 Ionic Angular 项目中,你可以使用 `@angular/fire` 提供的 `AngularFireMessaging` 服务来处理推送通知。在你的应用的相应页面或服务中,注入 `AngularFireMessaging`,并编写代码来处理收到的推送通知。 ```typescript import { AngularFireMessaging } from '@angular/fire/messaging'; // ... constructor(private afMessaging: AngularFireMessaging) {} // 监听推送通知 listenForPushNotifications() { this.afMessaging.messages.subscribe((message) => { console.log('Received push notification', message); // 在这里处理推送通知的逻辑 }); } ``` 5. 构建 APK:完成上述配置后,你可以使用以下命令构建 Android APK: ``` ionic cordova build android --prod ``` 这将生成一个已经配置了消息推送功能的 Android APK 文件。 请注意,以上步骤仅提供了一个大致的指导,具体的实现细节和代码可能会因你的项目结构和需求而有所不同。建议你参考相关插件和工具的文档以获取更详细的信息,并根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值