linux-android移植开发

来源:互联网 发布:sql游标的用法 编辑:程序博客网 时间:2024/05/19 02:30


资料

linux基本命令
--------------------------------------------------------------
与windows共享目录:
[sudo] mount -t vmhgfs .host:/ /mnt

安装程序:
apt-get  install  **
yum  **
alien *.rmp   ,然后,dpkg -i  **.
rpm -ivh  *
 
文件安装:./configure --prefix=./    make install
或:gz:tar  -xzvf  *
bz2:tar jxvf


配置文件:
source ~/.sh或
. /etc/profile

修改文件权限:
chmod  755  *
chmod  -R 777 *

查看目录:
pwd
ls -al显示权限

collect2: ld terminated with signal 7 [Bus error], core dumped
不可放在共享目录下编译。

加载路径:
export  PATH=$PATH:path

释放内存:
sync
echo 1 >sodu /proc/sys/vm/drop_caches
echo 0 >sodu /proc/sys/vm/drop_caches

0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存
查看内存:
free -m

编译运行命令
------------------------------------------------------------------------
编译成release版本
cmake -DCMAKE_BUILD_TYPE="Release" ../../SmartDeviceLink/sdl_release_3.2


java开发
-------------------------------------------------------------------------
java调用库(JNI):javah  -jni com.*.XXX 或 javah -classpath bin/classes  -d jni com.*.XXX


执行文件或库
---------------------------------------------------------------------------
反编译:
???
观察函数信息:nm  -A   *或nm -D  *
观察依赖的库:depends *

库使用:dlfcn.h
打开库文件:handle=dlopen(char *path,RTLD_LAZY)
释放库内存:dlclose(handle)
读取信息:dlsm(handle,char func_name)


模块机制
-----------------------------------------------------------------------------------




Android开发
--------------------------------------------------------------------------------
创建工程:android create project --name  proname  --target android-19  --path  ./  --package  com.proname --activity  activity_name
更新工程:android update  project  --name  proname  --target android-19  --path  ./  --package  com.proname --activity  activity_name

编译:ndk-build  NDK_DEBUG=1或将AndroidManifest.xml 中android:debuggable=true

生成build.xml:android update project -p ./ -t android-19
生成APK调试运行:ant debug install  (ant clean debug install 清除安装)
  * debug:带调试用签名的构建
     * release:构建应用程序,生成的apk必须签名才可以发布
     * install:安装调试构建的包到运行着的模拟器或者设备;
     * reinstall
      * uninstall
制作签名:keytoo -genkey -alias asaiAndroid.keystore -keyalg RSA
-validity 20000 -keystore asaiAndroid.keystore
-alias 后面跟的是别名这里是 asaiAndroid.store
-keyalg 是加密方式这里是RSA
-validity 是有效期 这里是20000
-keystore 就是要生成的keystore的名称 这里是asiAndroid.keystore
/*说明:-genkey 产生密钥
 -alias demo.keystore 别名 demo.keystore
 -keyalg RSA 使用RSA算法对签名加密
 -validity 40000 有效期限4000天
 -keystore demo.keystore */
运行命令给APK签名:
jarsigner -verbose -keystore asaiAndroid.keystore -signedjar Lotteryonline_signed.apk LotteryOnline.apk asaiAndroid.keystore
-keystore: keystore的名称

Android调试
-------------------------------------------------------------------------------------------------
调试:ndk-gdb(如果没有运行用:ndk-gdb --start)
调试相关:list:查看源文件;file  *.so来关联库文件;break:设置端点;info breakpoints:查看端点信息;continue:继续运行


Mk文件语法
----------------------------------------------------------------------------------





0 0