Category: Android开发

[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:...