LoginSignup
22
24

More than 5 years have passed since last update.

Android Studio用にHidden APIを使う環境を作る

Posted at

皆さん、AOSPの中には、Android SDKからアクセスできない隠しAPIが無数に入っていることをご存知ですよね。

Eclipseで使うには、ここのページが詳しいです。
https://sites.google.com/site/hippunosource/home/android/androidnohide-apiwo-shi-yongsuru-rifurekushonha-wei-shi-yong

簡単にまとめると、以下のようになります。
1. AOSP成果物の中から、framework.jarとcore.jarを取り出す。
2. Eclipseの参照プロジェクトにこいつらを指定する。

Android Studioを使う場合、jarを参照するだけ、という使い方ができません。
ので、android関連のクラスをAndroid SDKに移植します。
(この記事は心持ちWindowsユーザーがターゲットです)

1. AOSPをビルドする

J-AOSPさんの以下のページが詳しいです。
https://sites.google.com/site/jaosp72/Home/environment/ubuntu14-04
https://sites.google.com/site/jaosp72/Home/aosp_build/marshmallow

個人開発であれば、VMWare PlayerにUbuntu14.04をインストールするのが、遅いけど確実です。
上記ページを参照して、環境設定・ソースの取得・ビルドを行いましょう。

2. framework.jar/core.jarを取り出す

以下のファイルをそれぞれ取り出しましょう。

%AOSP%/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
-> framework.jar 
%AOSP%/out/target/common/obj/JAVA_LIBRARIES/core-libart_intermediates/classes.jar
-> core.jar 

Ubuntuの使い方については、この記事ではフォローしません。適宜ググってください。

3. Android SDKにマージする

上で取得したファイルを以下の様にリネームします。

framework.jar → framework.zip
core.jar → core.zip

リネームしたら、ダブルクリックして展開しておきます。

次に、%AndroidSDK%/platforms/android-23/android.jarを、7-zip File Managerで開きます。
ここのルートディレクトリに、以下のディレクトリを上書コピーします。

framework/com/
framework/android/
core/com/
core/android/

※java/javax などのディレクトリはコピーしてはいけません。

コピーが終われば、7-zip File Managerを終了させます。

android.jarの元のファイルと、改変後のandroid.jarはそれぞれバックアップを取っておきましょう。

このAndroidSDKを使えば、隠しAPIに自由にアクセス出来るようになります。
ただし、リフレクションを使う場合と同様で、将来または過去のバージョンとの互換性は一切保証されませんので、ご利用は計画的に。

4. おまけ

ビルドが面倒くさい人のために、ビルド済みのものをここに置いておきました。
https://github.com/jiro-aqua/JotaTextEditor/tree/master/android-23

自己責任でご利用ください。

以上です。

22
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
24