■目次
AndroidStudio環境を作った時のメモプロジェクトの作成AndroidStudioをバージョンアップしたときのメモAndroidStudioをベータ版から正式版にしたときのメモKotlin権限の確認カメラFragmentプッシュ既存プロジェクトを開くとエラーGPUImage
■AndroidStudio環境を作った時のメモ
■インストール参考ページ(Ver 3.1.2 時点) Android Studioインストール https://akira-watson.com/android/adt-windows.html JDKインストール http://techfun.cc/java/windows-jdk-install.html http://techfun.cc/java/windows-jdk-pathset.html ■インストールメモ(Ver 2.3.3 時点) http://www.oracle.com/technetwork/java/javase/downloads/index.htmlhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html から jdk-8u91-windows-x64.exe をダウンロード&インストール https://developer.android.com/studio/index.html から android-studio-bundle-143.2821654-windows.exe をダウンロード&インストール Android Studio の起動時にエラーが表示されたことがあったが、JavaとJDKの再インストールで直った。 SDK Manager で、Android 4.3 〜 7.1.1 までインストール。 ■日本語化(Ver 3.1.4 時点) 以下の方法で日本語化できた studio64.exe.vmoptions は初めから config 内にあった 日本語化は Android Studio 終了中に実行しないと反映されないことがあるかも Android Studio3.1を日本語化する | HIROMARTBLOG http://hiromart.com/blog/androidstudiojapanese/ ■日本語化(Ver 2.3.3 時点) 以下の方法で日本語化できた。一部は英語のままだけど特に問題はなし Android Studio 2.0 を日本語化してみた | 寿司すき焼き相撲 http://s3wordpress.wpblog.jp/2016/05/18/android-studio-2-0-%E3%82%92%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%8... ■SourceTreeとの連携 AndroidStduio内でgit操作は可能らしいが、SourceTreeで管理する方法 http://ameblo.jp/hunnyjams/entry-11961454576.html gitのパスは以下のようになる。環境によって変わる可能性はある C:\Program Files\Git\cmd\git.exe AndroidStudioが build/ や app/build/ などに自動でファイルを吐き出すので、 可能なら最初の段階で .gitignore の対象にしておく。一度リポジトリに入れてしまうと、後から外すのは面倒 ■ショートカットの変更 Ctrl+Yは、Redoではなく行削除が割り当てられている 一般的なショートカットと異なるので余計なトラブルのもとだが、設定で変更はできる http://qiita.com/decchi/items/f8603ccccec03a71a4d9 ■エディタの設定 ファイル → 設定 → Editor → 外観 行番号を表示する 空白を表示する ■メモリの割り当て ※現状未設定 http://tools.android.com/tech-docs/configuration
■プロジェクトの作成
■プロジェクトの新規作成(Ver 3.1.4 時点) 以下の手順で作成できる プロジェクトが作成されたら、何も変更せずにいったんエミュレータと実機での起動を確認しておくといい Ver 3.1.4 時点では、標準でKotlinでの開発にも対応していた 新規 Android Studio プロジェクトの開始 ↓ 新規プロジェクトの作成 アプリケーション名: HelloAndroid 会社ドメイン: refirio.net プロジェクトの場所: C:\Users\Refirio\AndroidStudioProjects\HelloAndroid (アプリケーション名をもとに自動入力される) パッケージ名: net.refirio.helloandroid (アプリケーション名と会社ドメインをもとに自動入力される) Kitlinサポートを含める: (チェックするとKotlinでの開発になる) 「次へ」 ↓ ターゲットAndroidデバイス 特に変更せず「次へ」 ↓ Mobile にアクティビティを追加する 「空のアクティビティ」が選択されているので、そのまま「次へ」 ↓ アクティビティの設定 特に変更せず「完了」
■AndroidStudioをバージョンアップしたときのメモ
http://www.youfit.co.jp/archives/885 Ver 2.1.2 → Ver 2.2.3 のとき、この手順でバージョンアップできた Ver 2.2.3 → Ver 3.1.2 のとき、この手順でバージョンアップできた。が、メニューが英語表記に戻った
■AndroidStudioをベータ版から正式版にしたときのメモ
以下からAndroidStudioをダウンロード&インストール https://developer.android.com/studio/
■Kotlin
■入門 JavaプログラマのためのKotlin入門 - Qiita https://qiita.com/koher/items/bcc58c01c6ff2ece658f ■WebViewでWebページを表示 \app\src\main\AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
\app\src\main\res\layout\activity_main.xml
<WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" />
\app\src\main\java\net\refirio\webviewtest\MainActivity.kt
package net.refirio.webviewtest import android.app.Activity import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.webkit.WebResourceRequest import android.webkit.WebView import android.webkit.WebViewClient class MainActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val webView = findViewById(R.id.webView) as WebView webView.loadUrl("https://refirio.net/") webView.setWebViewClient(object : WebViewClient() { override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean { return false } }) } }
GitHub - tyfkda/GawaNativeAndroid: 全画面に配置したWebViewでAndroidアプリを作るテスト https://github.com/tyfkda/GawaNativeAndroid [Android] アプリのタイトルバーを非表示、全画面表示にする、Theme.NoTitleBar https://akira-watson.com/android/theme-notitlebar.html WebViewでlinkタップ時にブラウザに飛ばないようにする - 布団の中にいたい https://asahima.hatenablog.jp/entry/2017/01/08/000000 ■アプリのアイコンを変更する ※未検証 Android Studio 開発【アプリアイコンの変更】 - ハコニワ デザイン http://hakoniwadesign.com/?p=4908 ■スプラッシュ画面を表示する ※未検証 Splash画面でpostDelayedして一定時間画面を表示する - Qiita https://qiita.com/shanonim/items/35296c02494ffdbd7273 Androidでスプラッシュ画面を作る方法 - Qiita https://qiita.com/glayash/items/646e5c0d5de82cfc17bc
■権限の確認
Marshmallow端末で、Permission利用確認をする。 http://qiita.com/mattak/items/82ba07259cfe3a2ce4b1 Android6では AndroidManifest.xml でのパーミッション指定を行った上で、 protectionLevel が dangerous 以上のパーミッションについてはさらに権限の確認を行う必要がある
■カメラ
http://mslgt.hatenablog.com/entry/2015/05/12/013013 http://blog.kotemaru.org/2015/05/23/android-camera2-sample.html Android4と5・6でカメラは仕様が大きく変わっている
■Fragment
Fragmentの基本 - Qiita https://qiita.com/naoi/items/3e1125d1e1418d09f77a Android はじめてのFragment - Qiita https://qiita.com/Reyurnible/items/dffd70144da213e1208b
■プッシュ
「Googleクラウドメッセージング(GCM)」が1年後に廃止、「Firebase Cloud Messaging(FCM)」への移行が必要に:Googleのアプリメッセージング基盤が完全に交代 - @IT http://www.atmarkit.co.jp/ait/articles/1804/13/news051.html
■既存プロジェクトを開くとエラー
古いプロジェクトを開くと、以下のようなエラーが表示されるものがあった Calendar エラー :(52, 0) Could not find property 'debugKeystore' on SigningConfig_Decorated{name=debug, storeFile=C:\Users\refirio\.android\debug.keystore, storePassword=android, keyAlias=AndroidDebugKey, keyPassword=android, storeType=C:\Users\refirio\.android\debug.keystore}. <a href="openFile:C:\Users\refirio\AndroidStudioProjects\Calendar\app\build.gradle">Open File</a> Camera エラー :(52, 0) Could not get unknown property 'debugKeystore' for SigningConfig_Decorated{name=debug, storeFile=C:\Users\refirio\.android\debug.keystore, storePassword=android, keyAlias=AndroidDebugKey, keyPassword=android, storeType=C:\Users\refirio\.android\debug.keystore, v1SigningEnabled=true, v2SigningEnabled=true} of type com.android.build.gradle.internal.dsl.SigningConfig. <a href="openFile:C:\Users\refirio\AndroidStudioProjects\Camera\app\build.gradle">Open File</a> gradle.properties を作成する C:\Users\refirio\AndroidStudioProjects\Camera\gradle.properties
#デバッグ用のデバッグ署名 debugKeystore="../../../../../.android/debug.keystore" DEV_KEY_ALIAS=androiddebugkey DEV_STORE_PASSWORD=android DEV_KEY_PASSWORD=android #release用の署名情報 productKeystore="../../../xxxx.keystore" KEY_ALIAS=xxxx STORE_PASSWORD=xxxx KEY_PASSWORD=xxxx
設定するとエラーの内容が変わった エラー :Failed to find target with hash string 'android-25' in: C:\Users\refirio\AppData\Local\Android\Sdk <a href="install.android.platform">Install missing platform(s) and sync project</a> リンクをクリックすると、Android SDK Platform 25 のダウンロードとインストールがはじまった その後も何度かインストールを促されるので、すべてインストール ひととおりインストールしたら実行ボタン(実機書き出し)を押せるようになったが、実行すると C:\Users\refirio\AndroidStudioProjects\Camera\app\src\main\java\xxx\app\util\GoogleAnalyticsUtil.java エラー :(65, 70) エラー: シンボルを見つけられません シンボル: 変数 analytics 場所: クラス xml と言われ、ソースコードの tracker = GoogleAnalytics.getInstance(mContext).newTracker(R.xml.analytics); にフォーカスが当たった 1行目の package xxx.app.util; に赤線が引かれて The SDK platform-tools version (24.0.1) is too old to check APIs compiled with API 25 と言われる。APIレベル25までインストールが必要 ツール → Android → SDK Manager でAndroid7.1.1(APIレベル25)までインストール AndroidStudioを再起動 アップデートがあると言われたのでインストール プロジェクトを開くと、Gradleの同期とビルドが始まった 実行してみるが、それでも C:\Users\refirio\AndroidStudioProjects\Camera\app\src\main\java\xxx\app\util\GoogleAnalyticsUtil.java エラー :(65, 70) エラー: シンボルを見つけられません シンボル: 変数 analytics 場所: クラス xml と言われた。リポジトリ作成者に確認すると、res/xml/ 内に必要なファイルが無かった プッシュされていなかっただけだったので、プッシュ&プルで取り込んで解決した
■GPUImage
画像や動画にエフェクトをかけることができるライブラリ http://qiita.com/yimajo/items/e38e8bafc17144b7af79 Android版 https://github.com/CyberAgent/android-gpuimage ■サンプル実行 NDK(Android Native Development Kit)のインストールが必要 http://dev.classmethod.jp/smartphone/android/android_ndk_install/ GradleでNDKを自動インストールしてくれるプロジェクトもあるが、GPUImage for Android はそうなっていない Android Studio で ファイル → 設定 → SDK Tools → NDK にチェックを入れて適用すると、NDKがインストールされる C:\Users\ユーザ名\AndroidStudioProjects\GPUImage\local.properties で ndk.dir=C\:\\Users\\ユーザ名\\AppData\\Local\\Android\\Sdk\\ndk-bundle のパスが正しいことを確認する さらに C:\Users\ユーザ名\AndroidStudioProjects\GPUImage\library\build.gradle の12行目を編集。(gitから何らかの値をとって数値にしているようだが、取れないようなので適当な数値を設定) versionCode "git rev-list origin/master --count".execute().text.toInteger() ↓ versionCode 1 まだ謎エラーが出るようなら、 ビルド → Clean Project ビルド → Rebuild Project を試す また追加ライブラリのインストールを求められたのでインストール その後実行すると、サンプルを実機にインストールできた ■プロジェクトに組み込み C:\Users\ユーザ名\AndroidStudioProjects\GPUImageTest\app\build.gradle のdependenciesに以下を追加
//GPUImage compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
これだけでプロジェクトにGPUImageが組み込まれるので、あとは呼び出すだけ 以下Intentから画像を選択して、その結果にフィルタをかけて表示するサンプル
// Intentを取得 Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(intent, REQUEST_GALLERY); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_GALLERY && resultCode == RESULT_OK) try { InputStream in = getContentResolver().openInputStream(data.getData()); Bitmap img = BitmapFactory.decodeStream(in); in.close(); // GPUImageで画像を加工 GPUImage mGPUImage = new GPUImage(this); mGPUImage.setFilter(new GPUImageSobelEdgeDetection()); mGPUImage.setImage(img); img = mGPUImage.getBitmapWithFilterApplied(); // 画像を表示 imageViewer.setImageBitmap(img); Toast.makeText(MainActivity.this, "画像を選択しました", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } }