AOKP覚書(android4.3)その52013年10月14日 08:36

apnは
device/sample/etc/apns-full-conf.xml

が利用される。
ファイル自体はjb-mr2以前も同じパスにあるけど、jb-mr2では
<apns version="8">
になっている。
jb-mr1で利用していたファイルmのバージョンは7なので、古いファイルをそのまま利用しようとすると実機のapn設定が空になる。



AOKP覚書(android4.3)その42013年10月14日 07:55

特定のデバイスとカーネルのソースの取得、jb-mr1の頃はrepoでソース取得後
./platform_manifest/manual_add_kernel_manifest.sh
を実行すると一通りのデバイス依存のソースがダウンロードできたのだけれど、jb-mr2になってから、repo initにオプションを付けて

$ repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr2 -g all,-notdefault,<devicename>,<vendorname>

で取得できるみたい。
Galaxy Nexusだと

$ repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr2 -g all,-notdefault,maguro,samsung

こんな感じ。
不要なソースをダウンロードしないので時間がかからなくて良い。

※jb-mr2への切り替え当初はmaguroで使うカーネルプロジェクト(keranel/sumsung/tuna)がマニフェストに含まれていなくて、明示的にtunaも指定しないと駄目だった。


AOKP覚書(android4.3)その32013年10月13日 23:23

初期言語を日本語に

build/target/product/full_base.mk

PRODUCT_PROPERTY_OVERRIDES := \
     ro.com.android.dateformat=MM-dd-yyyy \
 
 # Put en_US first in the list, so make it default.
-PRODUCT_LOCALES := en_US
+PRODUCT_LOCALES := ja_JP
 
 # Get some sounds
 $(call inherit-product-if-exists, frameworks/base/data/sounds/AllAudio.mk)

AOKP覚書(android4.3)その22013年10月13日 23:19

アンテナピクト対策

frameworks/opt/telephony/src/java/com/android/internal/telephony/ServiceStateTracker.java

 public abstract class ServiceStateTracker extends Handler
      * data only devices, to fix that use DataRegState.
      */
     protected void useDataRegStateForDataOnlyDevices() {
-        if (mVoiceCapable == false) {
+        //if (mVoiceCapable == false) {
             if (DBG) {
                 log("useDataRegStateForDataOnlyDevice: VoiceRegState=" + mNewSS
                     + " DataRegState=" + mNewSS.getDataRegState());
             }
             // TODO: Consider not lying and instead have callers know the diffe
             mNewSS.setVoiceRegState(mNewSS.getDataRegState());
-        }
+        //}
     }




AOKP覚書(android4.3)その12013年10月13日 22:58

Nexus7(2012)用にAOKPをビルドする際に、カーネルをfrancoに変更してみた際の作業の覚え書き。

1 開発環境(ソース展開先の)
  .repo/manifest/default.xml
  に以下の行追加し、commit。repoでソースを取得できるようにする
----------------------------------------------------------------------
  <remote  name="franco"
           fetch="https://github.com/"
           />
  <project path="kernel/asus/grouper-franco" name="franciscofranco/Grouper-3.1.10" remote="franco" revision="nightlies-4.3" groups="notdefault,kernel,grouper" />
----------------------------------------------------------------------

2 同じく開発環境の
  device/asus/grouper/BoardConfigCommon.mk
  の赤字部分を青字に変更後commit。

----------------------------------------------------------------------
 BOARD_USES_GROUPER_MODULES := true

 # Required for CWM
 BOARD_HAS_NO_SELECT_BUTTON := true
 
-TARGET_KERNEL_SOURCE := kernel/asus/grouper
-TARGET_KERNEL_CONFIG := cyanogenmod_grouper_defconfig

+TARGET_KERNEL_SOURCE := kernel/asus/grouper-franco
+TARGET_KERNEL_CONFIG := franco_grouper_defconfig

 
 BOARD_SEPOLICY_DIRS += \
        device/asus/grouper/sepolicy
----------------------------------------------------------------------

3 repo sync -j8
  を実行し、AOKPおよびfrancoの最新ソースを取得

4 実機に一度francoを導入し、実機の
   /proc/config.gz
  を取得、展開しconfigファイルを取り出し
  開発環境の
  kernel/asus/grouper-franco/arch/arm/configs/
  に
  franco_grouper_defconfig
  としてコピーし、commit。

5 . build/envsetup.sh && brunch grouper
  を実行し、ビルド。

※francoのソースにはカーネルビルドに必要なdefconfigが含まれていなかった。
※Galaxy Nexus用にLeanKernelをAOKP組み込んだ時には4の手順は不要だった。
※※LeanKernelソースにはtuna_defconfigが含まれている。