Androidの旅2 @Androidフレームワーク

現時点では、私はまだ新人アンドロイド午前、アンドロイドはただ一方で、知識を習得して、ブログの記録が自分の学習プロセスを使用し始めている自分自身のレビューを配置する一方で、他の人に助けを提供しています。

アンドロイドで学習する前に、いくつかの便利なサイトを共有するために開始します:

1)Androidの開発者

2)Googleのコード

3)のStackOverflow

4)Androidの開発者が知っておく必要があります

Eラーニングリソースはどこでも、私たちは主に、使用することを学ぶための完全な使用を好まれる、より良いリソースは英語であり、それは、一緒に英語のレベルを向上させるのは、それを是非聞かせすることができます!

最初の学習の前にアンドロイドを見ることができますアンドロイドの歴史を、私たちはAndroidの開発環境構成のシステムアーキテクチャ:(自己理解を理解してみましょう)

  • Linuxのカーネル層:学生は今、マルチコアCPUのために、基本的なオペレーティングシステムの機能が(ライン)プロセス管理、メモリ管理、ファイル管理、デバイス(I / O)の管理に含まれ、オペレーティングシステムが知っておくべき学びました一方によるオープンソースのLinuxに、当然の一方で、Linuxシステム自体がかけがえのない利点があるためかもしれところも、管理プロセッサとAndroidはその基になるとしてLinuxを選択する検討することができる、それが行きます。Linuxカーネルレイヤーに関与アンドロイドシステムでは、主にドライバのさまざまなを提供するために、OSの最も基本的な機能は、ソフトウェア、ハードウェア、および状況に応じて、統一された管理スケジューリングソフトウェアを基盤となるハードウェアを分離することであるため。
  • システムのlib層:この層は、など、マルチメディア、データベース、ネットワーク、画像などの地元の図書館、各種含め、C ++を使用して開発、ハードウェアアブストラクションレイヤHAL、低レベルのドライバーに対処する責任があり、実行中のアンドロイドがあるさ、価値Dalvik VM JVMは順番に、dx.bat .dexバッチファイルでJVMステップよりも多くの機能の再カスタマイズした仮想マシンに基づいて、あまりにもに実行可能ファイルにも.classファイルをされている言及しますDalvik上で動作します。
  • フレームワーク層:すべての種類を使用して開発者が利用できるAPI、使用に加えて、我々は全体Androidのシステムを理解するために私たちを助けるそのソースファイルを、また見ることができます

    Q:Androidのは、そのプログラムはどこの入り口であることを、主な機能はないのですか?

    :XML設定ファイル、<インテントフィルタ> <アクションアンドロイド:名= "android.intent.action.MAIN" /> </意図フィルタ>

(一般的なツールを含む)いくつかのAndroidの常識を紹介し、以下:

図1に示すように、サードパーティのソフトウェア/データ/アプリケーションにインストールソフトウェアの.apkフォーマット、システム・レベルのソフトウェア/システム/アプリケーション、対応するデータ/データ/データに対して、

2、DDMS:のDalvikデバッグは、システムのDalvik仮想マシンのデバッグシステムを管理します。

3、AAPT:Android用アプリケーションパッケージツールAndroid用アプリケーションパッケージ化ツール

4、adb.exe:アンドロイドデバッグブリッジアンドロイドデバッグブリッジ(。私は、環境変数を追加することをお勧めします)

ADBデバイス:コンピュータに接続されたデバイス一覧表示
adbのシェルを.. Linuxのコマンドを実行するために、シミュレータまたは実際の電話端末を来る
プッシュADB:シミュレーターれているコンピュータ上のファイルを置きます。

ADBプル:コンピュータ内部の電話にエクスポートされたファイル。

5は、dx.bat:.odex .dexファイルを見るために、通常は、実際の携帯電話に、.dexの.classファイルになるためには圧縮され、暗号化され、生成された署名

6、dexdump:.dexファイルを逆コンパイルが、結果のファイルはsmali別の言語と呼ばれていますか?

7、ファイルが暗号化されているため、コンテンツのほとんどが唯一のRAWファイルや他のグラフィックファイルが見つから、表示されていないので、直接、APK抽出

8、リソースファイルへのアクセスについて:

1)生RESリソースは、Rファイルを介してアクセスされる:getResources()openRawResource(R.raw ....)。

2)資産リソースがRにリソースファイルを設定しない経路を介して直接アクセスされ、それはまた、より高速なアクセスです。

図9は、逆コンパイルAPKファイルにapktool効果によって:smaliなる.dexが、XMLレイアウトファイルが表示され

10、他の成功した逆コンパイル方法:

.jarなっ.dex dex2jar使用し、XJadツールによっての.jarは、(.classファイル)の.javaとなり

11、logcatに関する情報:

PID:プロセスID、(重症度によって配置された)のカテゴリーをログ:エラー、警告、インフォア、デバッグ、冗長、またはプログラムエラーデバッガは、ログを表示しなければならなかった、情報/データ/ログにログイン

12、ケースには、ログファイルを生成しました:

1)プログラムが予期せず終了:uncased例外を

2)シャットダウンを余儀なく:力(FC)が閉じ、 "致命的な例外:Nullpointは、他にClassNotFound"

3)いいえ応答:理由のApp応答がありません(ANR)、このような状況は通常ではありません。

応答時間が5秒を超えているため。インターフェース動作が待機します

10秒を超える実行するb.HandleMessageコールバック関数のみ約10秒の、例えば、BroadcastReceiverのライフサイクル、書き換えonReceive(ビジネスを行うために10秒以上)が内部に、ANRのエラーは、発生した場合

通常より時間のかかる作業は、サービスに発行されたテントで完了する必要があり、子スレッドでは解決できないが、「causeBroadcastReceiverのライフサイクルが短すぎる、スレッドは終わりではありません、システムが直接殺すされる可能性がある、プロセスが空になった、ハングアップしています

13、携帯電話工場モードの一般二種類:

1)開発:ログファイル,,多くの支持を果たし、root権限を持っています。

2)ユーザー:一般的に再生されないログ

図14に示すように、ファイル情報をログ:基本的な情報システム、メモリ、CPU、ガベージコレクション(形態DDMSで)イベント情報、仮想マシン情報、プロセス、スレッドの追跡を

ソフトウェア業界は限り顧客のニーズを満たすために技術革新の同じ種類を可能な限り回避することを学ぶ必要があり、業界を圧迫する可能性があります:15は、学生にソフトウェア開発のヒントのいくつかを与えることを望んでいました

 

ます。https://www.cnblogs.com/allenpengyu/p/3495486.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_34050427/article/details/94507581