読者です 読者をやめる 読者になる 読者になる

Android Studio のGUI系 設定メモ

情報整理エントリ
一応メモ途中)



eclipseとASの両対応プリセットを考える)

1)gradlew設定

出来れば daemonモードで動かしたい
UI空パラメータ設定できないな−とおもってたら
gradle.properties で下記の設定でいけるの忘れてた(--daemon モード)

#daemonモード
org.gradle.daemon=true 
#並行実行モードの時は下記を有効
#org.gradle.parallel=true 

詳細は下記な話

ちなみに
daemonモードは注意点があって一度 --stopしないと
途中で変更した$HOME/.gradle/gradle.properties は読まないかと
(たしか$HOME/.gradle は起動時1回、実行時対象実行フォルダ内のは毎回)

後勝ちになる認識<各フォルダにも gradle.properties が有ると
同じ変数名があった場合値上書き
そこに関しては

に言及有り

面倒なら
$HOME/.gradle/あたりに
build.properties - --- gradle.properties(☆注。下記参照)

ANDROID_HOME=/Applications/android-sdks
JAVA_OPTS=-Dgroovy.source.encoding=UTF-8 -Dfile.encoding=UTF-8

と合わせて置いて追記しておいてもいいかも。。<うーん、gradle1.6のsrc検索かけると build.properties読み込んでる処無いようなので廃止されたかも‥‥‥


gradle.propertiesに関して)
どうもStackOverFlowを見ていくと上記の書き方は古い遣り方のようで

  • gradle.properties
systemProp.ANDROID_HOME=/Applications/android-sdks
systemProp.JAVA_OPTS=-Dgroovy.source.encoding=UTF-8 -Dfile.encoding=UTF-8
# または
systemProp.file.encoding=UTF-8
systemProp.groovy.source.encoding=UTF-8

と書いて

  • build.gradle で
println System.properties['ANDROID_HOME'] 
println System.properties['JAVA_OPTS']
// または
println System.properties['file.encoding']
println System.properties['groovy.source.encoding']

な感じでの参照が最新だと正しいみたい。こっちで状況みてみるかな・・・

備考)
どうも環境変数等を設定値をpluginの中でベタで見てるみたい

2)外部実行設定

2-A)AS(IDEA)

現状はjetGradleのwindowが表示されないので

を参考に登録していきます

  1. gradlewを登録 (Settingから)

Program $ProjectFileDir$/gradlew
Parameters --daemon $Prompt$
Working directory $FileDir$
  1. keymap:外部ツールをF10で登録

  1. プロジェクトで実行

一応この環境が出来れば下記で微妙と思ってた対応もなんとかなるかな。。

一度 F10 で

uninstallRelease
or 
uninstallDebug

を行えば良いと思う

  • 7) テストを実行するUIがない

の言及も

cIT
or
connectedInstrumentTest

で可能か。。。

2-B)eclipse

  • $HOME/.bash_profile に
alias eclipset='$HOME/eclipse/eclipse -data $HOME/Documents/workspace_test'

なの定義して
ワークスペースを小分けにする運用がじつはあったりするのですが
外部実行の設定等を持ち越してくれないので*1
操作をメモ

備考>
ちなみに
場合:ウインドウ になってないと効きません。
自分で再構築時に結構はまってた><

2-B1) gradlewの実行

前提として下記の条件を満たしているとして先に進みます

  • eclipse形式で新規プロジェクト作成
  • export => Android => generate build.gradle でbuild.gradle作成済
  • 別途作成済みのAS構成 or $ANDROID_HOME/tools/templates/gradle/wrapper から下記のファイルをコピーしてくる
    • gradlew
    • gradlew.bat
    • gradle フォルダ

実行=>外部ツール=>外部ツールの構成 から登録します

  • gradlewを登録

location ${project_loc}/gradlew
Working directory ${project_loc}
Parameters --daemon ${string_prompt}

☆)--daemon は指定しなくても一応OKです。

備考)
勿論 2-B2) の記述のようにgradle自体を別途DLしてきて
locationに設定することは可能です

location /Users/XXXX/gradle-1.7/bin/gradle
Working directory ${project_loc}
Parameters ${string_prompt}
  • 実行=>外部ツール=>お気に入りの構成

に登録しておくとToolBarから簡単に呼べるようになります

次にkeymapも登録してみましょう。
残念ながらIDEAのように個別の外部実行ツールにキーを割り当てはできません。
[最後に実行した外部ツールを再度実行する]イメージなります

  • 設定=>一般=>エディタ=>キー
  • [外部ツール]で検索
  • [最後に実行した外部ツールを再度実行する]

にASと同じ F10キーを割り当ててみます

  • F10で同じように実行できました


2-B2) groovyの実行<自分はこちらも使っているので設定。

  • groovyを登録
    • こちらは別途groovy自体をDLしてきて展開します

location /Users/XXXX/groovy-2.1.3/bin/groovy
Working directory ${project_loc}
Parameters ${resource_loc}


注意)
最近Macにjava1.8 が入って誤動作するので

Parameters -Dbuild.compiler=javac1.7 ${resource_loc}

の指定に変更する必要があり。



TLのメモ系
IDEA的なカスタム)

  • javaDocのアタッチ等はIDEAと同じとのこと

  • 参照してるAndroidSDKの場所を変更

AS_SDK登録 on Twitpic

change_select_sdk on Twitpic

最初に
Setting=>ProjectStructure でデフォルト設定をいじっておくと良いかも

備考)
ちなみに登録/編集 できないときは
なんかSDKの登録設定が壊れていることがあり(Android SDKにjavaSDKが設定されてなくて編集エラー出るとか)
一度[−]で登録し直すと幸せになれます

  • フォントの問題

特定文字が化ける対策らしい。ここらへんはIDEAハックに近いよな−(苦笑

  • ソースに日本語関数名書きたいよの人用メモ

日本のSierの人とかTDDの人が好きなネタですね<苦笑 *2

  • 9patchの話

  • jar出力操作




GUI署名APK機能>

正直な処 eclipseでプロジェクト作って
編集エディタとしてのダブルスタンダードがいいんじゃないか?
っていうのが結論でした(まだこちらに完全に切り替えるのは無茶><

まあAS的には GUIで署名付きAPKができるからいいんじゃね?
ではあるよう*3

  • aliasの横ボタンは何?

  • proguard-project.txtどっかからコピって来ないと先進まない

  • yutori_history/yutori_history.apk と生成される。
  • ここでもsettings.gradleのapk名前改変は動いてない


注)proguard-project.txtに関して コメントいただいたので追記

http://twitter.com/kimukou2628/status/335919629987897345:twitter:detail:right
どういうことかというと

# 通常 or ライブラリプロジェクト
android update project -p ./

# ライブラリプロジェクトが有る通常プロジェクト
android update project -p ./ -l ../NakamapSDK

と実行するとプロジェクトの直下に

    • proguard-project.txt
    • build.xml
    • project.properties
    • local.properties

が作成されます。

でproguard-project.txt が空の状態がデフォルト

  • project.properties はライブラリプロジェクトを作成してると下記のようになります
    • antで proguardを効かせるには proguard.config=XXXを設定


target=android-17
android.library.reference.1=../NakamapSDK
proguard.config=${android.library.reference.1}/nakamapsdk-proguard.cfg:proguard-project.txt

  • local.properties は下記な感じで生成。
    • プロジェクト固有の設定はここに追記していきます


sdk.dir=/Users/XXXX/android-sdk-macosx

という形で普通はant buildで複数proguardを書けるのが普通なので
GUIで署名やproguard書ければ大喜利
つう感覚は正直わからんのですよね。。 (汗

Android楽勝、即興で書けるといってる層は
proguardもかけたこと無いんだろうけど・・・



build.xml生成機能>

出力されるもの)

  • プロジェクト名.xml
  • 依存モジュール用っぽい.xml
  • local.properties
  • project.properties
    • 警告なしにlocal.propertiesとか上書きするので注意!!

中身が既存とぜんぜん違うので
IDEA特有でないとすると


android update project -p ./
等で生成されるxmlが変わったのか、
android maven projectのant版として生成されたのか。。。?
ASにはantが右クリック実行等で 気軽に実行できないみたいなので
挙動確認は保留。


  • ファイルテンプレートがAS(IDEA)一応あるけどこれ使われてない。

IDEA(AS)だと

  • Settings->File Templates->Code

でいじれることになってるけど、ココいじっても反映されない*4
生成部分は内部固定?? と思ってたら

実は今回からSDKの中にAS用のソーステンプレートが同梱されてたりします。

$ANDROID_HOME/tools/templates
   activities
   gradle    ・・新規プロジェクト作成するときに同梱されるgradle-warper構成
   other
   projects
      NewAndroidApplication
           root
    build.gradle.ftl      
    settings.gradle.ftl      
      NewAndroidLibrary
      NewJavaLibrary

とかの .ftlというファイルのようです。

ただココらへんあんまPublicになってなさそうなのは

  • 弄って動かなくなった!
  • SDKUpdate時に設定消えた!

とかの対応が面倒だからだろうなーと推測
すごく気持ちわかるけど・。・・

eclipseの方のexport build.gradle の方はまだ見つけられてないorz
自分としてはこっちの方弄りたいんですけどね。。。

*1:毎回作り直し

*2:reportingが関数名で出力=日本語名の方がいいよね!の話

*3:でもTDDクラスタさん や Build職人の人はもにょるかもね。。

*4:ここはIDEA12用の設定のまま?