用html5和web2app或Cordova混合打包的app,可以上传到小米xscript 手机应用开发市场和华为xscript 手机应用开发市场吗

准备工作:需要之前配置好vue-cli脚架构,安装好cordova环境。下面开始对vue.js项目进行打包,打包环境为Android。
&可以看下我的github:https://github.com/padipata ,里面有我自己写的vue项目,喜欢的给个关注呗。
1.添加cordova项目
$& cordova create myApp1 org.apache.cordova.myApp myApp2
myApp1:cordova目录名
org.apache.cordova.myApp: 包名
myApp2: 项目名(在config.xml的&name&中查看)
2.在vue中添加cordova的配置
myApp1/www/index.html-----&vue/index.html
将myApp1/www/index.html中所有的&meta&拷贝到vue/index.html中
将将myApp1/www/index.html中&script&关于cordova.js的引用拷贝到vue/index.html中
myApp1/www/js/index.js-----&vue/vuex/main.js
var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
// Bind Event Listeners
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
// deviceready Event Handler
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function() {
app.receivedEvent('deviceready');
// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:');
receivedElement.setAttribute('style', 'display:');
console.log('Received Event: ' + id);
app.initialize();
  1)内容拷贝到vue/src/vuex/main.js中
  2)onDeviceReady时启动app
onDeviceReady: function () {
//app.receivedEvent('deviceready');
appRouter.start(App, 'app')
window.navigator.splashscreen.hide()
3.创建android项目
  终端中进入到myApp1 项目,执行以下命令:  
    cordova platform add android    这时候vue项目中会得到一个android文件夹,里面包含一个测试版本的apk,可以传输到手机上调试。
4.添加cordova插件
  终端中进入到vue项目,执行以下命令:
    cordova plugin add xxxx
5. 构建 vue项目
  许多人掉过这个坑,打包出来的apk是一个cordova默认的空白项目,因此,需要在打包vue之前在这里把配置文件修改过来。 
  终端中进入到vue项目,执行以下命令:
      npm run build
6.文件转移
  将dist文件夹下的文件,拷贝到cordova/platforms/androd/assets/www目录下 & & (index.html替代掉原本的)
7.构建cordova项目
  从终端进入到myApp1/platforms/android/cordova目录下,执行以下命令:
    cordova build android&&& //构建apk  
  配置JDK环境(这里只对mac os进行记录,Win系统请自行脑补):
    cd ~ 进入到&~&目录
    touch .bash_profile &
    vi .bash_profile & & & & 使用vi编辑器编辑 .bash_profile文件
    然后输入 & i & ,在vi编辑器里面输入 i &的意思是开始编辑。
    vi编辑器里面的内容如下:&
    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
    CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    PATH=$JAVA_HOME/bin:$PATH:
    export JAVA_HOME
    export CLASSPATH
    export PATH   
    然后退出vi编辑器使用如下命令:(个人习惯 &:wq!回车&)
    1. 输入&ese&
    2. 输入冒号&: wq
    3. 保存退出&
  如果以上修改完毕切正确,那么接下来就是让配置的环境变量生效,使用如下命令:
    source .bash_profile &
  完毕以后查看下当前的java 版本是否正确输入如下命令:
    java -version
   如果是预想中的1.8,那么恭喜你,你这个时候就可以执行: &cordova build android
    cordova run android&&&&&& //构建apk,并安装到连接的设备上  (按个人需求)
阅读(...) 评论()11422 条评论分享收藏感谢收起zsxsoft.qiniudn.com/upload_images/5.gif其次,是 DOM 性能问题。感谢 React 带来了 Virtual DOM,部分解决了局部区域 DOM 刷新时的性能问题。不过,一旦涉及到较大区域 DOM 更新,反倒有更大的性能损耗(最终计算出来的结果还是要全部替换掉,多做了一步 Diff )。因为性能问题,Facebook 2012年离开了 HTML5 App 阵营()。但时至今日,还是没有什么改善。也分享一篇文章,可以看看坑:。这里有个例子:微众银行 App 是 Cordova + Ionic + Angular。2. 兼容问题先只算官方系统。Android系统的 WebView 一般随 Android 版本更新(当然,也可以自己去 Play Store 更新),每个版本所支持的功能均不同。坑的是,在国内的环境下,基本不会再更新了。有的功能,在 PC 上对应版本的Chrome 是有的,到该版本 WebView 就没有了。比如说,XMLHttpRequest 的 onprogress 在 Android 4.0.4 上不被支持。于是,针对这类系统,只能采用像之前对 IE 的 Hack 一样,用 iframe 来替代进度条。再比如说,ECMAScript 6 被高版本 WebView 支持。如果开发者写惯了后,引入了 Symbol 等,又忘记了 polyfill 。在低版本 WebView 就会出错。就像我这样:接着呢,感谢 ROM 厂商乱改系统自带的 WebView ,从而导致在各种小细节上不同手机的显示效果或运算结果不同。更倒霉的是,有的甚至还会全页面混乱。怎么解决?个人认为,像微信那样自带一个 X5,也许算是一个解决方案吧。至于兼容问题的例子,还是微众银行好了: (与新版 iOS 9 的 WebView 不兼容)3. 调试问题先吐槽:Android 5.0+ 的系统内的 WebView ,可以用 Chrome for PC 来调试。但需要翻墙。调试分调试 JavaScript 和界面两方面。JavaScript 方面,如果 throw 出一个错误,很可能剩下的事情你都干不了了。手机端的表现就是什么操作都没用,也不会崩溃退出之类。在开发时,对于 JavaScript 报错,MUI 和 Cordova 均可以通过 adb logcat 来检查报错;Release 后可就没办法找用户连 USB 了。weinre 等工具对于 JavaScript Debug 没啥用。那 weinre 干啥用?只是让你看 DOM 层级或动态执行代码罢了。这就是 UI 方面的调试了。这部分的话,考虑到兼容问题,自求多福吧……Cordova 提供了 Ripple,倒的确是一个很不错的解决方案。但是并不能涵盖所有的手机……4. 代码安全性问题正如.apk -& .dex -& .jar -& .class -& .java一下就能把代码全部拿出来看一样,.apk -& .js 更为方便,解压一下就好了。于是,在 Release 前,必须 gulp / grunt 构建工作流,把 uglify 之类全部一股脑塞进去。这部分和做网页前端没啥区别,差别大概只有不需要考虑代码切分等(毕竟没有网络,全在本地)。然而,这样的代码,修改成本非常低。比如我做一个付费的本地游戏,只要简单地修改一下.js,轻轻松松破解验证等后重新打包回去,破解版游戏就做好了,比 Java 的简单多了。就算有 C++,我 js 不调用你,你又奈我何?没有服务器验证的话,玩蛋去吧。5. 功能问题如果没有 Native Code,一切HTML5 App都是空架子。所以,Java / Objective-C / C#仍然是必须学习的语言;Native App 如何开发也仍然是必修。比如以下代码,就是在 MUI 里用原生浏览器打开一个链接。function openInBrowser(originalUri) {
var Intent = plus.android.importClass("android.content.Intent");
var main = plus.android.runtimeMainActivity();
var Uri = plus.android.importClass("android.net.Uri");
var uri = Uri.parse(originalUri);
var intent = new Intent(Intent.ACTION_VIEW, uri);
main.startActivity(intent);
当然,Cordova 就得写 plugin 了,更为繁杂。大概就是这样 _(:з」∠)_ 求轻喷。(话说我tm在复习呢写答案合适么?!)赞同 4812 条评论分享收藏感谢收起腾讯第一竞技桌游
杀出天下的新时代
精品安卓游戏
精品安卓软件
软件分类:
游戏分类:
周下载排行
动作游戏排行
棋牌游戏排行
社交软件排行
微信公众账号:应用宝Cordova WebApp实战开发(2):初识Cordova以及学习清单
招聘信息:
如何封装一个浏览器成WebApp?每个手机就像电脑一样,都带着自己的操作系统。如果你愿意,你可以从头写一个浏览器,把浏览地址隐藏了,这就像你的一个app了,对吧。当然,我们自己写浏览器,这也太难了,所以我们肯定不是这么做的。其实,我们只是基于各种手机上Web浏览器内核去做手脚,而Js是Web开发的最佳语言,至于如何封装成一个Web app?说实话,我也没有真正去探究过是如何去做的,因为我对Andorid和iOS原生开发也不熟悉,最主要是现在也没有时间去研究这些了,但是我告诉你的是,通过一些移动开发框架,你只需要专注于写你的前端代码,然后通过一个开发框架的黑盒的操作,编译后就成了一个可以安装的App了。是否很神奇呢:)不用管它有多神奇了,看看下面这张图,先从架构上总体了解到这个层次就行了。最上面是H5,中间是Web前端框架,以及移动开发框架的API。如果你需要调用手机原生的功能,例如摄像头、录音等,这些工作会由移动开发框架去做,你只需要了解这种框架是如何工作的即可。学会如何使用摄像头,就知道如何使用录音了,举一反三。移动开发框架在准备使用Web App重新编写之前的原生APP前,工信部的人有点怀疑,因为大家都听说HTML5的移动应用太慢,体验太差,这万一做完不行怎么办?我解释了一下,发现没用,所以索性自己就动工了。我想告诉大家的是,只要你不是对性能要求特别高,例如画图之类的App,其实很多应用都可以使用HTML5来做的。昨天我还在一个材料计算器群里和群主说,可以使用Web App方式来做,免得群里的人都在等着你的iOS版本出来。群主说他尝试过,但是每次计算要等好几秒,还给我举例说见过12306订火车票的App吗?我想告诉大家的就是,这里存在很多偏见,因为以前手机性能差,H5也没有这么普及,所以体验不好、效率差强人意,但是现在HTML5越来越好,移动硬件性能也越来越强,很多应用都已悄然上演了混合式开发的方式。你看看支付宝、淘宝,其实手机App里面都有Web的影子,你发现了吗?因为移动设备的普及,App也越来越多,早就有了高价收购Andorid和iOS开发者的现象,而现在因为Web App的兴起,又造价了Web前端的高价,虽不是主要原因,但肯定是其中一个原因,所以学习移动开发会提升你的身价,当然前提是你真的一个人能搞定。以前我们做桌面或Web应用一样,语言和框架都有很多可以选择,那做移动开发框架呢?依然我们有很多选择,只是我真的很长时间或者没有太多时间专注学习每一个,所以下面只能简单介绍一下了。PhoneGap是一款开源的手机应用开发平台,它仅仅只用HTML和JavaScript语言就可以制作出能在多个移动设备上运行的应用。 PhoneGap将移动设备本身提供的复杂的API进行了抽象和简化,提供了一系列丰富的API供开发者调用,只要你会HTML和Javascript或 者Java语言,就可以利用PhoneGap提供的API去调用各种功能,制作出在各种手机平台(iPhone,Android ,BlackBerry,Symbian,Palm,Window Phone)上运行的应用。目前phonegap获得Apple,IBM,NOKIA,palm等众多公司的支持。简单来说使用PhoneGap就是使用HTML,JavaScript和CSS来开发程序,最终通过PhoneGap可以产生对应版本的native 程序。IONIC 是目前最有潜力的一款HTML5手机应用开发框架,它提供了很多UI组件来帮助开发者开发强大的应用。它使用JavaScript MVVM框架和 AngularJS来增强应用。提供数据的双向绑定,使用它成为Web和移动开发者的共同选择。即将发布的AngularJS 2.0将会专注于移动开发,相信IONIC一定会取得不错的成就 。IONIC的开发团队将尽快开发出一种通过IONIC creator提供开发者快速创建IONIC应用的方式。我们将很快就会看到一个支持拖拉功能的可视化开发工具,几分钟内开发一个app将不再只是吹xx。这里要说一AngularJS,这个框架我在前两年看过,我喜欢这种MVVM框架的东东,当时只是简单学习了一下,如果有时间我可能会把现在急于JQueryMobile和没有框架的Js改为急于IONIC来编写。......除了以上一个我实际做过,一个我想学的之外,还有很多Web App开发框架,国内现在网上也能收到好几个,不过我都没怎么用过,这里也就不做介绍了,总之这一小段就是告诉,开发框架有很多,基于我以前自己也做框架()的经验,任何东西都不可能完美,所以我们不要太苛求了,如果你喜欢这个框架,那就去学习,学习之后如果觉得可行,那就找个小项目试试,如果试后觉得不错,那就多花些功夫做好,仅此而已。大家看此系列blog就知道,我后续所有的博文都是围绕第一个来介绍,所以如果你对第一个不感兴趣,那么可能这个系列就不适合你了,当然,你以后也可以择取系列中一些单独篇章来学习你所需要的。Cordova与PhoneGap有什么关系?PhoenGap官方网址:如果能了解一个框架的兴起还是一件比较有趣的事。08年一次iOS开发者大会上来自Nitobi软件公司的几个家伙突发奇想,提出一个想法,想做一个工具来弥补Web和iOS开发之间的不足,并提出 Bridging the gap between the web and the iPhone sdk。一开始的目标并不是很大,但是做到了现在的written once,run everywhere。我们很多人做事其实也应该这样,一开始不要把目标弄得那么大,跳一步能够上就好,敏捷个人的形成也是这样,一开始只是分享而已,随着分享越多才成为了一个帮助有成长意识的人去认识自我管理自我的成长体系。如果一下子目标太大,你会因为难以实现而给自己找理由,这样到头来你什么都没有。09年他们推出android adk和blackberry sdk,成了移动开发者的福音,就连ibm也加入进来。phonegap继续成长,在2011年10月,整个Nitobi团队被adobe收购,PhoneGap的项目主管Brian LeRoux指出开源PhoneGap的决定在Adobe收购Nitobi之前就做出了,由于Adobe现在拥有PhoneGap商标,他们不得不换个名字,第一个选中的名字是Callback,毫无创意,因此再改一次,产品现在叫Apache Cordova。随后adobe把 phonegap送给了apache软件基金会,接着apache把phonegap改名为cordova,cordova是Nitobi团队当时坐落的街道名称,用此名来纪念Nitobi团队的贡献。所以Apache Cordova是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎,你看着两个官网风格多差不多。Cordova官方网址:我们后续的所有文章和代码都是基于Cordova的,Phonegap和Cordova之间的关系详见。接下来就罗列一些后面我们可能会学到的东西。开发工具和开发环境我们只讲Android和iOS下的App,所以也只要讲对这两个平台下的开发工具的环境搭建开发Android我用的是Eclipse,Windows下进行开发iOS用的是XCode,Mac OS下进行服务器端为了简单,实际项目是JAVA,为了简单起见,我们就是用PHP语言来说,使用的工具仍旧是Eclipse,Windows下进行前后端知识普及Javascript简要知识JQueryMobile简要知识PHPAndroid原生iOS原生Cordova项目如何新建项目Cordova项目文件介绍如何使用Cordova自带插件如何使用自己的插件(不会涉及源码解析)App功能点JQuery Mobile页面编写趋势图自动完成定位Splash Screen二维码和社交分享自动更新应用体验,自动登录录音传文件拍照推送APP发布Android市场AppStore运营也许还会讲一些运营方面的内容。
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量3431点击量3370点击量2753点击量2667点击量2080点击量1736点击量1648点击量1632点击量1590
&2018 Chukong Technologies,Inc.
京公网安备89【Cordova+Android+PhoneGAP-2.9】webAPP环境搭建
使用的是PhoneGAP2.9.0版本,此版本以后更名为cordova
Android开发环境必须有JAVA环境+Android SDK
SDK :software development kit 软件开发工具包,它是指用来辅助开发某一类软件的相关文档,范例和工具的集合
拿vc来说 sdk开发就是用c+API来编写的windows应用程序
Android SDK就是指Android专属的软件开发工具包
有必要谈谈Cordova和PhoneGAP之间的关系,PhoneGAP是Cordova的前身,首先Cordova是一个移动开发框架,基于它可以用HTML/CSS/JS/JQ等网页代码制作一个APP,PhoneGAP Builder是一个在线打包工具,它可以把写好的Android项目打包在线生成APP。
换句话来说,你只用Cordova写出的APP是无法展示的,倘若借助Eclipse可以在网页上看到APP的雏形,而借助PhoneGAP Build可以在电脑上生成一部“安卓手机”,可以通过鼠标实际操作的。
前期准备:xp系统
1.jdk(1.6.0_23)
2.Eclipse(4.2.0)
3.Android SDK(15-4.0.3)
5.phonegap(2.9.0)-Cordova(2.9.0)
6.Android SDK Manager (23.0.2)
搭建步骤:
1.安装jdk,在cmd中进入jdk的bin目录,输入javac -version
检测版本是否成功
2.安装Ecipse,过程简单就不在这里详细介绍了
3.配置环境,或者直接将jdk的jre文件拷贝到eclipse中
4.将jdk配置到eclipse中
打开eclipse -& window -& preferences -& 左侧 -& java -& Installed JREs -& 右侧 add -& Standard VM -& Directory...-&选择 刚才的jdk目录 -&ok -& 钩中 jdk -& ok.
5.安装Android SDK Manager,与eclipse放在同一父目录下,Android SDK Manager是用来安装Android SDK的
在里面选择安卓的版本,这里由于安装选择教复杂,所以直接将Android SDK中的platforms与system-images 复制到
Android SDK Manager中sdk下做覆盖。
6.打开Eclipse,新建虚拟机window -& Android Virtual Device Manager
然后点ok确认,检测能成功启动模拟器
此时会出现一个安卓手机的模拟机,等待一段时间,就会出现手机界面,检测成功
7.新建一个Android Application project
此时可能会出现错误,不用管
【java build path】添加 phonegap-2.9.0\lib\android\cordova-2.9.0.jar
将phonegap-2.9.0\lib\android\cordova-2.9.0.jar 到工作空间的libs中,如 hello\libs。
8.在项目中找到assets文件夹,创建一个项目空间,比如test
将phonegap-2.9.0\lib\android\cordova.js拷贝到刚创建的test文件夹内
以后html,css,js代码全部都是放在这个文件夹下面的,这和用其他编译器如Sublime TEXT是一样的
整个项目如下:
9.在res文件夹中,新建一个xml文件夹,新建一个xml文件,将以下内容拷贝到xml文件中
&?xml version="1.0" encoding="UTF-8"?&
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.
See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.
The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.
See the License for the
specific language governing permissions and limitations
under the License.
id="io.cordova.helloCordova"
version="2.0.0"
xmlns="http://www.w3.org/ns/widgets" &
Hello Cordova
&description&
A sample Apache Cordova application that responds to the deviceready event.
&/description&
email="dev@cordova.apache.org"
href="http://cordova.io" &
Apache Cordova Team
&access origin="*" /&
&!-- &content src="http://mysite.com/myapp.html" /& for external pages --&
&content src="index.html" /&
&preference
name="loglevel"
value="DEBUG" /&
&preference name="splashscreen" value="resourceName" /&
&preference name="backgroundColor" value="0xFFF" /&
&preference name="loadUrlTimeoutValue" value="20000" /&
&preference name="InAppBrowserStorageEnabled" value="true" /&
&preference name="disallowOverscroll" value="true" /&
&feature name="App" &
name="android-package"
value="org.apache.cordova.App" /&
&/feature&
&feature name="Geolocation" &
name="android-package"
value="org.apache.cordova.GeoBroker" /&
&/feature&
&feature name="Device" &
name="android-package"
value="org.apache.cordova.Device" /&
&/feature&
&feature name="Accelerometer" &
name="android-package"
value="org.apache.cordova.AccelListener" /&
&/feature&
&feature name="Compass" &
name="android-package"
value="org.apache.cordova.CompassListener" /&
&/feature&
&feature name="Media" &
name="android-package"
value="org.apache.cordova.AudioHandler" /&
&/feature&
&feature name="Camera" &
name="android-package"
value="org.apache.cordova.CameraLauncher" /&
&/feature&
&feature name="Contacts" &
name="android-package"
value="org.apache.cordova.ContactManager" /&
&/feature&
&feature name="File" &
name="android-package"
value="org.apache.cordova.FileUtils" /&
&/feature&
&feature name="NetworkStatus" &
name="android-package"
value="org.apache.cordova.NetworkManager" /&
&/feature&
&feature name="Notification" &
name="android-package"
value="org.apache.cordova.Notification" /&
&/feature&
&feature name="Storage" &
name="android-package"
value="org.apache.cordova.Storage" /&
&/feature&
&feature name="FileTransfer" &
name="android-package"
value="org.apache.cordova.FileTransfer" /&
&/feature&
&feature name="Capture" &
name="android-package"
value="org.apache.cordova.Capture" /&
&/feature&
&feature name="Battery" &
name="android-package"
value="org.apache.cordova.BatteryListener" /&
&/feature&
&feature name="SplashScreen" &
name="android-package"
value="org.apache.cordova.SplashScreen" /&
&/feature&
&feature name="Echo" &
name="android-package"
value="org.apache.cordova.Echo" /&
&/feature&
&feature name="Globalization" &
name="android-package"
value="org.apache.cordova.Globalization" /&
&/feature&
&feature name="InAppBrowser" &
name="android-package"
value="org.apache.cordova.InAppBrowser" /&
&/feature&
&!-- Deprecated plugins element. Remove in 3.0 --&
name="Geolocation"
value="org.apache.cordova.GeoBroker" /&
name="Contacts"
value="org.apache.cordova.ContactManager" /&
&/plugins&
10.修改AndroidManifest.xml文件为以下内容
&?xml version="1.0" encoding="utf-8"?&
&manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.infosys.demo"
android:versionCode="1"
android:versionName="1.0" &
&supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true" /&
&uses-permission android:name="android.permission.CAMERA" /&
&uses-permission android:name="android.permission.VIBRATE" /&
&uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&
&uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&
&uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /&
&uses-permission android:name="android.permission.READ_PHONE_STATE" /&
&uses-permission android:name="android.permission.INTERNET" /&
&uses-permission android:name="android.permission.RECEIVE_SMS" /&
&uses-permission android:name="android.permission.RECORD_AUDIO" /&
&uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /&
&uses-permission android:name="android.permission.GET_ACCOUNTS" /&
&uses-permission android:name="android.permission.READ_CONTACTS" /&
&uses-permission android:name="android.permission.WRITE_CONTACTS" /&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&
android:minSdkVersion="9"
android:targetSdkVersion="15" /&
&application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" &
android:name=".MainActivity"
android:label="@string/app_name" &
&intent-filter&
&action android:name="android.intent.action.MAIN" /&
&category android:name="android.intent.category.LAUNCHER" /&
&/intent-filter&
&/activity&
&/application&
&/manifest&
11.修改AndroidManifest.xml的package
改为与当前项目相同包名,由于每个人的项目名不同,所以这里包名也不同
比如这里改为 com.example.hello
12.修改src下的MainActivity.java文件为下面的内容
import org.apache.cordova.DroidG
import android.app.A
import android.os.B
import android.view.M
import android.view.MenuI
public class MainActivity extends DroidGap { //extends Activity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
//setContentView(R.layout.activity_main);
13.启动模拟器
右键点击hello(左侧项目树中的项目)-& Run As -& Android Application.
然后就可以在模拟器中看到APP了
控制台输出如下:
参考资料:
Android中ADT和SDK关系:(转)http://blog.sina.com.cn/s/blog_7e3fa7ec01018ckh.html
ADT:Android Development Tools
目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升
级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。adt只是一个eclipse的插件,里面可以设置sdk路径
SDK(Software Development Kit): 一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统
等建立应用软件的开发工具的集合。
在Android中,他为开发者提供了库文件以及其他开发所用到的工具。简单理解为开发工具包集合,是整体开发中所用
到的工具包,如果你不用Eclipse作为你的开发工具,你就不需要下载ADT,只下载SDK即可开发。SDK可以自己编
译,在linux环境下通过make命令进行,耗时比较长,需要有耐心哦亲。。。然后我们可以把自己编译的SDK通过
ADT导入eclipse。在此基础上可以对源码包进行修改,比如修改android system/app/phone.apk中的源码,然后再次
调用make命令,就可以产生新的system.image文件,此文件是镜像文件。
手机ROM中包含两个基本的image,一个是boot.image,这个image中主要是kernel和文件系统/目录下的一些东西
kernel我就不说了,/目录下主要是init和相关的配置文件 system.image是android系统的userpace的核心,包
括/system/bin,system/lib,system/app下的一些东西
Android平台与SDK Tools版本、ADT版本的对应关系
Android平台
SDK Tools的版本
Android 2.2
Android 2.3
Android 3.0 预览版
Android 3.0
ADT-10.0.0
Android 3.1
ADT-11.0.0
Android 3.2
ADT-12.0.0
Android 4.0
ADT-14.0.0
Android平台
Android 2.0.11
Android 2.1-update1
Android 2.2
Android 2.3
Android 2.3.3
Android 3.0
Android 3.1
Android 3.2
Android 4.0
Android中SDK和NDK:(转自百度回答)
android sdk (Android Software Development Kit, 即Android软件开发工具包)
可以说只要你使用java去开发Android这个东西就必须用到。他包含了SDK Manager 和 AVD Manage,对于android系
统的一些开发版本的管理以及模拟器管理。
ndk (Native Development Kit)跟sdk差不多的是他也是一个开发工具包
用他开发c/c++是很方便的。他有一个强大的编译集合。
说说android他为什么会有一个ndk吧
很早以前android是只有sdk的。并没有ndk。这就意味着一旦android的开发者要使用c/c++的三方库或者需要用到
c/c++就必须使用非官方的法子。用java的jni去调用c/c++。耍小聪明走后门一样。而ndk的出现就意味着jni调用的这
种方法转正了变成官方了以后你不需要再走后面大路正面随你走
可是这样还是没有说到为什么要有ndk啊。是的我只想说的就是如果你要操作底层直接操作内存。操作地址那你不得
不去使用c/c++因为java这块想做这些。那恐怕有点困难。所以ndk是必须需要出现的,
而这个sdk和ndk并不是完全不相溶的2门语言。对于android来说是同种语言的2种不同时期的必须品。
没有更多推荐了,

我要回帖

更多关于 xscript 手机应用开发 的文章

 

随机推荐