タグ別アーカイブ: Develop

Android StudioにXposedBridgeApi.jarをインポート

Android StudioでXposed Moduleを作成するときにつまずいた。すぐ解決したものの、検索しても転んで起き上がれないケースばかりが引っかかってくるのでのでメモ。

app/libsにXposedBridgeAPI.jarを突っ込んで右クリックメニューからライブラリとして追加を選ぶところは通常通りだが、このままだとXposedBridgeAPI.jarが includeされてしまう。その結果、Framework、Module双方にAPIライブラリの実体が存在してしまうので、実行時にModuleクラスのロードに失敗する。APIライブラリを参照しつつincludeされないようにする必要がある。

キモはapp/build.gradleの記述。

動かない例

dependencies {
// Android Studioが自動生成
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile files('libs/XposedBridgeApi-54.jar')
}

動く例

dependencies {
//    compile fileTree(dir: 'libs', include: ['*.jar'])
//    compile files('libs/XposedBridgeApi-54.jar')
// compile fileTreeをコメントアウトしただけだとビルドできない
    provided files('libs/XposedBridgeApi-54.jar')
}

以上。

現在のリポジトリ

eclairでとってくると、もれなくビルド番号ERD79(NexusOneと同じ)になるようです。

Snow Leopardでeclairのbuild

・インストラクションに従いMacPortsやrepoをインスコ

Java5のインスコ

$ cd /System/Library/Frameworks/JavaVM.framework/Versions

$ sudo rm 1.5.0

$ sudo tar xvzf ~/Downloads/java.1.5.0-leopard.tar.gz

・PATH通し(~/.bash_profile)

export PATH=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/bin:/opt/local/bin:$PATH

・Java Preferencesの設定

JavaアプリケーションでJ2SE 5.0 32-bitを最優先に。

・ファイルシステムの作成

hfs+は大文字小文字区別で、Androidのルートパスにスペースが入らないようにマウント。

・リポジトリ作成

$ repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair

$ repo sync

$ cp build/buildspecdefault.mk buildspeck.mk

・buildspec.mkいじり

適当にいじる。gccが4.2だとjavadocのビルドに失敗するので、以下を加える。

CC=gcc-4.0

CXX=g++-4.0

・envsetup.sh

$ . build/envsetup.sh

mmで部分ビルドができる。

という訳で、ようやく

TARGET_PRODUCT=genericですが、Snow Leopard環境でeclairのビルドに成功しましたw

ライブ壁紙で使われるRenderScriptの正体

リソース中の.rsファイル(Cライクな記述言語)をデバイス側でコンパイルして実行していたのですね。びっくりw

Android 1.5 SDK preview

Getting ready for Android 1.5 – Android Developers Blog

こちらで、early-look Android 1.5 SDKとして、preview版のSDKへのリンクが張られています。いよいよですね!

Android 1.0 SDK, release 2

Android Developers Blogより、

First, the Android 1.0 SDK, release 2 is now available. Like the previous 1.0_r1 release, this new 1.0_r2 build creates applications that are compatible with Android 1.0 devices, such as the T-Mobile G1.

ということで、1.0リリース2のSDKのダウンロードはこちらから。