Menu Home

android

android程序调用JNI

OS: MAC OS 10.7.5 Android: 4.3 NDK: android-ndk-r7c java: 1.6.0_51 使用JNI 在Eclipse中新建一个Android工程,假设项目目录为project,修改activity_main.xml 如下: <RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android” xmlns:tools=”http://schemas.android.com/tools” android:layout_width=”match_parent” android:layout_height=”match_parent” android:paddingBottom=”@dimen/activity_vertical_margin” android:paddingLeft=”@dimen/activity_horizontal_margin” android:paddingRight=”@dimen/activity_horizontal_margin” android:paddingTop=”@dimen/activity_vertical_margin” tools:context=”.MainActivity” > <TextView android:id=”@+id/showText” android:layout_width=”wrap_content” android:layout_height=”wrap_content” /> </RelativeLayout> MainActivity.java: package net.lnmcc.usejni; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity { // 加载JNI库 static […]

使用命令行工具构建android apk

新建工程 查看构建目标 输入下面的命令查看所以可构建目标: $android list targets 可能的输出: Available Android targets: ———- id: 1 or “android-3” Name: Android 1.5 Type: Platform API level: 3 Revision: 4 Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P ABIs : armeabi ———- id: 2 or “Google Inc.:Google APIs:3” Name: Google APIs Type: Add-On Vendor: Google Inc. […]

android平台YUV420SP到RGB565的转换

/** * @param yuvDataArray * @param width * @param height * @return int[] : ARGB array * @throws NullPointerException * @throws IllegalArgumentException */ private static int[] decodeYUV(byte[] yuvDataArray, int width, int height) throws NullPointerException, IllegalArgumentException { int size = width * height; if(yuvDataArray == null) throw new NullPointerException(“buffer yuvDataArray is […]

Android下编译OTA升级包

ref : http://blog.csdn.net/llping2011/article/details/9471913 概念介绍 我们知道Android系统一般可以通过本地升级和空中升级两种,一般本地升级包括SD卡升级、U盘升级、串口升级等。而所谓的空中升级就是通过网络将升级包下载升级包到本地,进行升级。 而OTA升级作为Android系统提供的标准软件升级方式,同时支持本地升级如SD卡或U盘 和 空中升级如网络。OTA升级一般分为全包升级和差分升级。 全包升级:编译当前系统得到的软件包,不依赖于当前手机里的软件版本 差分升级:对手机两个软件版本做差分,在第一个版本上打patch得到第二个升级包,所以差分升级只能对第一个版本的机器进行升级 编译方法 在源码根目录下执行: make otapackage 注意:执行这句命令之前需要在根目录下make编译整个源码。 在out/target/product/$(PRODUCT_NAME)/$(BUILD_NAME)-target-files-$(BUILD_NUMBER).zip文件,其中$(PRODUCT_NAME)是编译产品名字,$(BUILD_NAME)是编译的版本名字,$(BUILD_NUMBER)一般是编译的版本号。以我的fsl的Qiyi版本为例。 生成文件目录为:out/target/product/sabresd_6dq/Qiyi-target-files-20130725.zip文件 拷贝到U盘下的upgrade目录下即可(有的是直接拷贝到U盘根目录下,各个代码不一样)。

android 触摸和鼠标模式切换

Android os : > 4.0 android 4.0以后,触摸屏的触摸模式和鼠标模式使用idc文件来做切换。 需要把触摸屏设备的相应idc文件放到 /system/usr/idc/ 目录下。 如下是IRTOUCH Vendor_6615_Product_0085.idc文件的内容: # Copyright (C) 2012 Beijing IRTOUCH SYSTEMS Co.,Ltd # # # Input Device Configuration File for the IRTOUCH touch screen. # #common device.internal = 1 # Basic Parameters touch.deviceType = touchScreen touch.orientationAware = 1 # Size touch.size.calibration = […]

android编译错误 : android the correct version is 1.6

android编译错误 : android the correct version is 1.6 OS : ubuntu10.04  64bit 问题 android编译过程中报错: You are attempting to build with the incorrect version of java. Your version is: java version “1.6.0_22”. The correct version is: Java SE 1.6. 解决 从java官方地址http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-1501634.html 下载Java SE Development Kit 6 Update 31文件 移到/opt目录下 执行 chmod +x […]

android 自动设置mtu

android 自动设置mtu os : android 4.0.4 kernel : 3.0.8 重新挂载system目录为可读: mount -o remount,rw /system 在/system/etc/ip-up 文件中加入下面这行(NAME是你需要设置mtu的设备,如eth0, ppp0等): /system/bin/ifconfig $NAME mtu 1400 注:如果你使用了busybox,需要使用下面的命令: busybox ifconfig $NAME mtu 1400