トラッキング コード

12/06/2013

Building JellybeanOnBeaglebone_WithSGX for Beagle Bone Black

Get the Files
  $ repo init -u git://gitorious.org/rowboat/manifest.git -m rowboat-jb-am335x.xml
  $ repo sync $

Toolchain Setup
Setup the tool-chain path to point to arm-eabi- tools in prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/
  $ export PATH=/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:$PATH
Build Boot Loader (MLO/u-boot)
Change directory to u-boot
  $ cd u-boot
Execute following commands
  $ make CROSS_COMPILE=arm-eabi- distclean
  $ make CROSS_COMPILE=arm-eabi- am335x_evm_config
  $ make CROSS_COMPILE=arm-eabi- 
Build Android, Kernel and SGX
  $ make TARGET_PRODUCT=beagleboneblack OMAPES=4.x
Create Root Filesystem Tarball
Prepare the root filesystem as follows:
  $ cd 
  $ make TARGET_PRODUCT=beagleboneblack fs_tarball
Flash SD Card
Copy compiled Images to image folder and create a bootable SD card as follows.
  $ mkdir image_folder
  $ cd image_folder
  $ cp ../kernel/arch/arm/boot/uImage .
  $ cp ../u-boot/MLO .
  $ cp ../u-boot/u-boot.img .
  $ cp ../external/ti_android_utilities/am335x/u-boot-env/uEnv_beagleboneblack.txt .
  $ cp ../out/target/product/beagleboneblack/rootfs.tar.bz2 .
  $ cp ../external/ti_android_utilities/am335x/mk-mmc/mkmmc-android.sh .
  $ sudo ./mkmmc-android.sh YOUR_SD_CARD MLO u-boot.img uImage uEnv_beagleboneblack.txt rootfs.tar.bz2

12/05/2013

TI official image of Android On Beagle Bone Black

You can get 'release information' of Beagle Bone Black's Android.
http://downloads.ti.com/sitara_android/esd/TI_Android_DevKit/TI_Android_JB_4_2_2_DevKit_4_1_1/index_FDS.html

I got offical TI image Of Android 4.2.2, and install to beagle bone black.


$ wget http://downloads.ti.com/sitara_android/esd/TI_Android_DevKit/TI_Android_JB_4_2_2_DevKit_4_1_1/exports/TI_Android_JB_4.2.2_DevKit_4.1.1_beagleboneblack.tar.gz
$ tar xzvf TI_Android_JB_4.2.2_DevKit_4.1.1_beagleboneblack.tar.gz
$ cd beagleboneblack
$ sudo ./mkmmc-android.sh /dev/


copyed to log.
Assuming Default Locations for Prebuilt Images
All data on /dev/sdb now will be destroyed! Continue? [y/n]
y
[Unmounting all existing partitions on the device ]
umount: /dev/sdb: not mounted
umount: /dev/sdb2: not mounted
[Partitioning /dev/sdb...]
Disk /dev/sdb doesn't contain a valid partition table
DISK SIZE - 7851737088 bytes
CYLINDERS - 954
[Making filesystems...]
[Copying files...]
[Copying START_HERE folder to boot partition]
umount: /mnt: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[Copying all clips to data partition]
[Done]


Takes a long time to start Android...Please wait 10 minutes.

11/04/2013

Andoird 4.4 KitKat StatusBar



SystemServer

We can hide StatusBar, settiing of "config.disable_systemui" .

https://android.googlesource.com/platform/frameworks/base/+/android-4.4_r1/services/java/com/android/server/SystemServer.java
        boolean disableSystemUI = SystemProperties.getBoolean("config.disable_systemui", false);

            if (!disableSystemUI) {
                try {
                    Slog.i(TAG, "Status Bar");
                    statusBar = new StatusBarManagerService(context, wm);
                    ServiceManager.addService(Context.STATUS_BAR_SERVICE, statusBar);
                } catch (Throwable e) {
                    reportWtf("starting StatusBarManagerService", e);
                }
            }


SystemUi

Delete "tablet" of folder. so not be used on JB!!

https://android.googlesource.com/platform/frameworks/base/+/android-4.4_r1/packages/SystemUI/src/com/android/systemui/statusbar/

10/17/2013

How to backup for Peak

memo:
adb shell
cd /dev/block
excute dd commond each of "mmcblk" file.
dd if=/dev/block/mmcblk0 of=/sdcard/peak_bk/mmcblk0
dd if=/dev/block/mmcblk0p1 of=/sdcard/peak_bk/mmcblk0p1
dd if=/dev/block/mmcblk0p10 of=/sdcard/peak_bk/mmcblk0p10
dd if=/dev/block/mmcblk0p11 of=/sdcard/peak_bk/mmcblk0p11
dd if=/dev/block/mmcblk0p12 of=/sdcard/peak_bk/mmcblk0p12
dd if=/dev/block/mmcblk0p13 of=/sdcard/peak_bk/mmcblk0p13
dd if=/dev/block/mmcblk0p14 of=/sdcard/peak_bk/mmcblk0p14
dd if=/dev/block/mmcblk0p15 of=/sdcard/peak_bk/mmcblk0p15
dd if=/dev/block/mmcblk0p16 of=/sdcard/peak_bk/mmcblk0p16
dd if=/dev/block/mmcblk0p17 of=/sdcard/peak_bk/mmcblk0p17
dd if=/dev/block/mmcblk0p18 of=/sdcard/peak_bk/mmcblk0p18
dd if=/dev/block/mmcblk0p19 of=/sdcard/peak_bk/mmcblk0p19
dd if=/dev/block/mmcblk0p2 of=/sdcard/peak_bk/mmcblk0p2
dd if=/dev/block/mmcblk0p20 of=/sdcard/peak_bk/mmcblk0p20
dd if=/dev/block/mmcblk0p21 of=/sdcard/peak_bk/mmcblk0p21
dd if=/dev/block/mmcblk0p3 of=/sdcard/peak_bk/mmcblk0p3
dd if=/dev/block/mmcblk0p4 of=/sdcard/peak_bk/mmcblk0p4
dd if=/dev/block/mmcblk0p5 of=/sdcard/peak_bk/mmcblk0p5
dd if=/dev/block/mmcblk0p6 of=/sdcard/peak_bk/mmcblk0p6
dd if=/dev/block/mmcblk0p7 of=/sdcard/peak_bk/mmcblk0p7
dd if=/dev/block/mmcblk0p8 of=/sdcard/peak_bk/mmcblk0p8
dd if=/dev/block/mmcblk0p9 of=/sdcard/peak_bk/mmcblk0p9
dd if=/dev/block/mmcblk1 of=/sdcard/peak_bk/mmcblk1
dd if=/dev/block/mmcblk1p1 of=/sdcard/peak_bk/mmcblk1p1

9/23/2013

Create a tab of like "Ingress Comm".

I created a tab of like "Ingress Comm".


Displayed Image

First, display only a tab. Display the View by pulling up the tab.




On pulling up the tab, display contens in View.

Code

It is published at Github, with Licence of "MIT".
https://github.com/baroqueworksdev/MyApiDemo/blob/master/src/jp/baroqueworksdev/myapidemo/view/SlidePanelView.java

7/28/2013

About AppOps in Android 4.3

Android 4.3 added "AppOps" whitch is like permission manager.


Points


  • added AppOpsManager, AppOpsService in the frameworks(Java Layer).
  • If you would like to use "AppOps", you can called getSystemService(Context.LAYOUT_INFLATER_SERVICE).
  • Each "Service" in frameworks decide to run operation, by obtaining a setting from the AppOpsService,
If you want to know more info, you should do grep "AppOpsManager.MODE_ALLOWED / MODE_IGNORED" in AOSP.




Create "AppOpsService" instance

AppOpsService is created in ActivityManagerService's constructor.

    private ActivityManagerService() {
        File systemDir = new File(dataDir, "system");
            :
        mAppOpsService = new AppOpsService(new File(systemDir, "appops.xml"));
            :
    }



Setting data of AppOpsManager

Setting data of AppOps is saved to xml file. Xml file is named "appops.xml". It is saved under the System directory.

public class AppOpsService extends IAppOpsService.Stub {
    public AppOpsService(File storagePath) {
        mFile = new AtomicFile(storagePath);
        mHandler = new Handler();
        readState();
    }

    void readState() {

    }
    void writeState() {

    }
}

Ckeck it

You should check many source in AOPS(android-4.3_r2.1).
Settings application
packages/apps/Settings/src/com/android/settings/applications
- AppOpsCategory.java
- AppOpsDetails.java
- AppOpsState.java
- AppOpsSummary.java


Frameworks
frameworks/base/core/java/android/app/ContextImpl.java
frameworks/base/core/java/android/app/AppOpsManager.java
frameworks/base/services/java/com/android/server/AppOpsService.java
frameworks/base/services/java/com/android/server/am/ActivityManagerService.java


12/12/2012

How to use ActivityLifecycleCallbacks in Application Class

Do you want to add same code in all your ActivityLifeCycle?
You must use ActivityLifecycleCallbacks.

ActivityLifecycleCallbacks is interface of Application.class.
Can handle the called lifeCycle of Activity.


Sample code:
public class MyApplication extends Application {

    @Override
 public void onCreate (){
  super.onCreate();
  registerActivityLifecycleCallbacks(new MyActivityLifecycleCallbacks());
 }
 
    @Override
    public void onTerminate (){
     super.onTerminate();
    }
    
    @Override
    public void onConfigurationChanged (Configuration newConfig){
     super.onConfigurationChanged(newConfig);
    }
    
    private static final class MyActivityLifecycleCallbacks implements ActivityLifecycleCallbacks {

  public void onActivityCreated(Activity activity, Bundle bundle) {
   Log.e("","onActivityCreated:" + activity.getLocalClassName());
  }

  public void onActivityDestroyed(Activity activity) {
   Log.e("","onActivityDestroyed:" + activity.getLocalClassName());
  }

  public void onActivityPaused(Activity activity) {
   Log.e("","onActivityPaused:" + activity.getLocalClassName());
  }

  public void onActivityResumed(Activity activity) {
   Log.e("","onActivityResumed:" + activity.getLocalClassName());
  }

  public void onActivitySaveInstanceState(Activity activity,
    Bundle outState) {
   Log.e("","onActivitySaveInstanceState:" + activity.getLocalClassName());
  }

  public void onActivityStarted(Activity activity) {
   Log.e("","onActivityStarted:" + activity.getLocalClassName());
  }

  public void onActivityStopped(Activity activity) {
   Log.e("","onActivityStopped:" + activity.getLocalClassName());
  }
    }
}