自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tomes.V.White

一只迷惘的菜鸡

  • 博客(412)
  • 资源 (19)
  • 收藏
  • 关注

原创 解决ios编译swift报错pcm was built: mtime changed

编译ios工程失败时,其中的几个swift文件报以下错尝试过clean,清空/Users/tomes/Library/Developer/Xcode/DerivedData文件夹都没有效果。

2023-12-25 12:01:43 483

原创 解决xcode 运行不了iPhone 15 iOS 17.1 设备的问题

最近要查看一下ios 17.1的设备的性能,但是当前版本的Xcode运行不了。

2023-12-22 20:16:15 2015

转载 GNU C++的符号改编机制

C++的符号改编机制

2022-07-26 15:43:00 656 1

原创 MAC M1 ndk-build ERROR: Unknown host CPU architecture: arm64

为MAC M1解决ndk-build报错ERROR: Unknown host CPU architecture: arm64

2022-06-28 15:12:57 2134

原创 C++ 浅拷贝和深拷贝与坑

前言已从工作三年的公司离职,今天我久违的徒弟惨叫着发来一个bug……看到之后,我有些沉默。我怀疑不帮他,微信铃声可能会一直响个不停。这个问题有些基础,但也是c++新手容易犯的错误之一问题由于代码保密,这里简单的抽象出一个demo,简单说明下问题class Phone{public: Phone() { mBrand = new char(20); } ~Phone() { if (mBrand != NULL

2022-05-04 01:47:38 1267

原创 Android 自动化触发GC

问题最近有个小需求,能通过自动化对app进行GC回收对于app的处理无外乎主动调用System.gc()或者使用adb命令直接进行GC回收解决方法方法一在代码里的某个方法调用System.gc(),如我申明一个receiver,然后通过接受外不广播,去调用System.gc()完成gc回收的触发,如public class GCReceiver extends BroadcastReceiver { private static final String TAG = "GC

2022-03-31 16:39:33 4576

原创 AS编译时More than one file was found with OS independent path ‘lib/arm64-v8a/libc++_shared.so‘. If you

今天土地再次惨嚎原来他被老大安排了一个集成sdk的任务问题集成sdk的时候,android studio报错More than one file was found with OS independent path 'lib/arm64-v8a/libc++_shared.so'. If you are using jniLibs and CMake IMPORTED targets解决方法找到对应工程的build.gradle android { pa

2022-03-25 20:44:37 5366

转载 GCC安全编译选项

转载自:http://www.jackieathome.net/archives/796.html前言今天在学习编译器堆栈保护技术时,突然发现gcc的安全编译选项我还从来没去了解过发现一篇写的不错的帖子,进行转载保存以CMake为例,给出安全编译选项的定义关闭RPATH特性set(CMAKE_SKIP_RPATH TRUE)开启栈保护set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector-strong")或者

2022-03-17 20:21:38 1616

原创 Android安全扫描提示未使用编译器堆栈保护技术的解决方法

前言目前市面上不少安全扫描apk并评估的公司会针对以下这项进行扫描防御原理和攻击原理,看最下面的参考,别人写的很好,我就没必要再累述了未使用编译器堆栈保护技术风险描述:为了检测栈中的溢出引入了Stack Canaries漏洞缓解技术。在所有函数调用发生时,向栈帧内压入一个额外的被称作canary的随机数,当栈中发生溢出时canary将被首先覆盖,之后才是EBP和返回地址。在函数返回之前,系统将执行一个额外的安全验证操作,将栈帧中原先存放的canary和.data中副本的值进行比较,如果两

2022-03-17 19:29:29 7559

原创 Android Studio 显示Git的Local Changes窗口

前言因为使用新的mac环境,下载了最新的android studio今天在做开发后,想看看本地修改了哪些文件,结果发现本人熟悉的Local Changes窗口居然找不到了,不习惯的让我浑身难受解决方法打开Preferences,选择Version Control,选择commit,并取消Use non-modal commit interface勾选,点击ok生效好了,熟悉的界面又回来了...

2022-03-16 19:49:19 6466

原创 MAC下配置 adb 环境变量

前言今天又换成mac进行开发了,拿到一个全新的mac环境,又得重新搭建环境,我陷入了沉思在下载了android studio的前提下,不需要再额外下载什么了,只需要将adb的路径加入到环境变量中设置步骤找到Android/sdk的路径修改bash_profile使用vi命令打开.bash_profilevi ~/.bash_profile向.bash_profile文件中写入以下内容export ANDROID_HOME="Android/sdk所在路径"ex

2022-03-08 18:56:16 4499

原创 Android App清除数据的方案

前言最近MIUI13上出了个未经应用商店安装,算是未知来源。AndroidID,通知,网络权限没授权则默认关闭。安装app时允许虚拟身份ID: 允许允许虚拟身份ID前获取一次AndroidId: attachBaseContext获取AndroidId, 此时还没有点允许虚拟身份ID,此时获取的AndroidId:0000000000000000,允许虚拟身份后后再获取也是不会变化的,需要杀进程重新打开app才能获取正确的AndroidId。 允许虚拟身份ID后获取AndroidI

2022-02-22 20:23:34 4821 3

转载 Android中RelativeLayout和LinearLayout性能对比及分析

转载自:https://www.jianshu.com/p/8a7d059da746先看一些现象吧:用eclipse或者Android studio,新建一个Activity自动生成的布局文件都是RelativeLayout,或许你会认为这是IDE的默认设置问题,其实不然,这是由 android-sdk\tools\templates\activities\BlankActivity\root\res\layout\activity_simple.xml.ftl 这个文件事先就定好了的,也就是说这是

2022-02-17 17:43:55 406

原创 attachBaseContext里调用getApplicationContext 返回 null的底层原因和解决方法

前言昨天徒弟终于能把rn工程跑起来了,高兴还没一天,今天在哀嚎着找到我……徒弟说,“我就在application里的attachBaseContext初始化sdk,把application作为对象传进去,里面拿着这个对象去获取context”application.getApplicationContext()“为什么这个值是null呢?我其他地方拿都是正常可以拿到的啊!!!!” @Override protected void attachBaseContext(Co

2022-01-11 19:01:39 3583

原创 Android studio编译中Connect to maven.google.com:443[xxx] failed: connect timed out的解决方法

前言最近徒弟分到了一个rn的模块开发工作,但rn,大家懂的,Android studio有时需要科学上网下载必要的rn库。又是一个徒弟哀嚎的日子。问题连接maven.google.com超时具体编译报错如下:> Could not resolve all artifacts for configuration ':react-native-qr-decode-image-camera:releaseRuntimeClasspath'. > Could not reso

2022-01-10 19:45:43 3626

原创 懒人专用-最简明的JNI日志打印

前言又是一个带新人的日子,徒弟有新模块需要打日志调试,结果徒弟扭扭捏捏的。好吧,看来他又遇到了不好意思问的问题了。对于大多数Android开发同学,注意力都放在java层,平时很难有机会去写c层。一旦涉及c层编码的时候,大部分同学都会碰到日志输出的问题。这里介绍一个最简单的日志使用方法,拿去就用。主要用于熟悉和临时代码调试。如果有更多的需求,还是建议使用更加强大的日志库使用步骤1、使用Android studio的同学在新建工程的时候选择native工程【会使用cmake的通用不用看

2022-01-06 17:45:37 2705

原创 ubantu环境下IDA pro运行时碰到某些so找不到的问题

2021-12-31 15:42:48 1676

原创 Android安全全景图-目录导航

上方是规划中的全景图,最终可能会调整结构,这么多年学习,搞的技术总是零零散散,没有体系化的总结梳理,虚度了不少光阴。由于全景图任何一块儿的说明都是一个很大的工作,我不确定自己有毅力能将上面列出来的东西都给写出来。我想把研究的热更,插件化,安全沙箱,双开,鸿蒙都给写出来,想写的太多了……但我又太懒了。总之能写多少就写多少吧,希望各位能够鼓励支持我,完成他吧...

2021-05-10 16:57:23 183 1

原创 Android Studio工程引用三方库,项目报错却能正常编译

问题今天又遇到一个申请的问题向工程里面引入一个三方aar库,Android studio不能正常索引补全三方库的类和方法,手动import包,手写对应方法的调用,虽然Android studio报错找不到类和方法,但却可以正常编译。获取到编译好的apk后,进行反编译,查看应用确实是存在对应的类和方法,调用处也能正常跳转。好吧,看来是Android studio的老毛病了,没想到在新版本上也有相同的问题。我当前使用的环境是解决方法清除Android Studio的缓存并重启

2021-05-07 10:49:16 842 2

转载 Linux定时任务与开机自启动脚本

转载自:https://www.cnblogs.com/asche/p/10240994.html开机自启动脚本网上常见的脚本开机自启方法是:假设要自启的脚本位于 /home/user/test.sh给脚本可执行的权限sudo chmod +x /home/user/test.sh将脚本文件放到 /etc/init.d/ 目录下sudo cp /home/user/test.sh /etc/init.d链接到/etc/rc.d/sudo ln -s /etc/init

2021-05-07 10:11:28 1236

原创 【鸿蒙】日志工具的使用

在前面我们已经能够顺利的编译并运行我们的第一个程序hello world!为了今后能走的更远,我们现在需要点基础的装备,日志工具。学会了日志工具的使用方法,会对我们以后的Harmony应用开发带来极大的帮助。使用HarmonyOS的日志工具HiLogHarmonyOS提供了HiLog日志系统(Android的日志工具是Log),让应用可以按照指定类型、指定级别、指定格式字符串输出日志内容,帮助开发者了解应用的运行状态,更好地调试程序。输出日志的接口由HiLog类提供。在输出日志前,需要先调用

2021-04-29 17:20:04 2001 1

转载 JNI内存泄露处理方法汇总

转载自:https://blog.csdn.net/wangpingfang/article/details/53945479#在c++中new的对象,如果不返回java,必须用release掉,否则内存泄露。包括NewStringUTF,NewObject。如果返回java不必release,java会自己回收。jstring jstr = env->NewStringUTF((*p).sess_id); ...env->DeleteLocalRef( jstr); jo

2021-04-29 11:46:48 1204

原创 Android 12手机运行 targetSdkVersion 30及以上apk不能正常访问其他应用的ContentProvider

今天徒弟A又苦着脸过来求助,色色超纲了……我们的sdk需要兼容市面各种各样的app,所以用户的app的targetSdkVersion为任何版本都是可能的问题targetSdkVersion 30及以上的应用 A使用ContentResolver去访问 应用B的ContentProvider的数据结果报错如下:2021-04-16 17:22:25.276 31960-31960/? E/ActivityThread: Failed to find provider info for co

2021-04-19 21:19:02 5152 2

原创 Android逆向之JEB动态调试apk

已经快4年没使用jeb动态调试apk了,前一段时间被徒弟问到怎么动态调试apk的dex文件时,由于没记录jeb的动态调试方法,只能给他eclipse的动态调试作为参考。Android逆向之动态方式破解apk前奏篇(Eclipse动态调试smail源码)上面的方法对新人来说太不友好,所以还是把使用jeb的动态调试的方法写一下,以便帮到更多的人。准备工具首先你得有jeb工具,吾爱破解,看雪都能搜索到,我这里就不提供了。安装调试应用adb install xxx.apkhttps:/

2021-04-15 21:38:39 1704

原创 解决Android studio CMake 3.10 or higher is required. You are running version 3.6.0-rc2 编译错误

问题:最近其他组在给项目添加新库,使用Android studio编译新工程,编译报错 Execution failed for task ':sdk:generateJsonModelRelease'.> Build command failed. Error while executing process /home/wangqiang/Environment/android_sdk/cmake/3.6.4111459/bin/cmake with arguments {

2021-04-13 21:06:50 3778

原创 Android 12 targetSdkVersion为31应用的安装问题

targetSdkVersion 31的应用在Android 12上安装时可能会存在两种安装不上的情况。问题一:adb: failed to install xxx.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Scanning Failed.: No signature found in package of version 2 or newer for package com.tomes.sharefile]解决:分析与解决请

2021-03-30 15:25:03 14883 4

原创 Android 12刷机教程

可供刷机的设备Pixel 5, Pixel 4a, Pixel 4a (5G), Pixel 4, Pixel 3a, Pixel 3a XL, Pixel 3, and Pixel 3 XLAndroid12镜像及刷机教程https://developer.android.google.cn/about/versions/12/download实际刷机经历对于新机没刷过OEM的,第一件事需要将OEM打开1.开机设置拿到新手机开机,众多设置能跳过则跳过,先不要设置网络,ping

2021-03-29 10:54:29 14798 1

原创 DevEco Studio 启动时报错Plugin “xxx“ was not loaded: required plugin “Remote Device (China)“ is disabled.

问题在打开鸿蒙工程,启动DevEco Studio时,报如下错误:16:55 Plugin Error Problems found loading plugins: Plugin "DevEco Test Services" was not loaded: required plugin "Remote Device (China)" is disabled. Plugin "Hdm Support" was not loaded: required plugin "Remot

2021-03-18 17:14:31 383

转载 Android性能调优--StrictMode

转载自:https://blog.csdn.net/weixin_40763897/article/details/89018306性能无外乎就是CPU密集型或I/O密集型两种。StrictMode是一个开发者工具,常用于捕获在应用主线程中发生的磁盘I/O、网络访问违例等问题。StrictMode具体能检测什么呢StrictMode主要检测两大问题:线程策略(TreadPolicy)和VM策略(VmPolicy)。ThreadPolicy线程策略:1.自定义的耗时调用,使用detect

2021-03-17 11:16:41 305

原创 Android 12的行为变更和版本兼容思路

一年一度的产品线兼容活动又开始了。Android系统每更新一次系统,对开发者而言都是持续而漫长的挑战。自15年6.0的兼容以来,每年给公司产品线app做版本兼容,成了我每年的保留节目……结束完产品线app对鸿蒙系统的兼容适配后,今天开始搞Android12的兼容处理工作。同学们,android12预览版已出,工头叫我们搬砖了。目的产品线app兼容Android12思路先看看官方的时间规划,以便我们了解官方每个时间节点在做什么,最重要的是知道他的beta版什么时候出,什么时候最终发

2021-03-16 20:10:45 6119

原创 windows安装Node JS及配置

Windows7以上安装配置步骤1.登录Node.js官方网站,下载Node.js软件包。请选择LTS版本,Windows 对应的软件包。由于我的是64位的,所以选择2.解压后的文件内容如下(本人将解压文件放置到了D盘,并重命名为nodejs)3.配置环境变量,首先编辑path用户变量,添加nodejs的解压地址4.新建系统变量NODE_PATH,变量值为解压文件下的node_modules文件夹路径5.打开cmd命令行,输入npm -v,出现安装的版本信息,表名配置成功..

2021-03-15 19:23:08 456

原创 【鸿蒙】创建你的第一个Harmony项目

【鸿蒙】Harmony应用开发-目录导航不管是什么语言,Hello Word几乎是每一个编程人员编写的第一个程序。自我开始接触编程起,每学习一门语言编写的第一个程序就是Hello Word。按照惯例,咱们的第一个Harmony项目也从Hello Word开始。创建Hello Word项目...

2021-03-11 19:49:37 807

原创 【鸿蒙】手把手带你搭建Harmony应用开发环境

鸿蒙应用开发-目录导航下载与安装软件DevEco Studio是鸿蒙的应用开发IDE,DevEco Studio目前仅支持Windows和macOS系统,下面将针对两种操作系统的软件安装方式进行介绍。Windows环境运行环境要求为保证DevEco Studio正常运行,建议您的电脑配置满足如下要求:操作系统:Windows10 64位(当然win7也能运行,只是node.js需要下载对应的版本) 内存:8GB及以上 硬盘:100GB及以上 分辨率:1280*800像素

2021-03-11 16:55:02 2145

原创 【鸿蒙】Harmony系统技术架构

技术架构总览HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如下所示。HarmonyOS的系统和Android一样,包含四层。内核层内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract L

2021-03-11 14:43:05 3781 2

原创 【鸿蒙】Harmony应用开发-目录导航

鸿蒙系统架构

2021-03-11 11:42:22 515

原创 c++ connect函数Address family not supported by protocol

问题:在c++中执行网络的connect函数,出现报错Address family not supported by protocol函数原型: int connect(SOCKET s, const struct sockaddr * name, int namelen);解决方法:结构体sockaddr:struct sockaddr { sa_family_t sa_family; char sa_data[14];};将结构体sockaddr的sa_family

2021-02-04 11:29:37 2104

原创 You need to use a Theme.AppCompat theme (or descendant) with this activity.

问题:Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.原因:Activty继承自android.support.v7.app.AppCompatActivty,而不是android.app.Activty。解决方法:方法一:使用Theme.AppCompat的主题android:theme

2021-01-29 10:00:46 125

原创 Android studio R8 编译报错

问题> Task :app:transformClassesWithDexBuilderForProduceDebugcom.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process /Users/closetou/Documents/ygej/app/build/intermediates/transfo

2021-01-22 17:26:33 6076 4

转载 问题解决 react-native android打包报错:Error: Duplicate resources

转载自:https://blog.csdn.net/qq_33466661/article/details/106901621问题react-native项目,在打Android包时,报错:Error: Duplicate resourcesFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':app:mergeReleaseResources'.> [ra.

2021-01-11 16:32:27 937

转载 面向报文(UDP)和面向字节流(TCP)的区别

转载自:https://blog.csdn.net/ce123_zhouwei/article/details/8976006面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率。若太短,会是IP太小。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这也就是说,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。面向字节流的话,虽然应用程序和TCP的交互是

2021-01-08 15:14:27 2885 1

ARouter基础踩坑demo

ARouter基础踩坑demo,简单几个类,先让ARouter跑起来再说。

2018-11-21

popWindow 7.0 8.0位置显示错误解决demo

popWindow 7.0 8.0位置显示错误解决方法demo,及对popWindow的简单封装

2018-11-21

signApk源码

android的singapk源码,方便大家查看和下载,理解其中的逻辑和精髓

2018-05-25

CVE-2015-1805漏洞验证

用于验证CVE-2015-1805漏洞,该漏洞攻击将导致部分手机出现崩溃重启和提权

2018-05-17

AndroidManifest文件格式解析调试代码

AndroidManifest文件格式解析调试代码,帮助大家更好的理解其中的解析细节

2018-01-04

从源码解析Context思维导图

详细总结了Context是什么?Android系统中Context的继承关系,不同Context源码分析,Context应用场景,getApplication和getApplicationContext区别。

2017-09-26

Activity销毁流程

Activity启动流程思维导图,详细整理了activity销毁的逻辑,使人快速看清activity的销毁逻辑。个人整理的东西,可能存在很多瑕疵,如有瑕疵,不是巧合。

2017-09-26

Activity启动流程思维导图

Activity启动流程思维导图,详细整理了activity启动的逻辑,使人快速看清activity的启动逻辑。个人整理的东西,可能存在很多瑕疵,如有瑕疵,不是巧合。

2017-09-25

tinker-patch-cli-1.8.1.jar

帮忙将tinker的合并补丁工具提供出来了。大伙可以简单时候这个可执行jar去生成2个不同版本apk之间的增量文件。

2017-09-23

获取目标字符串在源字符串第一次出现的下标Demo

获取目标字符串在源字符串第一次出现的下标Demo

2017-08-21

螺旋式遍历二维数组(矩阵)Demo

螺旋式遍历二维数组(矩阵)Demo

2017-08-21

RemoveElement算法Demo

RemoveElement算法Demo

2017-08-21

二维矩阵旋转90 demo

二维矩阵旋转90 demo

2017-08-21

杨辉三角(帕斯卡三角)算法demo

杨辉三角(帕斯卡三角)算法demo

2017-08-19

费波拉契算法demo

费波拉契算法demo

2017-08-18

ReverseInteger算法Demo

ReverseInteger算法Demo

2017-08-18

Two Sum算法调试小demo

Two Sum算法调试小demo

2017-08-17

Single Number调试用demo

给喜欢算法的同学准备的Single Number调试用demo。

2017-08-17

给初学者的java回调demo

给初学者的java回调demo,有了这篇demo,朋友们能更好地了解java的回调机制,也能手动debug。

2017-07-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除