2013/03/05

Android:AVDにTelnetでつなぐ

Telnet経由でAVDへコマンドを投げることができるようです。

c:> telnet localhost 5554

helpで使えるコマンドの一覧が表示されます。

Android:AVDが起動しない(PANIC:Could not open…)

AVD起動でこんな風になったら

おそらく、C:\Users\ユーザ名\.androidの位置を変更していると思います。
こんな時は、シンボリックリンクを張ってあげましょう。

1.C:\Users\ユーザ名\.androidの下にファイルがある場合、変更先のD:\Users\ユーザ名\.androidなどにCopyします。
2.C:\Users\ユーザ名\.androidを削除します。
3.管理者権限でDOS窓を開きます。
4.次のコマンドを入力します。
c:> mklink /d C:\Users\ユーザ名\.android D:\Users\ユーザ名\.android
これでAVDの起動ができます。
Windowsでもシンボリックリンクってあるんですね。

2012/11/05

Android:apkファイルを逆コンパイルする

サンプルはこのコード。
このコードを元にapkファイルを作成して逆コンパイルしてみます。

まずは、apkファイルをzipにリネームして解凍します。
使うのはclasses.dexです。

次にdex→classへ変換します。次のサイトからdex2jalをダウンロードして適当なフォルダに解凍します。

コマンドラインからdex2jar.batを実行します。
c:>(dex2jar.batのパス)\dex2jar.bat (classes.dexのパス)\classes.dex

classes_dex2jar.jarが作成されます。(dex→classの変換が完了)

classes_dex2jar.jarファイルをzipにリネームして解凍します。

次に、class→javaへ変換します。次のサイトからJAD(Java Decompiler)をダウンロードして適当なフォルダに解凍します。


コマンドラインからjad.exeを実行します。
c:>(jad.exeのパス)\jad.exe -8 -d (出力パス) -s .java -r (.classのパス)\*.class

javaファイルができました。

MainActivity.javaの中身はこんな感じです。

2012/06/29

Android:Android4.1(Jelly Bean)エミュレータを起動してみた

SDKのDLが終わったのでエミュレータを起動。
前回のICSと比較してみましょう。

ログイン画面
Home画面
ランチャー
ウィジェット一覧
設定
ランチャー(日本語)
設定(日本語)
メニューの並びなども、ICSから微妙に変わってますね。

2012/06/28

Android:Android SDK r20

昨日深夜(というか本日早朝)Google I/O 2012のライブ配信を眠い目をこすって見てましたが、r20が出てました。
早速ですがDL。
API16 (Android4.1:Jelly Bean)が出てますねぇ~。

2012/05/29

Android:Monkeyrunner(Jython)でimportする

普通にimportしようとしてもパスが通ってないので怒られる。。。
そんな時には、.pyファイルの中でsys.pass.append()でパスを追加してあげればいい。
例:c:/hoge/hogehoge/testmod.pyをimportする場合
import sys
sys.path.append(c:/hoge/hogehoge)
import testmod
Monkeyrunner起動用のバッチファイルの中のSET文でSCRIPT_PATHとしてtestmod.pyの保存されているパスを指定してあげるとこうなる。
バッチファイルの例
SET SDK_PATH=C:\Android\android-sdk-windows\tools\
SET SCRIPT_PATH=C:\Android\Test\MonkeyRunner\
SET SCRIPT_FILE=test.py

call %SDK_PATH%monkeyrunner.bat %SCRIPT_PATH%%SCRIPT_FILE%
import os
import sys
sys.path.append(os.environ.get("SCRIPT_PATH"))
import testmod

2012/01/30

Ubuntu:RealVNCから使う設定(リモート接続の許可)

1.「システム」「設定」「リモート・デスクトップ」を起動。
2.あとは適当に必要事項をチェックすればOK

Ubuntu:OpenSSH-Serverを設定する

久しぶりに更新。

1.「システム」→「システム 管理」→「Synapticパッケージマネージャ」を起動。
2.OpenSSH-Serverを検索して「インストール指定」→「適用」でOK。

2011/10/20

Android:Android4.0(Ice Cream Sandwich)エミュレータを起動してみた

目新しいので画像をペタペタ

ログイン画面
Home画面
ランチャー
ウィジェットが一覧表示されるようです
設定
日本語にしてみた
設定(日本語)

今日はこの辺でおしまい

2011/10/19

Android:Android SDK r14

ついこないだr13にしたばっかなんだけど、r14がリリースされていたので早速入れてみた。
おっ!Android4.0(API14) Ice Cream Sandwichに対応してそうですね。

SDK MamagerのUIも変更になっています。
Repositoryにすると見慣れた表示になりますね。

2011/10/14

Android:メモリの使用状況

次のコマンドで確認できるようです

●物理的なメモリの使用状況
c:> adb shell cat /proc/meminfo

●論理的なメモリの使用状況
c:> adb shell dumpsys meminfo

2011/10/13

Eclipse:Memory Analyzer(MAT)を設定する

DDMSのDump HPROF fileを選んでもMATの設定ができていないとデバッグウィンドウに文字化けの画面しか出ません。


MATの本家はここにあります。

<設定方法>
1.Eclipseの「ヘルプ」→「新規ソフトウェアのインストール」
2.「使用可能なソフトウェア・サイト」の文字をクリック
3.使用可能なソフトウェア・サイトから以下のURLにチェック
 http://download.eclipse.org/birt/update-site/3.7
 http://download.eclipse.org/mat/1.1/update-site/
4.http://download.eclipse.org/birt/update-site/3.7のBIRT 3.7 Engineだけにチェックしてインストールします。
5.http://download.eclipse.org/mat/1.1/update-site/は全部チェックしてインストールします。

設定が完了してから、DDMSのDump HPROF fileを選択するとGetting Start Wizardが表示されるようになる。

Leak Suspect Reportを選んでみるとデバッグウィンドウにこんな感じの円グラフが出てくるのでこれを元にMemory Leakを調べていく。

2011/10/05

Android:アイコンのデザインガイド

ここに記載されています。

GIMPあたりの画像ソフトで一旦960px×960pxくらいの大きさでアイコンを作成して、以下のサイズで画像を縮小してからエクスポートしてあげれば、ぼやけないアイコンになります。

  High 72*72px
  Medium 48*48px
  Low 36*36px

カラーパレットはこんな感じ。

2011/10/02

Android:リソースファイルの解像度(dpi)

ここに記載されています。

ldpi: Low-density screens; approximately 120dpi.
mdpi: Medium-density (on traditional HVGA) screens; approximately 160dpi.
hdpi: High-density screens; approximately 240dpi.
xhdpi: Extra high-density screens; approximately 320dpi. Added in API Level 8
nodpi: This can be used for bitmap resources that you do not want to be scaled to match the device density.

2011/09/21

Android:CPUクロックなどの取得

たまたま見つけたのでちょっとメモしとく。

/sys/devices\system/cpu/cpu0/cpufreqの下のファイルで確認

1)カレントクロック
 scaling_cur_freq
2)最大クロック
 cpuinfo_max_freq
3)最小クロック
 cpuinfo_min_freq
4)制御状態
scaling_governor
 (ondemand:高低の二段階、conservative:多段階)

ここら辺のファイルの値を参照すれば良いかもです。

2011/09/19

Android:CPU占有率を見てみる

これでOK(どんどん出てくるので、Ctrl+Cで止める)

c:> adb shell top

IS05でやってみるとこうなる。

※2011/09/24追記
 オプションを入れることでCtrl+Cを押さなくて良いようです。
 -m 上から何個分表示
 -n 表示回数

Android:アプリ起動時に必ず始めのActivityから開始する

Homeボタンで中断した後に、ランチャーなどからアプリが起動されたときに中断されたActivityではなく、スタートアップActivityから起動する方法。

<通常>
Activity1→Activity2→中断→起動(復帰)→Activity2

<スタートアップActivityから起動>
Activity1→Activity2→中断→起動(再起動)→Activity1 ・・・これをやる方法

AndroidManifest.xmlでルートActivityにandroid:clearTaskOnLaunch="true"を追加すれば良い。


    

    
        
            
                
                
            
        
        
        
    


中断→再起動→Activity1のタイミングでActivity2→Activity1の順番に終了させてくれます。
※bloggerだとソース一式置けないのね・・・トホホ。

2011/09/10

Android:proguardその2

proguardで署名にして出力したら2回目で失敗した・・・orz

「Conversion to Dalvik format failed with error 1」とか・・・

さっきできてたじゃん!!

あっちこっち調べたところ、\SDKのフォルダ\proguard\binにあるproguard.batの一番最後の行を次のように修正してあげて無事成功。
@ECHO OFF

REM Start-up script for ProGuard -- free class file shrinker, optimizer,
REM obfuscator, and preverifier for Java bytecode.

rem Change current directory and drive to where the script is, to avoid
rem issues with directories containing whitespaces.
cd /d %~dp0

IF EXIST "%PROGUARD_HOME%" GOTO home
SET PROGUARD_HOME=..
:home

set java_exe=
call "%PROGUARD_HOME%"\..\lib\find_java.bat

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9


あとは、プロジェクトのパス名にスペースが入ってる(C:\Documents and Settings\hogehoge\JavaProject\プロジェクト名 なんてなってる)とうまくいかないみたいです。

Android:proguardその1

proguardの設定

1.default.propertiesの一番最後に1行追加する

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.
# Project target.
target=Google Inc.:Google APIs:8

proguard.config=proguard.cfg

2.プロジェクト→Androidツール→Export Signed Application Package

3.その後は画面の指示に従う

2011/09/05

XP:watchdogでブルースクリーン

最近、ちょと前からなんだけど、watchdogでボコボコブルースクリーンで落ちるようになり、騙し騙し使っていたが、そろそろ我慢が限界なので調べることにした。

まずはminidumpをとる設定(システムのプロパティ→詳細設定→起動と回復→最小メモリダンプ)


watchdogでブルースクリーンが発生したら、c:\windows\minidumpの中にminixxxxxx.dmpができるのでそいつをWinDbgで開いてやる


どうやらnv4_disp.dllが悪さをしているようでPC内をあさってみたところ、GFourceのドライバがかなり怪しい。

現在の最新が280.26だったので、ひとまずHDDの中にあったバージョンを古い(266.58)のに戻してみると現象が出なくなったので、ほぼ確定かな。

ひとまずこれで様子見してみます。