kotlinとkotlin-dslを利用し、Android向けのGradle Pluginを作成したときに調査した内容をメモです。 Gradle Pluginの作成がはじめての場合、下記ドキュメントを読むと全体像が把握できます。 Writing Custom Plugins - Gradle User Manual DroidKaigi 2018でGradleプラグインを作って開発効率を改善しようって発表をした話 – Yuki Fujisaki / tnj – Medium kotlinでの実装はkotlin-dslリポジトリにGradlePluginのサンプルがあったので、こちらを参考にしながら進めていきました。 kotlin-dsl/samples/gradle-plugin at master · gradle/kotlin-dsl · GitHub kotlin-dslを使用できる
Gradle 5.0 から正式に Kotlin DSL が取り込まれました。 特筆すべき違いは、gradle init で Kotlin のプロジェクト を作成することができ、 build.gradle.kts, settings.gradle.kts も出力できるということです。 build.gradle.kts, settings.gradle.kts はそれぞれ、 Groovy で書いていた build.gradle, settings.gradle の Kotlin 版 です。 実際のところどうなるのか プロジェクト作成 gradle init の出力を、順に説明します。 まずは gradle init を実行します。 このときの gradle のバージョンは 5.0 です。
昔からAndroid開発者はエミュレータ(AVD)に泣かされてきました。特にエミュレータの起動や操作がとても遅かったのです。 AndroidStudio2.0からは、かなり高速化されました。 現在のAVDはIntel HAXMという仮想化技術を使って実行されています。実は他の仮想化技術同士とはケンカすることが多く、共存できないものがたくさんあります。特にWindowsではHyper-VとIntel HAXMが共存できないのです。なのでこれまではHyper-Vをオフにするか、諦めておそ~~~~~~~~~~~~いエミュレータを使うしかありませんでした。 しかし、ついにWindows10 April 2018 UpdateからHyper-Vに対応したAndroidエミュレータが使えるようになりました!これによりIntel HAXMを使わずにサクサクエミュレータを使うことができます! 2018/0
AndroidXとは今までのSupport Libraryを代替するAndroid拡張機能ライブラリのオープンソースプロジェクトです。 Google I/O 2018の発表を見てみると"AndroidX"の読み方は"アンドロイドエックス"です。 注意点として、iPhone X (アイフォーン テン)のような新機種の名称ではありません。 テンでもありません。 また、Android-x86プロジェクトとは別物です。 細かい箇所ですが書くときはAndroid KTXのようなスペースはいれないようです。 (Android KTXはAndroidXの一部となるようです) 公式記事 公式ドキュメントは以下です。 AndroidX Overview https://developer.android.com/jetpack/androidx/ Migrating to AndroidX https://
なんか辛い現象を踏んでしまって地獄を見たので共有します。 結論だけ先に書くと、対象のクラスのあるpackageを-dontwarnすることで回避できます。 ぼくの場合は作業していたプロジェクトでproguardルールが反映されないという別の問題が同時に発生していたため、コードを書き換える事で対処しようとしてハマってしまいました。 さて、タイトルどおりなのですが、Kotlinを使ったAndroidプロジェクトでProGuardを有効にしたところ、ビルドに失敗してしまうようになりました。 原因が全然掴めなくて頭を抱えたのですが、いろいろ検証した結果、現象についてざっくりとわかりました。 再現コード class MainActivity : AppCompatActivity() { private val compositeDisposable = CompositeDisposable()
R8/Proguard: Daggerの生成コードがR8でどのように変わるかを見る Created at Sun, Jan 20, 2019 コードの最適化の話です。この記事では実践に寄せて、Daggerの生成コードがR8によってどのように変化するかを見ます。 まずはサンプルコードです。 @Component( modules = [ AppModule1::class, AppModule2::class ] ) interface AppComponent { @Component.Builder interface Builder { fun build(): AppComponent } fun inject(activity: MainActivity) } @Module class AppModule1 { @Provides fun provideService(): Ap
2018年12月28日、多くの会社が仕事納めを迎えた日。1年の仕事を終えてホッと緩んだ世間の雰囲気と対照的に、そのビルの1室は真剣な空気に満ちていた。中で行われていたのは、プログラミング講座。受講者は思い思いにPCと向き合ってRubyと格闘したり、他の受講者とディスカッションしたりしている。 一見、一般的な社会人向け講座。だが受講者が独特だ。集まっていたのは全員、企業の経営者。12月23~29日の7日間集中で、経営者限定のプログラミング講座が開催されていたのだ。 プログラミングスクール事業を手掛けるdivが運営する「経営者限定TECH::CAMPイナズマ」だ。経営者が知識ゼロの状態からRubyを学び、HTMLやCSSの知識も習得する。最終的にはRuby on Railsを使ったWebサービス開発に挑む。 受講者にはネットサービス企業だけでなく、ITとは直接関係のない業種の経営者も名を連ねる
helix_keyboard_build_tool_memo.md Helix キーボードキットの製作に必要な工具メモ 目次 最低必要な工具 温度調整機能付きハンダゴテ コテ台 コテ先 ハンダ 精密ピンセット フラックス ハンダ吸い取り線 プラスドライバー ラジオペンチ ニッパー カッターとヤスリ テスター 有った方が良い工具 作業マット ルーペ フラックス洗浄剤 キムワイプ リード折り曲げ器 はんだ吸取器 竹串と鉄砲串 マスキングテープ キーキャップ引き抜き器具 仮接続用のテストワイヤー 一般的に電子工作に必要な工具類 製作前に読んでおきたい資料 リンク集 工具編 ハンダ付け編 ハンダ付け動画解説編 ハンダ付けサンプル動画編 ソフトウェア編 最低必要な工具 温度調整機能付きハンダゴテ Helix で使用しているバックライトLED(SK6812mini)は、高温に弱いようです。 そういうわ
アップルが1月24日から配信を開始した開発者向け『iOS 12.2』ベータ版から、新型『iPad(もしくはiPad mini)』と『iPod touch』のコードが発見され、話題となっています。 コードを発見したのはアプリ開発者のSteve Troughton-Smith氏です。 新型『iPad(もしくはiPad mini)』は2モデル発売か 見つかった『iPad』のコードは「iPad 11,1(iPad11Wifi)」、「iPad 11,2(iPad11Cellular)」、「iPad 11,3(iPad11Wifi)」、「iPad 11,4(iPad11Cellular)」の4種類。 これが通常の『iPad(第7世代)』なのか、それとも昨年から登場がうわさされている『iPad mini 5』なのかはわかっていませんが、Wi-FiとCellular対応で2モデルずつ用意されるようです。
数学の超難問「リーマン予想」を証明したと、昨年9月に発表した、英エディンバラ大名誉教授のマイケル・アティヤ氏(89)が今月死去していたことがわかった。科学誌に投稿中だった論文はどうなるのか? 160年前に提案された謎の行方は――。 リーマン予想は、ドイツの数学者ベルンハルト・リーマンが1859年に提案した素数に関する未解決問題。2、3、5、7……と無限に続く素数の不思議な性質の解明につながるとされる。名だたる数学者が試み、証明の名乗りも何度もあったが、その度に誤りが判明し、160年間挑戦をはねつけている。 アティヤ氏は、幾何学とトポロジーが専門で、20世紀の数学の金字塔と言われる「アティヤ=シンガーの指数定理」で名をはせた。数学の「ノーベル賞」と称されるフィールズ賞(1966年)やアーベル賞(2004年)などを受賞し、世界で最も偉大な数学者の一人に挙げられる。英王立協会などによると、1月1
R8/Proguard: JarファイルからProGuard設定ファイルを読み込んでくれるようになりました Updated at Mon, Jan 28, 2019 AGP3.3.0ProGuardはAGP3.3.0、R8は導入されたAGP3.2.0から、JarファイルのProGuard設定ファイルを組み込めるようになりました。その機能紹介です。 今まで、aarではconsumerProguardFilesで、ライブラリのProGuard設定を指定できました。それのJar、Javaバージョンとなります。 ライブラリ開発者側の設定 RetrofitなどのSquare社のライブラリでは、早くもこの機能に対応しているので、それを例にして説明します。 まず、resources/META-INF/prougardディレクトリの中にProGuardの設定ファイルを置きます。 square/retrof
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く