【android原生应用】之闹钟应用搭起篇
由于工作原因接触android开发一段时间了,对于开发有了一些了解,于是萌生了搭起android原生应用进行分析和学习的想法。先从闹钟应用开始吧。
1.首先要下载原生应用,原生应用在原生系统里面(当然你得先下载原生的系统,过程请百度之)。
目录如下:packages\apps,所有的原生基础应用都在这个里面,我们进入DeskClock目录,将其作为一个工程搭建起来。
这时候会报错,根据报错信息来看是由于缺少jar包近期的,datetimepicker.jar 、android-support-v13.jar ,下面我们寻找着两个jar包。
2.增为DeskClock工程增加jar包
2.1 datetimepicker.jar
该jar包是有原生代码编译而成的,因此在网上找基本是找不到的,我是找了几天都没有找到。找不到怎么办呢,只能自己动手进行编译了。
搜索datetimepicker发现他的地址:\frameworks\opt\datetimepicker,打开一看也是一个工程。现在我们只需要把这个工程编译成jar包即可。
如何把工程编译为jar包呢?工程——>Properties——>android——>Is Liberary打上勾即可。另外需要注意,datetimepicker也需要引用android-support-vX.jar,这里一定要引用高版本的,比如13版的,原因后面说。
有了jar包,我们把jar包引用到DeskClock,就少了一堆错误了。
2.2 android-support-v13.jar
由于之前还发现还却少android-support-v4.jar android-support-v13.jar的包,因此引用一个更高版本的13版的即可。
引用了13的jar包之后,发现错误没有啦,是不是很高兴?
开始编译......
报错:
Unable to execute dex: Multiple dex files define Landroid/support/v13/app/FragmentCompat$FragmentCompatImpl;
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v13/app/FragmentCompat$FragmentCompatImpl;
报的错误是多个dex文件定义问题,如图,文件夹中有两个v13。
这是为什么呢?还记得我们在datetimepicker也引用了V13吧,引用的jar工程文件中含有的jar包不用重复引用,要不然会报错。
问题怎么解决?去掉V13这个包,重新编译,一切正常。
第一次编译原生应用就这么easyand愉快的结束了,下次聊点原生闹钟的解析吧。
【android原生应用】之闹钟应用搭起篇的更多相关文章
- 拓展 Android 原生 CountDownTimer 倒计时
拓展 Android 原生 CountDownTimer 倒计时 [TOC] CountDownTimer 在系统的CountDownTimer上进行的修改,主要是拓展了功能,当然也保留了系统默认的模 ...
- Android原生json和fastjson的简单使用
android原生操作json数据 主要是两个类 JSONObject 操作对象 JONSArray操作json数组 对象转json //创建学生对象 Student student=new ...
- Android原生游戏开发:使用JustWeEngine开发微信打飞机
使用JustWeEngine开发微信打飞机: 作者博客: 博客园 引擎地址:JustWeEngine 示例代码:EngineDemo JustWeEngine? JustWeEngine是托管在Git ...
- android原生ExpandableListView
android原生可扩展ExpandableListView就是可以伸缩的listView,一条标题下面有多条内容. 这个list的adapter对的数据要求与普通ListView的数据要求也有一些差 ...
- [Android Pro] android 4.4 Android原生权限管理:AppOps
reference : http://m.blog.csdn.net/blog/langzxz/45308199 reference : http://blog.csdn.net/hyhyl1990/ ...
- PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码
PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码 看看新闻网>看引擎>开源产品 0人收藏此文章, 发表于8小时前(2013-09-06 00:39) ...
- Android 原生listview item伸展收缩效果
Android原生listview做的一个item的伸缩效果.*永远不要让你老大有机会改需求 package com.example.yunkanglast; import java.io.Seria ...
- Android原生APP内分享
Android原生APP内分享,可实现数据分享以及assets文件夹分享及私有文件分享 项目地址:https://github.com/json-pu/AndroidAppShare.git
- Android原生跳转React不同页面(undefined is not an object)
继续上篇文章的demo,由于现在的项目是原生的,打算用部分页面试下react native,那么问题来了:react貌似只有一个入口 index.android.js,那么在不同的原生页面需要跳转到不 ...
随机推荐
- scjp考试准备 - 7 - Java构造器
题目——如下代码的执行结果: class Hello{ String title; int value; public Hello(){ title += " World!"; } ...
- shell 函数
1 shell函数的定义及其调用 shell函数有两种格式: function name { commands } name() { commands } 其中,name为函数名,commands为函 ...
- SqlParameter[] 添加
protected void Button1_Click(object sender, EventArgs e) { string strSql="insert into Invoice_R ...
- R统计图
主题:R统计图 作者:luomg 关键字:统计,R,ggplot2 1.什么是统计图? 统计图:统计图是从数据到几何对象的图形属性的一个映射 砖石重量对价格的散点图 qplot(carat,price ...
- mysql查询重复
select * from tablename where id in ( select id from tablename group by id having count(id) ...
- Introduction to Haskell
"I know why you're here. ...why you hardly sleep, why night after night, you sit by your comput ...
- P3245: 最快路线
这道题其实还是不难的,只是自己搞混了=-=//晕,做了好久啊,其实就是个spfa,关键是存储路径搞昏了.输出格式要求太严了,航模不能有空格啊,所以因为格式WA了三次,哭啊/(ㄒoㄒ)/~~.贴上代码吧 ...
- Ubuntu 14.04安装配置NFS服务器
(一)安装NFS服务器1.1-安装Ubuntu nfs服务器端: sudo apt-get install nfs-kernel-server 1.2-安装nfs的客户端: sudo apt-get ...
- DF与EF的区别
DF:专有文件 EF:基本文件 1.EF没有文件名,只有FID(文件标识符) 2.DF有文件名,又有FID,因此COS可以根据文件名来访问DF
- 如何设置potplayer播放时总在最前端
1.测试平台:potplayer 64位 2.步骤:在播放器界面上点击右键->选项->基本->最前端方式-选播放视频时在最前端(或是总在最前端) 3.选择:基本->最前端方式- ...