Edit the AlarmClock in AOSP with android-studio

1. git the AlarmClock source code on AOSP

2. select ‘import project‘ by android-studio & we will revise this code

AlarmKlaxon.java
     L89
           //mVibrator = new Vibrator();
           mVibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE);

L207,8
      //setDataSourceFromResource(getResources(), mMediaPlayer,
      // com.android.internal.R.raw.fallbackring);
      setDataSourceFromResource(getResources(), mMediaPlayer,
       R.raw.fallbackring);
      R.raw.fallbackringとしてfallbackring.oggをファイルを保存 (可以自己隨便用個叫fallbackring.ogg的音檔放到main/res/raw下面)


  Alarms.java
    L462
      //Intent alarmChanged = new Intent(Intent.ACTION_ALARM_CHANGED);
      final String ACTION_ALARM_CHANGED = "android.intent.action.ALARM_CHANGED";
      Intent alarmChanged = new Intent(ACTION_ALARM_CHANGED);

    L512,521,538
    指定APIに対応していないAPIを呼び出そうとしている。
    Eclipseクイックフィックス
    Add target api to (メソッド名)で修正


  DigitalClock.java
    L52 追加
      private Context mContext;

    L104, 110 追加
      this.mContext = context;

    L187
  Alarms.java 同様アノテーション付与


SetAlarm.java
L116
//.findViewById(com.android.internal.R.id.content);
.findViewById(android.R.id.content);

L165
Alarms.java 同様アノテーション付与


AndroidManifest.xml
追加
要素の次

Please execute ‘adb uninstall com.android.alarmclock‘ in a shell.
と出たら素直にCMDで実行

後來還是在一些xml上面報錯,因此砍掉一些錯誤的行。暫時想不到怎改阿!!

結果build apk成功。

ref:

1. http://imax-live.blogspot.tw/2013/04/platformpackagesappsalarmclock.html

2. http://bokukoko.hatenablog.com/entry/20120825/1345895842

时间: 2024-10-06 15:47:28

Edit the AlarmClock in AOSP with android-studio的相关文章

macOS(Sierra 10.12)上Android源码(AOSP)的下载、编译与导入到Android Studio

http://blog.bihe0832.com/macOS-AOSP.html [本文结构] 背景 背景简介 最近因为项目需要,要研究Android系统中应用安装的详细过程.在这种场景下,最好的办法就是Read the Fucking Source Code.之前都是在线看,这次因为看的内容比较多,而且看的比较细,因此打算在本地checkout一份.这篇文章就主要记录本人使用macOS(Sierra 10.12.1)在本地checkout出AOSP(7.1.1)并编译导入Android Stu

动手试试Android Studio插件开发

由于业务关系,经常需要写一些表单页面,基本也就是简单的增删改查然后上传,做过几个页面之后就有点想偷懒了,这么低水平重复性的体力劳动,能不能用什么办法自动生成呢,查阅相关资料,发现android studio插件正好可以满足需求,在Github上搜了一下,找到BorePlugin这个帮助自动生成布局代码的插件挺不错的,在此基础上修改为符合自己需求的插件,整体效果还不错. 发现了android studio插件的魅力,自己也总结一下,也给小伙伴们提供一点参考,今天就以实现自动生成findviewby

Android Studio官方文档之构建和运行你的APP

Android Studio官方文档之构建和运行你的APP 本文由MTJH翻译,jkYishon审校. 前言 默认情况下,Android Studio设置新的项目并且部署到模拟器或者真机设备上,只需要点击几下.使用即时运行,你并不需要构建一个新的APK即可将改变后的方法和现有的应用资源应用到一个正在运行的应用程序中,所以代码的改变是即时可见的. 点击Run来构建并运行你的APP.Android Studio通过Gradle构建你的App,选择一个部署的设备(模拟器或连接的设备),然后把你的APP

Android Studio真机测试

本页内容 1.真机测试好处多 2.开始吧!真机测试 1.真机测试好处多 不久前才开我的Android Studio之旅,就遇上了一个大麻烦--创建的模拟器各种运行出错.尝试了各种解决方法,都没有什么结果.上网一百度,搜到的答案是:用真机测试吧,android Studio自带的模拟器太水了. 到底水在哪里呢,原来是因为它太卡.运行缓慢.不够时尚.常常出错.看了这样的评论,我也当然没有使用它的原因了.那么用真机测试有什么好处呢?这个,还真不少. 首先,在模拟器上能成功运行的软件不一定能在真机上成功

[转]Android Studio SQLite Database Example

本文转自:http://instinctcoder.com/android-studio-sqlite-database-example/ BY TAN WOON HOW · PUBLISHED APRIL 9, 2014 · UPDATED JUNE 23, 2016 SQLiteDatabase is a class that allowed us to perform Create, Retrieve , Update, and Delete data (CRUD) operation.

android studio NDK 开发初探

android studio NDK 开发初探 环境配置 1)下载ndk 2)在android studio中配置ndk 路径 3)配置gradle 在gradle.properties中加入 android.useDeprecatedNdk=true配置 开启ndk 在开发过程中我们有时还会用到c++中到stl库这时我们就需要在build.gradle 中加入 defaultConfig { ndk { moduleName "jnitest" stl "stlport_s

使用Android Studio进行安卓开发教程

本教程介绍如何创建Android应用程序.它基于Android5.0(Lollipop)介绍Android Studio的用法. 安卓介绍 Android是基于Linux内核的操作系统.负责开发Android系统的项目被为Android Open Source Project (AOSP) ,由谷歌领导. Android系统支持后台处理,提供了丰富的用户界面库,使用的OpenGL标准支持2-D和3-D图形,并允许访问文件系统以及嵌入式SQLite数据库. Android应用包含可见和不可见组件,

Android Studio各种快捷功能及好用的插件

转载:http://www.jianshu.com/p/c439605a4364 概述 现如今开发越来越追求效率和节奏,节省出时间做更多的事情,除了开发技术上的封装等,开发工具的使用技巧也是很重要的,今天就根据自己的经验来给大家介绍一下Android Studio快速开发之道. Postfix completion Postfix completion 是IntelliJ IDEA很早就有的功能,该功能基于已经输入的表达式和你添加的后缀来实现另一个你想要的表达式.例如在布尔表达式之后加上后缀if

Android Studio 快速开发

概述 现如今开发越来越追求效率和节奏,节省出时间做更多的事情,除了开发技术上的封装等,开发工具的使用技巧也是很重要的,今天就根据自己的经验来给大家介绍一下Android Studio快速开发之道. Postfix completion 介绍 Postfix completion 是IntelliJ IDEA很早就有的功能,该功能基于已经输入的表达式和你添加的后缀来实现另一个你想要的表达式.例如在布尔表达式之后加上后缀if就是if语句 . 常用后缀介绍 下面介绍一下个人工作中觉得比较常用的几个后缀