Android NDK编译错误解决

0x01 问题描述

现象: 将ndk版本升级到 17.0.4754217编译报错

1
2
3
4
5
6
* What went wrong:
Execution failed for task ':app+stub:transformNativeLibsWithStripDebugSymbolForRelease'.
> A problem occurred starting process 'command '/Users/Ivonhoe/Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip''

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
1
2
3
4
5
6
Caused by: java.io.IOException: Cannot run program "/Users/Ivonhoe/Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip" (in directory "/Users/Ivonhoe/Workspace/keyaccount-repo/app+stub"): error=2, No such file or directory
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
... 4 more
Caused by: java.io.IOException: error=2, No such file or directory
... 5 more

深入浅出JVM垃圾回收算法

在学习JVM如何进行垃圾回收方法时,发现所谓的JVM垃圾回收思想和现实生活的场景有很多相似的地方。所以用餐厅回收餐桌的方式类比JVM垃圾回收算法,应该能帮助JVM学习的理解和记忆。

拒绝单例模式

相信很多同学在学习设计模式的过程中,最先了解的就是单例模式,至少我是这样。单例模式看似简单容易理解,实际上却有很多坑,正因为这样也成为了很多公司面试必考的面试题。实际使用单例模式时,难免会遇到滥用的情况,理解单例更要学会何时拒绝单例。

HTTPS

https为什么安全?因为相对http的明文传输,https引入了数据加密和身份认证。服务器和客户端的消息只有服务器和客户端能够读懂,保证了数据的保密性。同时在交换数据之前,验证了对方的合法身份,保证了通信双方的安全。这篇总结主要记录了在理解https安全性的过程中遇到的问题。

Android插件化之Small框架原理

Small是一个轻量化的插件化框架,Small的使用介绍可以查看官网文档)了解,Small项目接入总结可以查看博客的另一篇《Small框架实践总结》。这篇文章主要从以下几个角度来看Small框架的实现原理。

  1. Small如何实现插件代码打包和资源打包
  2. Small加载插件代码和资源的原理
  3. Small代理插件activity生命周期的原理

Android插件化之Small框架实践总结

这篇文章主要总结了在使用Small框架改造老项目过程中遇到的问题和相应的解决方案,也总结了使用Small框架的基础知识点,并从一个使用者的角度来分析Small框架的优缺点。如果你的项目也面临业务模块耦合,边界不清晰,没有动态部署方案等等需要插件化方案来解决的问题,不妨先看下这篇文章再试一试Small框架,Small的功能未必全面但绝对聚焦了插件化框架需要解决的的核心问题。

什么是Small框架? Small是一个轻量级的插件化框架,Small也是一个dex分包方案,Small也是一个业务模块解耦方案,同时Small也是一个动态化加载和更新方案。先去看官网文档了解Small的基础知识~~

Small官网文档

Android安全之某团请求加密破解

本文记录了破解某外卖App http请求参数加密过程中遇到的问题和解决思路,实现的目标是希望是能够通过一些手段实现自由调用其服务接口。
这篇文章主要讲述什么?

  1. 静态分析和动态调试的基本方法和遇到的问题
  2. 如何听过修改android源码实现全局hook

捕获线程池任务异常引发的血案

今天遇到一个很诡异的问题,在多款Android 4.2.2版本的手机上发现处理后台任务的服务对前台请求毫无响应。这里的后台服务是一个RemoteService,目的为了处理更新&上传等任务。本来以为是跨进程组件间通讯出现兼容性问题,后来根据分析发现问题没有那么简单,这里记录下问题原因。

Android performance optimization tips

使用windowBackground实现应用秒开

1
2
3
4
<style name="SplashTheme" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<item name="android:windowBackground">@drawable/bg_splash_activity</item>
<item name="@android:windowAnimationStyle">@style/myact</item>
</style>

使用windowBackground减少过度绘制

1
2
3
4
5
<style name="AppMainTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:windowBackground">@color/white</item>
<item name="android:windowNoTitle">true</item>
<item name="@android:windowAnimationStyle">@style/myact</item>
</style>