我们这次不用gradle 去生成SO文件,改用Android.mk 去编译。一共分为2步:1.在Java中编写要调用的静态方法和需要加载的库,并生成头文件。2.配置gradle3.配置Android.mk文件和application.mk文件下面一步步的走:首先需要在Java类中声明要调用的方法,以及要加载的库,我们在包下新建一个jniUtil类,如下所示public class jniUtil            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-16 10:18:03
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            准备:一台真机一台模拟器(使用的是“夜神模拟器”)先查看是否检测到设备  adb devices  由上图可看出没有检测到模拟器(夜神模拟器已开启)可通过以下配置完成:第一步:找到adb的安装路径,找到adb.exe第二步:将adb.exe复制到夜神模拟器下安装路径下的bin,更改名称为  nox_adb.exe;因为夜神模拟器的安装路径下已经有相同名字的文            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-26 10:30:19
                            
                                51阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、资源文件的统一管理建好统一管理的: string.xml,定义好常用的字符串,例如工程名字,工程包名,网络链接的提示,常见按钮的文本。如果功能模块比较确定,可以分模块来定义,string_base.xml 基础字符串 string_module_name_1 模块一需要的字符串 string_module_name_2 模块二需要的字符串 color.xml,定义好常用的颜色,应用的主色调 s            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-03 22:36:53
                            
                                62阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            这几天一直在看Android一些基本知识,都比较零散,先各个知识点分析记录总结着,等日后整理成各个模块。也为自己以后面试做准备吧,未完待续。一、 Android四大组件1. Application相关1.1 Application实例在一个Dalvik虚拟机里只会存在一个实例,一个app可以有多个Dalvik,每个Dalvik都会存在一个Application实例,这就是多进程模式。1.2 App            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-16 09:48:37
                            
                                187阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Android--Binder机制1.简介Binder是什么?机制:Binder是一种进程间通信的机制驱动:Binder是一个虚拟物理设备驱动应用层:Binder是一个能发起进程间通信的JAVA类Binder就是Android中的血管,在Android中我们使用Activity,Service等组件都需要和AMS(system_server)进行通信,这种跨进程的通信都是通过Binder完成。Ac            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-16 08:49:05
                            
                                20阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Application作为贯穿整个应用的必不可少的一个类,必须要知道它能做什么,有什么缺点。所以,这篇文章主要从Application 源码方面解读一.Application和Dalvik的关系一般情况下app只会有一个虚拟机,一个虚拟机只会有一个application,也就是说一个Application只会存在一个Dalvik
还有一个app多进程,就意味着app拥有多个Application            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-11 17:21:00
                            
                                51阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Binder与AIDL服务服务(Service)是Android系统中4个应用程序组件之一。服务主要用于两个目的:后台运行和跨进程访问。通过启动一个服务,可以在不显示界面的前提下在后台运行指定的任务,这样可以不影响用户做其他事情。通过AIDL服务可以实现不同进程之间的通信,这也是服务的重要用途之一。跨进程访问(AIDL服务)Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-21 06:35:57
                            
                                53阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在Android中一个Dex文件最多存储65536个方法,也就是一个short类型的范围。但随着应用方法数量的不断增加,当Dex文件突破65536方法数量时,打包时就会抛出异常。为解决该问题,Android5.0时Google推出了官方解决方案:MultiDex。打包时,把一个应用分成多个dex,例:classes.dex、classes2.dex、classes3.dex…,加载的时候把这些de            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-16 15:21:14
                            
                                80阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Binder        Binder是什么?  机制: 
 Binder 
 是一种进程间通信的机制  驱动: 
 Binder 
 是一个虚拟物理设备驱动  应用层: 
 Binder 
 是一个能发起进程间通信的 
 JAVA 
 类  Binder 
 就是 
 Android 
 中的血管,在 
 Andr            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-30 11:25:49
                            
                                29阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            bindService简介Service一般用于不用显示,运行在后台的服务。startService 是我们最常用的启动Service的方法。而如何让service与其他组件通信呢?一般在一个进程内,可以使用广播的方式让Service与本进程其他Actvity/service进行通信,那么还有更好的方法吗?如果要进行进程间通信(IPC)呢?bindService就是解决这些问题的。Binder通信            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-09 17:22:09
                            
                                19阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一.普通页面跳转Activity之间进行跳转需要使用Intent类 Intent 意图第一个Activity<Button
        android:id="@+id/btn_open"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        and            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-01 12:37:34
                            
                                40阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            AsyncTask是Android提供的一个助手类,它对Thread和Handler进行了封装,方便我们使用。Android之所以提供AsyncTask这个类,就是为了方便我们在后台线程中执行操作,然后将结果发送给主线程,从而在主线程中进行UI更新等操作。在使用AsyncTask时,我们无需关注Thread和Handler,AsyncTask内部会对其进行管理。总结起来就是: 3个泛型,4个步骤。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-18 20:22:20
                            
                                40阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            **Android bind service讲解以及Messenger跨进程通信**  android service是运行在后台的程序,说白了,就是没有界面,这里我想强调的一点是,运行在后台不等于运行在非主线程,除了IntentService外,普通的service如果你没有开启新的线程,那么默认是运行在主线程中的。  service有两种启动方式,一个是bind,一个是start,两种启动方式            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-10 15:40:32
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一个工程对应一个AndroidManifest.xml文件,这个文件中包含有该项目的一些设置,如权限、SDk版Activity、Service信息等。一般而言,这个文件中会有且仅有一个application节点,这个节点表示这是一个应用程序,不管它下面还有多少子节点如Activity、Service等等。形象的说,就是这个项目生成的apk安装到Android设备后,应用程序列表中会出现一个ICO            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-12 15:19:11
                            
                                64阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、bindService简介bindService是绑定Service服务,执行service服务中的逻辑流程。service通过Context.startService()方法开始,通过Context.stopService()方法停止;也可以通过Service.stopSelf()方法或者Service.stopSelfResult()方法来停止自己。只要调用一次stopService()方            
                
         
            
            
            
            为什么要引入多进程现今大型项目App都采用多进程的形式,正应为“大”,当单进程内存占用大时被系统Kill的几率也会增大,因而让单个组件运行在单独的进程中可以有效保活;还有,当子进程意外Crash主进程也不会因此而Crash,大大提高了App的健壮性;此外,当主进程退出服务子进程还可以在后台做推送消息等工作。什么是Binder?给出Binder一词的含义需要分场合,宏观来讲Binder是Androi            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-23 20:41:16
                            
                                28阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                  本文首先解释一下handler是用来干嘛的,然后通过例子介绍其在多线程中的应用。  
    什么是Handler 
         handler通俗一点讲就是用来在各个进程之间发送数据的处理对象。在任何进程中,只要获得了另一个进程的handler则可以通过handler.sendMessag            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-05 22:35:57
                            
                                26阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            需要分Dex的理由想必大家都知道了.正是在ART以前的Android系统中,Dex文件对于方法索引是用一个short类型的数据来存放的.而short的最大值是65535,因此当项目足够大包含方法数目足够多超过了65535(包括引用的外部Lib里面的所有方法),当运行App,就会得到如下的错误提示.  Unable to execute dex: method ID not in [0, 0xfff            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-05 07:49:18
                            
                                83阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            每个线程只能拥有一个looper ,一个Looper 可以绑定多个handlerMessageQueue的数据结构,是一个单向链表Handler 主要有 sendMessage() 和 post()两种方式使用方法: 1 创建Handler类对象           private Handler mHandler = new  Hand            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-22 14:50:17
                            
                                35阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            背景: 
  例子1:当一个软件如果在另一端登录了,那么当前登录就会弹出提示用户在XXX时间XX地方登陆,当前界面会销毁(之前的打开的界面也会销毁),最后会跳转到登录界面。 
 
  例子2:在交互中,也许会打开很多个界面,但如果现在要返回到首页的时候,就必须一个个返回回去,这时候为了使交互更友好,会加入直接返回首页的功能,之前的打开的页面就必须正常退出。 
 
  例子3:在注册流程中,在A界面            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-28 09:51:13
                            
                                41阅读