[Android] Activity 和 SurfaceView 的生命周期
1、程序打开
Activity 调用顺序:onCreate()-onStart()-onResume()
SurfaceView 调用顺序: surfaceCreated()-surfaceChanged()
2、程序关闭(按 BACK 键)
Activity 调用顺序:onPause()-onStop()-onDestory()
SurfaceView 调用顺序: surfaceDestroyed()
3、程序切到后台(按 HOME 键)
Activity 调用顺序:onPause()-onStop()
SurfaceView 调用顺序: surfaceDestroyed()
4、程序切到前台
Activity 调用顺序: onRestart()-onStart()-onResume()
SurfaceView 调用顺序: surfaceChanged()-surfaceCreated()
5、屏幕锁定(挂断键或锁定屏幕)
Activity 调用顺序: onPause()
SurfaceView 什么方法都不调用
6、屏幕解锁
Activity 调用顺序: onResume()
SurfaceView 什么方法都不调用…...
[Android] APK 正式发布的安全选项设置
在 APK 正式发布时,有一些常见的安全选项需要设置:
1、禁止设置 debugable=true
取消前:取消后:1)Project -Build Automatically,即取消 Build Automatically
2)Project -Clean
3)Project -Build
4)Android Tools -Export Android application
2、禁止设置 allowBackup:
编辑 AndroidManifest.xml 文件,在 application 标签以及每个 activity 标签增加如下属性:
XHTML
android:allowBackup="false"
1
android:allowBackup="false"
3、检查 BroadcastReceiver 组件暴露风险
分为如下情形:
1)组件无需暴露
如果仅在应用内部通信,可以使用私有receiver。在AndroidManifest.xml为组件加上属性:
XHTML
android:exported="false"
1
android:exported="false"
该receiver可以接收相同应用程序组件或带有相同用户ID的应用程序所发出的消息。
2)组件需要暴露
分两种情况:
2.1)仅暴露给自己或同一公司的其他应用
方案A:
在AndroidManifest.xml为组件加上属性:
XHTML
android:protectionLevel="signature"
1
android:protectionLevel="signature"...
[Mac] Android 如何分析 Native Crash
0、系统环境
Mac OSX 10.11.6
Eclipse for Android 4.6.0
Android SDK v21
Android NDK r12d
1、环境安装
本文默认您已经安装了 Android SDK 和 NDK 开发包,其中安装目录分别为 ANDROID_SDK_PATH 与 ANDROID_NDK_PATH。
1)安装 ADB 工具(如已安装请跳到下一步):
检查你是否安装了 ADB 工具。打开 Window -Android SDK...
[Android] OpenCV v2.4.x Android 版本库编译
0、编译环境
Mac OSX v10.11.6
Android NDK r12b
CMake 3.0.2
OpenCV 2.4.9
1、编译方法
1)新建 Terminal 窗口,使用以下命令在环境变量中加入 NDK 地址,我这里使用 android-ndk-r12b 版本:
Shell
export ANDROID_NDK=~/my-android-ndk
1
export ANDROID_NDK=~/my-android-ndk
例如我的是:
Shell
export ANDROID_NDK=~/android-ndk-r12b/
1
export ANDROID_NDK=~/android-ndk-r12b/
2)进入你的 OpenCV 源码路径(我的版本是 2.4.9),进入 platform/scripts 目录:
Shell
cd platforms/scripts/
1
cd...
[Android] NDK 常见编译问题整理
1、错误:Are you sure your NDK_MODULE_PATH variable is properly defined ?
在编译 NDK 工程时候如果遇到如下类型的问题:
Android NDK: jni/clapack/SRC/Android.mk: Cannot find module with tag 'mymodule' in import path
Android NDK:...