zoukankan      html  css  js  c++  java
  • 【android原生应用】之闹钟应用搭起篇

    由于工作原因接触android开发一段时间了,对于开发有了一些了解,于是萌生了搭起android原生应用进行分析和学习的想法。先从闹钟应用开始吧。

    1.首先要下载原生应用,原生应用在原生系统里面(当然你得先下载原生的系统,过程请百度之)。

    目录如下:packagesapps,所有的原生基础应用都在这个里面,我们进入DeskClock目录,将其作为一个工程搭建起来。

    这时候会报错,根据报错信息来看是由于缺少jar包近期的,datetimepicker.jar 、android-support-v13.jar ,下面我们寻找着两个jar包。

    2.增为DeskClock工程增加jar包

    2.1 datetimepicker.jar 

    该jar包是有原生代码编译而成的,因此在网上找基本是找不到的,我是找了几天都没有找到。找不到怎么办呢,只能自己动手进行编译了。

    搜索datetimepicker发现他的地址:frameworksoptdatetimepicker,打开一看也是一个工程。现在我们只需要把这个工程编译成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愉快的结束了,下次聊点原生闹钟的解析吧。

  • 相关阅读:
    FreeRTOS之源码 及 移植详解
    FreeRTOS之Tracealyzer for FreeRTOS(FreeRTOS+Trace) 详解(源码解析+移植)
    FreeRTOS之全配置项详解、裁剪(FreeRTOSConfig.h)
    linux下安装oracle中遇到的一些问题
    RedHat Enterprise Linux 6 配置Xmanager ,实现图形界面连接
    Linux ext2/ext3文件系统详解
    对固态硬盘ssd进行4k对齐
    在CentOs6.5安装jdk
    Android的API版本和名称对应关系
    Java反射机制及Method.invoke详解
  • 原文地址:https://www.cnblogs.com/xiajf/p/3991508.html
Copyright © 2011-2022 走看看