ionic(一) build你的第一个android apk
1、ionic start myApp tabs >>创建一个app
2、cd myApp >>进入myApp文件
3、ionic platform add android >>为app添加安卓平台
4、ionic build android >>将app打包成安卓apk安装包
注意:在整个过程中,你的电脑需要安装JDK、Ant、Android SDK、Node.js、ionic。在安装的时候,在配置环境的时候要注意,因为在最后打包出现问题最多的地方是环境变量这块
你可以对你的app做以下调整:
1、修改应用图标icon跟启动页面SplashScreen
给项目安装splashscreen:cordova plugin add org.apache.cordova.splashscreen
修改config.xml文件
<preference name="SplashScreen" value="screen"/><!-- 不带后缀png的文件名,默认是screen-->
<preference name="SplashScreenDelay" value="3000"/><!-- Splash显示时间,默认是3000ms -->
<feature name="SplashScreen">
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />
</feature>
<platform name="android">
<icon src="resources/android/icon/1.png" density="xxxhdpi" />
<splash src="resources/android/icon/1.png" density="port-xxxhdpi"/>
</platform>
2、ionic 中默认安装后导航在底部解决方案在 iOS中, tabs 一直处于底部. 在android中 ionic tabs 一直在顶部。如果需要,我们可以通过配置$ionicConfigProvider来实现
.config(function($stateProvider, $urlRouterProvider,$ionicConfigProvider) {
$ionicConfigProvider.platform.android.tabs.style('standard');
$ionicConfigProvider.platform.android.tabs.position('standard');
$stateProvider
// 向导页面
.state('tutorial', {
url: '/',
templateUrl: 'templates/tutorial.html',
controller: 'TutorialCtrl'
})
// setup an abstract state for the tabs directive
.state('tab', {
url: "/tab",
abstract: true,
templateUrl: "templates/tabs.html"
})
// Each tab has its own nav history stack:
.state('tab.dash', {
url: '/dash',
views: {
'tab-dash': {
templateUrl: 'templates/tab-dash.html',
controller: 'DashCtrl'
}
}
})
.state('tab.chats', {
url: '/chats',
views: {
'tab-chats': {
templateUrl: 'templates/tab-chats.html',
controller: 'ChatsCtrl'
}
}
})
.state('tab.chat-detail', {
url: '/chats/:chatId',
views: {
'tab-chats': {
templateUrl: 'templates/chat-detail.html',
controller: 'ChatDetailCtrl'
}
}
})
.state('tab.account', {
url: '/account',
views: {
'tab-account': {
templateUrl: 'templates/tab-account.html',
controller: 'AccountCtrl'
}
}
});
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/');
});
3.由于我们大部分菜鸟都没有Mac本以及Android 模拟器搭建又十分麻烦,我建议大家可以通过gulp搭建web服务器,这样我么就可以浏览器上查看效果了。
先安装gulp
npm install -g gulp
npm install -g gulp-connect
配置gulpfile.js文件
var gulp = require('gulp');
// 为搭建web服务引用“gulp-connect”
var connect = require('gulp-connect');
var paths = {
sass: ['./scss/**/*.scss']
};
// 搭建web服务
gulp.task('webserver', function() {connect.server();})
gulp.task('default', ['webserver']);
最后进入你新建的app目录下,运行
gulp
在浏览器中输入http://localhost:8080/www/,你就可以看到你的app啦

ionic(一) build你的第一个android apk的更多相关文章
- Xamarin 打包生成 Android apk 文件
Visual Studio 支持 apk 发布 Xamarin.Forms项目或Xamarin.Android项目开发完成之后需要发布.比较常规的发布方式是生成 apk 文件,微软也考虑到开发者有发布 ...
- 实例具体解释:反编译Android APK,改动字节码后再回编译成APK
本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能 ...
- 使用ionic cordova build android --release --prod命令打包报错解决方法
使用ionic cordova build android --release --prod命令打包报有如下错误及解决方法 只要把以下内容添加到build-extras.gradle或(build** ...
- 从零到一创建ionic移动app:创建第一个app
新建一个空项目,让它能够在你的虚拟机/手机上跑起来 第一步 新建工程 ionic start myApp blank 一个简单的Web应用我们已经创建完成了,接下来我们就要做一些部署到移动端之前的 ...
- 用Kotlin创建第一个Android项目(KAD 01)
原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...
- com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK assets/com.xx.xx
完整的Error 信息(关键部分) Error:Execution failed for task ':fanwe_o2o_47_mgxz_dingzhi:transformResourcesWith ...
- 使用NDK c++建立一个Android应用
使用NDK c++建立一个Android应用 一.工具 ADT(集成了eclipse,cdt,ndk plug-in) NDK (用它来编译c/c++程序) JDK (Java开发包) ANT(ecl ...
- eclipse中导入一个android工程有The import android cannot be resolved错误怎么办
解决方法: 右键工程→Bulid Path→Configure Build Path... 选择Android,如图,在Project Build Target里面勾选相应的SDK即可 右键工程,pr ...
- Intellij IDEA开发第一个android应用教程
用惯eclipse的同学们可以试试通过Intellij IDEA来开发一个android应用.下面是具体的教程. 首先:下载Intellij IDEA.最新版本是12.官方提供两个版本.一个是Comm ...
随机推荐
- haporoxy的keeplaive ZZ
转载一个别人总结的http://hi.baidu.com/%D3%E3%B5%C1%B5%C1/blog/item/04ffd1b1854f69ef30add1e8.html httpclose, h ...
- 通过Java SE 7自带的监控服务(WatchService API)实现类似.NET FileWatcher的功能
Java SE 7 Tutorial中增加了一个监控目录变更情况的示例,用于介绍其新发布的WatchService API. 但对于用惯了.NET FileWatcher的用户而言,如果用于项目我认为 ...
- C# using Sendkey function to send a key to another application
If notepad is already started, you should write: // import the function in your class [DllImport (&q ...
- sql server 修改表的默认值, 需要先删除约束条件
---------增加是否发布订单 if not exists(select 1 from syscolumns where name='iIsRelease' and id=OBJECT_ID('M ...
- linux内核申请内存函数
kmap函数: 把某块高端内存映射到页表,然后返回给用户一个填好vitual字段的page结构 建立永久地址映射,不是简单的返回virtual字段的pageioremap: 驱动程序 ...
- Clean Code – Chapter 4: Comments
“Don’t comment bad code—rewrite it.”——Brian W.Kernighan and P.J.Plaugher The proper use of comments ...
- Storm系列(十七)DRPC介绍
Storm版本0.9.5 在storm中DRPC服务应用于远程分布式计算,根据客户端提交的请求参数,而返回Storm计算的结果. DRPC服务启动流程(远程模式) 启动DRPC服务,启动命令:stor ...
- iOS开发中常见的语句@synthesize obj = _obj 的意义详解
我们在进行iOS开发时,经常会在类的声明部分看见类似于@synthesize window=_window; 的语句,那么,这个window是什么,_ window又是什么,两个东西分别怎么用,这是一 ...
- PC-信使服务之不用聊天软件也能通信
net send 192.168.1.2 OK 二台电脑都要开启messenger服务.
- PAT 1057. Stack (30)
题目地址:http://pat.zju.edu.cn/contests/pat-a-practise/1057 用树状数组和二分搜索解决,对于这种对时间复杂度要求高的题目,用C的输入输出显然更好 #i ...