Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #1.はじめに Unity向けAndroidビルド方法は以前より複雑化したものの、 日本語ドキュメントは5.4で止まっており、本家英語版のマニュアルでも 情報が不十分なこともあり、一度、2017年8月現在の最新Unity環境で、最短でAndroid向けの ビルド手順について記載するドキュメントの必要性を感じ、今回まとめることとなりました。 なお、実機のセットアップ方法については、機種によって設定が異なるため、 今回は割愛させて頂いております。 【2017.12.13追記】 情報が不足していた点があったため、追記いたしました。 (Jasm
概要 MacBook ProのようにCPUがしょぼいマシンでも、Androidアプリのビルドを高速に行うお話です。 調べると色々手段はあって、みなさん思い思いの方法で実現しているぽいのですが、サクッと10分くらいで導入できそうな情報が見あたらなかったので、メモしておきます。 apkのビルドだけリモートの速いマシンにやらせて、成果物であるapkを手元の端末やエミュレータでデバッグ実行することができます。 利用する題材として、DroidKaigiアプリ(2017)をMacBookからUbuntuでビルドしてみます。 https://github.com/DroidKaigi/conference-app-2017 基本的にはこちらのページを参考にしています。AS2.3.1で動かします。 Android Studioでのビルドをクラウドで行い開発を高速化する - Unyablog. また、こうい
こんにちはsekitakaです。 Dockerコンテナ上でAndroidアプリのビルドやテストができれば、jenkinsやクラウドのCIサービスなどでビルドスクリプトを使いまわせて便利ですね。 jenkisスレーブのネイティブの環境を汚さなくて済むというのも魅力的です。 そこでこの記事ではDockerでAndroidアプリをビルドする方法を紹介します。 サンプルプロジェクトも公開しているので、自由に利用してください。 Dockerfile 以下のDockerfileでAndroidをビルドするための基本的な環境が整います。 FROM ubuntu:16.04 # JDKインストール # 2回実行しているのは Connection timed out が起きがちだったため。 RUN apt-get -y update RUN apt-get -y install openjdk-8-jdk
はじめに これはAndroid Advent Calendar 2016の20日目のエントリです。 本エントリではAndroidアプリケーションのビルド体験を改善するリモートビルドサービス Cyborg Build を紹介します。 背景 以前AndroidアプリケーションをGoogle Compute Engineのインスタンスでビルドする - visible true でクラウド上にインスタンスを作ってAndroidアプリケーションのビルドを代行させる方法について書きました。エントリでは低スペックなインスタンスでの試用でしたが、その後いくつかのインスタンスを試しGCEではn1-highcpu-8(vCPU x 8、メモリ 7.2 GB)くらいのスペックがパフォーマンスとコストのバランスが良いとわかりました*1。 パフォーマンスとコストのバランスが良いと言ってもn1-highcpu-8は一
まえがき CIなどでAndroidのビルド環境を構築する際、 作ること自体は簡単ですが、Android SDKの更新などメンテナスが大変だと思います。 DockerでAndroid SDKを含むimageをDocker Hubなどにあげるとライセンス違反となってしまうため、その都度いちいち実行時、更新コマンドをしなければならず、ビルド時間が長くなっていました。 android update sdk --no-ui --all --filter "android-23,build-tools-23.0.3" Jake神のおかげで、とても簡単になりました。 Android SDKのライセンス同意時にライセンスのハッシュが作られます。 そのハッシュ値をCIなどにもコピーしてあげれば、 アプリをビルド時に同意時したときと同じライブラリ等が自動でインストールされるようになりました。 ライセンスが作ら
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
AndroidのBuildを別マシンで行うスクリプト書いたった - Qiitaがとても興味深かったので、Google Compute Engineのインスタンスでビルドする環境の構築を試してみました。体験としては最高だったので、環境構築の手順を簡単にまとめます。 解決したいこと 前述の記事で語られている通り、Androidアプリケーションのビルドはとても時間がかかります。しかもCPUをフルで持っていくのでビルドしているあいだは他の事ができません。そこでビルドの処理を別のマシンに委譲することで、待っている時間を有効に使えるようにします。 Google Compute Engineのインスタンスを作る まずGoogle Compute Engineのインスタンスを作ります。環境としては次を選択しました。 - ゾーン: asia-east1-a - CPU: vCPUx2 (n1-standar
追加 2017-06-21 これを使ったほうがcoolです。 gojuno/mainframer: Tool for remote builds. Sync project to remote machine, execute command, sync back. 2016-11-21 23:44 テストに対応 2016-11-14 13:12 クラウドでの実行方法追記 この記事を3行で Androidはビルドが重い。 CPU100%なので開発マシンがその間使えない。 別のマシンでビルドする。 問題 遅い、遅い、AndroidStudioのビルドが、遅い。 とりあえずビルドを始めるとこうなる。 これが、これくらい続く この間はAndroidStudioでコード入力も出来ない。ブラウジングもできない。本を読むしか無い。お陰で積ん読が減った。でも納期はやってくる。 ビルドが重いのは仕方ない。
こんにちは。学校も始まり最近は健康な時間に起きています*1。 今回は 手元の Android Studio からビルドのみをクラウドで行う ことによって快適な生活を手に入れる話です。 概要 ビルドを移譲できる Android Sutudio のプラグインを書きました これを使ってクラウドのリッチなマシンでビルドを行い高速化 ビルドのみが移譲されるので操作感は変わらない 実装は割りと無理矢理 本題 動機 最近 Android のビルドが遅くてつらいなあという気分でいました。 Java のコンパイル (Make) ぐらいならいいのですが、デバッグ等をするときにライブラリが多いため Dex 処理にすごく時間がかかります。Dex 処理は一行変えただけでも行われるので非常につらい。 足りないのはメモリとCPUで、とにかくマシンパワーが必要なのですが、まだ自分の PC を変える時期ではない*2。 結局
概要 もう随分と前に TravisCI から CircleCI へ乗り換えたのですが、いかんせん、便利な CircleCI をもってしても Android のプロジェクトのビルド時間は長くなり続け、ついに 1 回のビルドに 20 分を費やすほどにまで成長してしまいました。いくつか無駄を省いたり、キャッシュをしてみたりと言った策を講じたものの、目立った改善が得られませんでした。そこで CircleCI を脱却してみることにしました。現在、CircleCI を脱却し Wercker を利用することで 1 回のビルドが 5 分ほどで終わるようになりました。この記事には、何がどのようにして短時間で済むようになったかを書き記してあります。 問題の根源 そもそも CircleCI で時間がかかっている部分はどこかというところから見ていきます。現在のプロジェクトで使用している分には、以下に上げる部分でか
背景 ビルド遅いですよね。 私は1ビルド3分くらいかかっているので、その間にトイレに行って帰ってきてもまだビルドが終わっていません。 なんとか早くしたいと思い調べたことを共有します。 対策 javaバージョンを最新にする もし古いバージョンを使っているのであればアップデートした方が早くなります。 gradleバージョンを最新にする gradleのバージョンも可能ならアップデートすることで早くなります。 Dynamic Versionsを避ける compile 'com.google.android.gms:play-services:8.4.+' [x.y.+]のように記述するとgradleが最新を見に行くのでその分遅くなるそうです。 Offline workを有効にする Android Studioで「Preference」→「Build,Execution,Deployment」→「G
会員事業部所属エンジニアの山下(@tomorrowkey)です。 去年はモバイルファースト室でバリバリとAndroidアプリを書いていたのですが、今年に入ってサーバーサイドもやってみたいと思い、最近はRubyを書いている日々です。 Rubyはあまりやったことがなかったのですが、REPLがあってとても助かります。Java 9でREPLが使えるようになるらしいですが、Androidは縁遠い話ですね。 さて、今回は来年ビルドツールとして脚光を浴びそうなBazelをご紹介したいと思います。 Bazelとは何か Bazel http://bazel.io/ BazelはGoogleが社内で使用していたビルドツールをオープンソース版として開発をしているものです。2015年3月にAlpha版が公開されました。 Alpha版ではクライアントアプリケーションやiOSアプリのビルドなどがサポートされていて、最
7. よくあるサンプル ndk-buildコマンドを 実行するタスクを作成 してJavaCompile実行 前に実行されるように する tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn ndkBuild } task ndkBuild(type: Exec) { commandLine "${ndkHome}ndk- build" } 9. どうしたか applicationVariants を使って必要な taskを作成 android.applicationVariants.all { variant -> def variantName = variant.name.capitalize() task "nativeBuild${variantName}"(type: Exec, descriptio
コベリンの継続的インテグレーション feather for twitterのAndroid版では開発フローの中に積極的に継続的インテグレーションを取り入れています。ツールとしてはCircleCIを利用しています。今回はCircleCIを利用する際のTipsを紹介します。 現在やっていること。 アプリケーション開発に関わる幾つかのタスクを自動化し、開発効率や品質の向上を狙っています。 Android開発において自動化を行っているタスクは現時点で以下となります。 アプリケーションバイナリの作成 ユニットテストの実行 ソースコードの静的解析 テスト用バイナリの端末への配布 これらのタスクを自動化することで、常にアクセス可能なテストに合格したバイナリの利用や個人の開発環境では気がつかないミスやエラーの早期発見、またビルドタスクがソースコードになることからプロジェクトが属人化せずメンバーのスケールア
Androidのアプリのビルドは非常に遅い。原因の一つはGradleが重いことなのだが、実はDEXとPRE-DEXのフェーズも無駄な処理を行なっているため、非常に時間がかかる。 そこで、DEXとPRE-DEXを行なっているdx.jarの高速版のfastdx.jarを作成した。全体のビルド時間は、私の環境では50%くらい高速化された。 fastdx.jarのダウンロードはこちら オリジナルのdx.jarが遅い原因は、大きく2つある。 無駄に.classから.dexの作成を行なっている(キャッシュしていない) 複数のdexのマージの処理に無駄がある 無駄に.classから.dexの作成を行なっている(キャッシュしていない) オリジナルのdx.jarでは、.jarに含まれていた.classが一つでも変更された場合、.jarに含まれていた全.classファイルを再度.dexにコンバートし直している
26. ビルド完了時に 音を鳴らすコード android.applicationVariants.all { variant -> if (variant.install != null) { variant.install.doLast { String url = http://example.com/sound.wav ; String path = "${project.buildDir}/finish_sound" def file = new File(path) if(!file.exists()) { new URL(url).withInputStream { input -> file.bytes = input.bytes } } ['afplay', path].execute() } } } ※人のサーバを勝手に使うのはお行儀悪いのでやめましょう
Use Buck2This project is no longer actively maintained. Please see https://buck2.build for the build system that replaces it. Old content continues below for historical purposes. Buck is a build system developed and used by Facebook. It encourages the creation of small, reusable modules consisting of code and resources, and supports a variety of languages on many platforms. Why Buck?Buck can help
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く