登录
首页 » Android » Android源代码开发和调试环境搭建

Android源代码开发和调试环境搭建

于 2022-08-06 发布 文件大小:46.83 kB
0 81
下载积分: 2 下载次数: 1

代码说明:

Android源代码开发环境与SDK开发环境相比,优势是可以查看和调试系统源代码,包括Java代码和C/C++代码。这对应用开发也是非常有用的,因为在开发中碰到疑难杂症时可以跟踪到系统内部去定位问题。对于涉及到C/C++代码的开发,例如JNI开发和安全相关开发,更加建议在Android源代码开发环境进行,这样就可以利用gdb以及gdbclient工具进行调试。这个PPT主要讲Android源代码下载、编译和运行,以及C/C++、Java代码的调试。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • android蓝牙4.0ble
    最新技术低功耗蓝牙的搜索,发现,配对等功能的实现!详细的代码注释,学习蓝牙低功耗的好资料
    2022-09-02 05:00:03下载
    积分:1
  • 安卓记事本app
    课设APP,简单的记事本,可以分享,有实时更新的功能,界面还是挺好看的,平时记事可用,方便简洁。大家可以下载来用。
    2022-02-04 18:35:47下载
    积分:1
  • android 图片搜索 例子源码下载
    android 图片搜索 例子源码下载
    2014-11-24下载
    积分:1
  • 测试程序
    Android手机端的测试小应用。包含性格、智力测试和好看的界面。同时应用智能手机的震动及重力感应等功能开发出星座运势模块,利用已有接口完成运势更新过程,并可以绘制相关星座的星图(动态绘图)。
    2022-09-02 03:35:05下载
    积分:1
  • android wifi设置静态ip 实例源码下载
    android wifi设置静态ip 实例源码下载
    2014-08-29下载
    积分:1
  • AnitVirus
    基于Android杀毒软件 初学Android,此程序为毕设设计,仅作为学习使用,病毒库特征码保存在文本文件中,使用几个特殊字符分割,该文件保存在我临时网盘中,测试请自行更换URL,也可联系我获取病毒特征码提取程序(Android-based antivirus software beginner Android, this procedure is completed the set design, just as learning to use virus signatures stored in a text file, use several special characters split, the file is saved in my temporary network disk, replace the self-test URL, can also contact me to obtain virus signatures extraction procedure)
    2013-12-06 15:32:09下载
    积分:1
  • Android tcp通讯学习用
    核心代码:package com.Test;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.app.Activity;import android.view.Menu;import android.widget.Button;import android.view.View;import android.view.View.OnClickListener;import java.io.BufferedInputStream;import java.io.InputStream;import java.io.OutputStream;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.io.InputStreamReader;import java.io.BufferedReader;import java.io.PrintWriter;import java.io.Reader;import java.net.Socket;import java.net.ServerSocket;import java.net.UnknownHostException;import android.view.TextureView;import android.widget.EditText;import java.lang.String;import java.lang.Thread;public class MainActivity extends Activity implements OnClickListener{ private Button m_btn; private Button m_sendbtn; private ServerSocket mySerSocket; private Socket clientSocket; private EditText m_edit; private String line; boolean conn = true; private Socket accSocket; private static final String Host = "10.0.2.2"; private static final int Port = 12000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); m_btn = (Button)findViewById(R.id.button1); m_sendbtn = (Button)findViewById(R.id.button2); m_edit = (EditText)findViewById(R.id.editText1); //m_btn.setOnClickListener(this); m_btn.setOnClickListener(new ReceiverListener()); m_sendbtn.setOnClickListener(this); //Socket clientSocket = new Socket(Host, Port); } class ReceiverListener implements OnClickListener { private ReceiveThread mReceiveThread = null; private boolean stop = true; private Handler mHandler = null; public void onClick(View v) { try { if(clientSocket == null) { clientSocket = new Socket(Host, Port); } // InputStream myInputStream = clientSocket.getInputStream();// // //BufferedReader in = new BufferedReader(new InputStreamReader(myInputStream));//// byte [] buffer = new byte[myInputStream.available()]; //int temp = 0; //String strMsg = in.readLine(); // myInputStream.read(buffer);// // // String strMsg = new String(buffer);// // m_edit.setText(strMsg);// while ((temp = myInputStream.read(buffer)) != -1)// {// m_edit.setText(new String(buffer, 0, temp));//// } mReceiveThread = new ReceiveThread(clientSocket); stop = false; mReceiveThread.start(); } catch (IOException e) { e.printStackTrace(); } //消息处理 mHandler = new Handler() { public void handleMessage(Message msg) { m_edit.setText((msg.obj).toString()); } }; } private class ReceiveThread extends Thread { private InputStream inStream = null; private byte[] buf; private String str = null; ReceiveThread(Socket s) { try { this.inStream = s.getInputStream(); } catch(IOException e) { e.printStackTrace(); } } public void run() { while(!stop) { this.buf = new byte[512]; try { this.inStream.read(this.buf); } catch(IOException e) { e.printStackTrace(); } try { this.str = new String(this.buf, "GB2312").trim(); } catch(UnsupportedEncodingException e) { e.printStackTrace(); } Message msg = new Message(); msg.obj = this.str; mHandler.sendMessage(msg); } } } } public void onClick(View v) {// if (v.getId() == R.id.button1)// {// new Thread()// {// public void run()// {// try // {// if(clientSocket == null)// {// clientSocket = new Socket(Host, Port);// } // InputStream myInputStream = clientSocket.getInputStream();// // BufferedReader in = new BufferedReader(new InputStreamReader(myInputStream));//// byte [] buffer = new byte[1024 * 4];//// int temp = 0;// // String strMsg = in.readLine();// // //myInputStream.read(buffer);// // //String strMsg = new String(buffer);// // m_edit.setText(strMsg);////// while ((temp = myInputStream.read(buffer)) != -1)//// {//// m_edit.setText(new String(buffer, 0, temp));//////// }// // }// catch (IOException e)// {// e.printStackTrace();// }// }// }.start();// // } if(v.getId() == R.id.button2) { new Thread() { public void run() { try { if(clientSocket == null) { clientSocket = new Socket(Host, Port); } //inputStream clientInputStream = clientSocket. String msg = "RESET-SHOW"; //InputStream clientInputStream = clientSocket.getInputStream(); //BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); //BufferedReader br = new BufferedReader(); //line = br.readLine(); OutputStream clientOutputStream = clientSocket.getOutputStream(); byte buffer[]=msg.getBytes(); clientOutputStream.write(buffer); clientOutputStream.flush(); //int temp = 0; // PrintWriter out = new PrintWriter(clientOutputStream);// // out.println("Serer Message: " msg); } catch(IOException e) { e.printStackTrace(); } } }.start(); } }private Reader InputStreamReader() { // TODO Auto-generated method stub return null; }// private Handler handler = new Handler()// {// public void handleMessage(Message msg)// {// super.handleMessage(msg);// //处理UI// m_edit.setText("Finish");// Log.i("PDA", "Finish");// // }// }; @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; }}
    2014-08-18下载
    积分:1
  • MyGatt
    BLE开发所需要的知识,通过官方demo,我们会发现很多service,点击service后,每个service下面是Characteristic,每个service和Characteristic都对应一个唯一的UUID。所以,在做BLE时候,首先你应该找出你的蓝牙外围设备uuid,不然会很头疼,这个UUID也可能是硬件给你的,也可以你自己试出来,当然自己试出来是个很烦的过程。自己试的方法就是根据demo,加上一份读写的协议,然后,排着点击,显示出来的蓝牙列表进行测试,看是否和协议对应。另外,BluetoothLeService类不用做太多的更改。(BLE develops the knowledge we need. Through official demo, we will find many service. After clicking service, every service is Characteristic, each service and Characteristic correspond to a unique UUID. So, when making BLE, first you should find out your Bluetooth peripheral device UUID, otherwise it will be very headache. This UUID may also be hardware for you, or you can try it out yourself, of course, trying out it yourself is a very boring process. The way to do it is to add a read and write protocol based on demo,then test the Bluetooth list displayed by clicking on it to see if it corresponds to the protocol. In addition, the BluetoothLeService class does not have to make too many changes.)
    2018-02-07 11:55:52下载
    积分:1
  • Acvooding
    说明:  根据蒙特卡罗仿真原理,对QPSK及QDPSK进行误码率仿真分析里面有7个程序(According to Monte Carlo simulation principle, there are 7 programs in BER simulation analysis of QPSK and QDPSK.)
    2019-03-28 05:37:53下载
    积分:1
  • cartoon_Application
    基于安卓的高仿快看漫画项目源码,只是仿照了UI部分,没有实际功能。仿照的UI有设置、分类、热门、首页按星期展示内容等部分。一个常见展示类app的大体框架就是这些了。可以在本项目基础上自己二次开发。(Based on Android s high imitation fast look at the comic project source code, just modeled on the UI section, there is no practical function. Modeled on the UI have set, classification, popular, home page by week display content and other parts. A common display of the general framework of the class app is these. Can be based on the project itself, the two development.)
    2016-09-03 10:27:36下载
    积分:1
  • 696518资源总数
  • 104297会员总数
  • 29今日下载