■目次
AndroidStudioリリース後にEclipse+Ant環境を作った時のメモ旧メモ(Eclipse+Ant)Eclipse+Ant時のメモ
■AndroidStudioリリース後にEclipse+Ant環境を作った時のメモ
※公式サイトでの配布は終了されている 最終版を以下からダウンロードできる。プラグインやSDKなども同梱されているみたい http://www.cutt.jp/books/978-4-87783-351-0/supp/chap00_ADT-gt-and-start.html
■旧メモ(Eclipse+Ant)
Windows をインストールおよび再インストールする(Windowsの再インストールから始める場合) http://windows.microsoft.com/ja-jp/windows/installing-reinstalling-windows#1TC=windows-7 まずは普通にEclipseをインストール http://www.javadrive.jp/android/ ■Android Android入門 http://www.javadrive.jp/android/ Androd環境構築(Windows版) Android SDKとEclipseのインストール http://techfun.cc/android/windows-android-sdk-install.html Google USB DriverでAndroid端末をWindowsに認識させる http://note.chiebukuro.yahoo.co.jp/detail/n128056 [Android] Lollipop (API 21) アップグレードでビルドエラー https://akira-watson.com/android/lollipop-api-21.html プロジェクトの説明が無効です というEclipseのエラーに悩まされること二日間。 http://android2010.seesaa.net/article/289164536.html 【Android】Google Play Serviceの追加 http://blog.oneworld-inc.com/entry/2013/11/21/192354 [Android] Unable to execute dex でアプリが起動しなくなった http://blog.fujiu.jp/2014/08/android-unable-to-execute-dex.html ビルドは通るのに実行しようとするとエラーになったときに取った対処法(Error:Execution failed for task ':app:dexDebug') http://qiita.com/le_skamba/items/d49d5f7e450c621e5ed7 以下、要確認 ・テストアプリと本番アプリを書き出せるか? ・Pushは届くか? ・その他動作に問題はないか? ■APIのインストール ウインドウ -> Android SDKマネージャー で、Android 2.3.3 より前のAPI以外はすべてインストールしておく ■端末を接続しても認識しない時 Android2.x端末でAndroid4.x用のプログラムを実行しようとしていないか確認する 問題なければ、以下の手順で認識させる 参考 http://note.chiebukuro.yahoo.co.jp/detail/n128056 android_winusb.infファイルの場所は環境によって異なる C:\Android\android-sdk\extras\google\usb_driver\android_winusb.inf C:\Users\refirio\android-sdks\extras\google\usb_driver\android_winusb.inf [Google.NTx86] の部分に以下のようなデータを貼り付ける。値はデバイスマネージャから取得 USB\VID_04E8&PID_6860&REV_0400&MI_03 USB\VID_04E8&PID_6860&MI_03 なら、以下のようにする ---------- ;GALAXY S3 %SingleAdbInterface% = USB_Install, USB\VID_04E8&PID_6860 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_03 ---------- [Google.NTamd64] にも同じものを貼り付ける デバイスマネージャ → ほかのデバイスに「!」があればダブルクリック → 詳細タブ → プロパティ → ハードウェアID で上のIDを調べられる 次に ドライバータブでドライバーの更新 → 手動で検索して C:\Users\refirio\android-sdks\extras\google\usb_driver 警告が出てもインストールする 終了したら閉じる 「!」が消えたことを確認 Eclipseから実行→Androidアプリケーションで実機デバッグ ※メモ eclipse.exe -clean.cmd でクリーンアップできる eclipse.ini で使用メモリの変更などができる ■Eclipseでサブバージョン Eclipse Subversive をインストールする ヘルプ → 新規ソフトウェアのインストール 作業対象を「--すべての使用可能なサイト--」に コラボレーション Subversive から始まるものをすべてチェック 次へ 同意して完了 再始動を求められたら再始動 ウインドウ → パースペクティブを開く → その他 → SVNリポジトリー・エクスプローラー で開く リポジトリーの白い部分を右クリック → 新規 → レポジトリーロケーション URLに svn://192.168.1.32/spapp/android/ を入力 認証に ユーザー: パスワード: 編集するときはロケーションプロパティ SVN: '0x00400006: リポジトリー・ロケーションの検証' 操作がエラーで完了しました: Selected SVN connector library is not available or cannot be loaded. If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site. If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Connector. Selected SVN connector library is not available or cannot be loaded. If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site. If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Connector. http://www.eclipse.org/subversive/previous-releases.php の Archived Update Site: Subversive-1.0.0.I20130122-1700.zip からVer1.0.0をインストール Eclipse再起動 SVN Kit 1.8.3 をインストール ウインドウ → 設定 → チーム → SVN → SVNコネクター を選択 SVNコネクターで SVNKit 1.8.3 〜 を選択 適用 OK ウインドウ → パースペクティブを開く → その他 → SVNリポジトリー・エクスプローラー でSVNリポジトリー・エクスプローラーを表示できる - - - - - パッケージエクスプローラから 右クリック チーム リポジトリと同期 同期化 右クリック 更新 ■補足:Androidにコマンドからアクセス cd android-sdks\platform-tools android-sdks\platform-tools>adb android-sdks\platform-tools>adb devices android-sdks\platform-tools>adb shell 実機デバッグでプリファレンスの内容を確認する方法 http://neta-abc.blogspot.jp/2012/06/blog-post_24.html AndroidのSQLiteファイルの取り出し http://dev.classmethod.jp/smartphone/android/android-sqlite/ http://qiita.com/t2low/items/cb37cec5f864c4748e14 adb shell run-as org.refirio.daotest cd databases cat database.db cat database.db > /sdcard/database.db exit exit adb pull /sdcard/database.db C:\Users\refirio\Android\database.db その後、適当なツールでデータベースの内容を確認する C:\localhost\home\test\public_html\android\db_admin\database cd android-sdks\platform-tools adb shell run-as jp.terraport.app run-as jp.terraport.camera run-as jp.co.maryquant.app run-as jp.co.maryquant.camera cd databases cat mq_calendar > /sdcard/mq_calendar.db exit exit adb pull /sdcard/mq_calendar.db C:\Users\refirio\Android\mq_calendar.db ■SDカードのパス /mnt/sdcard/ ■追加でライブラリをインストール パッケージエクスプローラーのなにもないところで右クリック インポートを選択 Android → Existing Android Code Into Workspace を選択 プロジェクトのインポート画面が表示される ルート・ディレクトリーの参照をクリック C:\Users\refirio\android-sdks\extras\google\google_play_services\libproject\google-play-services_lib を選択 プロジェクトをワークスペースにコピー にチェックを入れる 完了を押すとインストールされる ■Pushの実装 http://techbooster.org/android/application/16261/ プロジェクトを右クリック → プロパティ → Android → ライブラリー → 追加 → google-play-service AndroidManifest.xmlに以下を追加 <service android:name=".GcmIntentService" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> - - - - - 謎エラー1 "SVN Workspace の変更セットを更新中" 中に内部エラーが発生しました。 org.tmatesoft.sqljet.core.internal.table.ISqlJetBtreeRecord.release()V 謎エラー2 ビルド中にエラーが発生しました。 プロジェクト 'MQCamera' でビルダー 'Java ビルダー' の実行中にエラーが発生しました。 org.tmatesoft.sqljet.core.internal.table.ISqlJetBtreeRecord.release()V - - - - - プロジェクト クリーン 以下で選択したプロジェクトをクリーン でgen内のファイルが再作成される ■スクリーンショットを撮る機能のない端末でスクリーンショットを撮る http://www.tokyostyling.com/pc/archives/608 ■動作がおかしくなったら 右クリック → リフレッシュ を試す プロジェクト → クリーン を試す 右クリック → Androidツール → Lint実行 でエラー内容を確認できる Lintは無視して実行できることがある Eclipseの再起動 コンテナー 'Android Dependencies' が存在しないライブラリー 'C:\Users\refirio\Android\appcompat_v7_6\bin\appcompat_v7_6.jar' を参照しています コンテナー 'Android Dependencies' が存在しないライブラリー 'C:\Users\refirio\Android\google-play-services_lib\bin\google-play-services_lib.jar' を参照しています MQCalendar ↑binの中にjarファイルがない場合 プロジェクト→自動的にビルド のチェックが外れていてbinの内容が作られていなかった? ■GooglePlayServiceでエラー USBデバッグはできるが、APKを書きだそうとするとエラーになる "auth_client_using_bad_version_title" is translated here but not found in default locale google-play-services_lib のバージョンが違うから? (Ver16で作られているが、今はVer17がダウンロードされる) default locale が無いので、他の言語のファイルをもとに res/values/auth_strings.xml を作る - - - - - プロジェクトのプロパティで Android Dependencies の annotation.java が欠落とか言われていたので、 それ自体を除去すると動作した 原因は不明 「Android Dependencies」でググると色々出てくる ■GpuImageでエラー [20:15:02]: SVNですがGpuImageのプロジェクトを別途Gitから取り込まないとコンパイルできませんので確認したい際はご注意ください。 git clone https://github.com/CyberAgent/android-gpuimage.git でカレントディレクトリにクローンを作り、Eclipseにインポート、 その後プロジェクトのビルドパス追加でインポートしたGpuImageプロジェクトを指定します。 http://dev.classmethod.jp/smartphone/android/gpuimage/ http://qiita.com/mountcedar/items/682743c95fd3b8fc274b https://github.com/CyberAgent/android-gpuimage にある「Clone in Desktop」ボタンでWindows上にコピーして、 プロジェクトのクリーンとか何度か繰り返して sample/libs/armeabi と sample/libs/x86 の両方を削除したらできた ■Eclipseでグラフィカルレイアウトが表示されない eclipse.exe -clean.cmd での起動を試す ■Eclipseを更新したら、プロジェクト作成時にActionBarActivityが継承されるようになった http://note.chiebukuro.yahoo.co.jp/detail/n271769 Android4以降向けに作り、後からAndroid2に対応させる 最小 Android4.0 ターゲット Android L 最大 Android L でプロジェクトを作成 オプションメニュー用のコードを削除 Android2に対応させたい場合、最小SDKを編集して実行する <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="21" /> ■greenDAOの導入 □ジェネレータプロジェクト Javaプロジェクトとして作成 プロジェクト内に libs を作成し、その中に freemarker.jar greendao-1.3.7-javadoc.jar greendao-generator-1.3.1.jar を配置する プロジェクトを右クリックし、「プロパティ → Javaのビルドパス → ライブラリー → Jar追加」で、上の3つのファイルを追加する src 内に org.refirio.daotestgenerator パッケージを作成し、その中にプログラムを作成 generateAll で指定した場所に、あらかじめフォルダを作成しておく(../DaoTest/src-gen など) プログラムファイルを「右クリック → 実行 → Javaアプリケーション」で実行すると、データベースを扱うクラスが書きだされる □利用プロジェクト libs 内に greendao-1.3.0-beta-1.jar を配置する □データベースのバージョンアップ カメラアプリの src/mq/app/data/DaoDatabase.java が参考になる
DaoSession mDaoSession = new DaoMaster(db).newSession(); DownloadDataDao dao = mDaoSession.getDownloadDataDao(); LogUtil.w(DownloadDataDao.TABLENAME + "テーブル データ以降対象件数" + dao.count()); try { // データの移行開始 db.beginTransaction(); // バックアップテーブル作成 db.execSQL("CREATE TABLE _BACK AS SELECT * FROM " + DownloadDataDao.TABLENAME); // 古いテーブル削除 db.execSQL("DROP TABLE " + DownloadDataDao.TABLENAME); // 新しいテーブルの作成 DownloadDataDao.createTable(db, true); // バックアップテーブルから全件取得 Cursor cursor = db.rawQuery("SELECT * FROM _BACK", null); if (cursor.moveToFirst()) { int i = 1; ContentValues values = new ContentValues(); do { // 移行 // IDはAUTOINCREMENT指定なので移行しない // values.put("_id", cursor.getLong(cursor // .getColumnIndex("_id"))); values.put("CD", cursor.getInt(cursor.getColumnIndex("CD"))); values.put("TITLE", cursor.getString(cursor.getColumnIndex("TITLE"))); values.put("BODY_TEXT", cursor.getString(cursor.getColumnIndex("BODY_TEXT"))); values.put("IS_HIDDEN", cursor.getInt(cursor.getColumnIndex("IS_HIDDEN"))); db.insert(DownloadDataDao.TABLENAME, null, values); LogUtil.w((i) + "件目移行しました"); i++; } while (cursor.moveToNext()); } cursor.close(); // バックアップテーブル削除 db.execSQL("DROP TABLE _BACK"); // コミット db.setTransactionSuccessful(); LogUtil.w("データベース定義を更新しました"); } finally { // データの移行終了 db.endTransaction(); }
■Eclipse+Ant時のメモ
Android 開発入門 http://android.keicode.com/ http://android.keicode.com/basics/ui.php http://android.keicode.com/basics/ui-tabhost.php http://android.keicode.com/basics/ui-drawerlayout.php アンドロイドアプリ開発TIP★STAR http://dorodoro.info/tip/ androidでマルチスレッド(バックグランド処理) その1 - Android http://team-hiroq.com/blog/android/android_multithread.html ANDROID お絵描きライブラリ http://curtaincall.weblike.jp/blog/?cat=16 https://github.com/Korilakkuma/CanvasView/blob/master/com/example/canvas/CanvasView.java REDO, UNDO に加えて色の変更やペンサイズの変更を実装 パスとは別の配列に、一筆ごとに色やペンサイズを配列で持っておく? カメラアプリのペイント部分はどうなっているか参考にする /MQCamera/src/mq/app/model/PhotoEditorDataModel.java の DrawingBean クラスで管理している?一つのクラスで色や太さを管理している? drawDrawings に描画処理があるけど、やはりクラス内にその都度色や太さを持っているみたい Android記事一覧 https://code.google.com/p/techbooster/wiki/PostProject 録画や録音などサンプルが豊富 ソースコードもダウンロードできるみたい Androidでビデオ録画のサンプル http://awwa500.blogspot.jp/2011/02/android.html カメラ映像の録音・録画:Android :カメラ http://yamato-iphone.blogspot.jp/2012/03/blog-post_10.html MediaRecorderの解像度設定 http://tokubo.cocolog-nifty.com/ 動画を撮ってみる http://d.hatena.ne.jp/d-kami/20101228/1293546126 MediaRecorder.VideoSourceの値を参考にしてみる? ■カメラ http://androidguide.nomaki.jp/html/device/camera/camFileSave.html http://www.atmarkit.co.jp/ait/articles/1005/27/news097_2.html ■greenDAO http://greendao-orm.com/documentation/how-to-get-started/ https://github.com/greenrobot/greenDAO http://kazy.hatenablog.com/entry/2013/04/16/063145 http://bokukoko.hatenablog.com/entry/20130406/1365246484 http://android2010.seesaa.net/article/246650436.html DaoExampleGeneratorを動作させるためには libs フォルダを作って free maker、greendao-generator、greendao を格納し、さらにプロジェクトのプロパティーにあるJavaのビルドパスでJarを追加する必要がある DaoExampleを動作させるためには プロジェクトのプロパティーにあるAndroidでビルドターゲットをAndroid4.0とかにする ■PUSH [Android]Google Cloud Messagingを使ってプッシュ通知してみた http://qiita.com/BlackCat/items/ef7cf50b893bd54718a7 以前と画面が変わっているが↑の方法でできるかも http://tech-gym.com/2013/11/%E8%B0%B7%E5%8F%A3/1333.html http://techbooster.org/android/application/16261/ http://freestyle.nvo.jp/archives/1218 http://android.benigumo.com/20120824/gcm-google-cloud-messaging-%E3%81%A7-android%E3%82%A2%E3%83%97%... http://d.hatena.ne.jp/takeR/20131101/1383314458 http://blog.clock-up.jp/entry/2014/02/26/042406 http://kokufu.blogspot.jp/2011/01/eclipse-android_04.html http://refirio.org/memos/android/push/sender.php https://console.developers.google.com/project/apps~absolute-brook-632?authuser=0 ■その他 画面を遷移する http://seesaawiki.jp/w/moonlight_aska/d/%B2%E8%CC%CC%A4%F2%C1%AB%B0%DC%A4%B9%A4%EB Intentを使ってアプリを連携させる(暗黙的Intent) http://techbooster.jpn.org/andriod/application/646/ greenDAO - Android ORM for SQLite http://greendao-orm.com/documentation/how-to-get-started/ greenDAOの使い方 http://myhappiness.hatenablog.com/entry/2014/03/18/014219