
编译
文章平均质量分 50
fyfcauc
这个作者很懒,什么都没留下…
展开
-
GCC编译之如何控制共享文件导出符号
背景前不久在调试一个与导出符号相关的bug,问题大概如此:模块A.so在堆上构造了一个对象即 CTest *one = new CTest; , CTest在A.so定义,后来使用one->AMemFunc();,即调用一个成员函数时崩溃。原来在另一个模块B.so(比A.so先加载)中,也有一个同名的CTest定义,但是却没有一个叫AMemFunc的成员函数,因此崩溃。那为什么A.so转载 2014-07-17 10:10:09 · 552 阅读 · 0 评论 -
android 通过eclipse混淆代码 打包 + proguard 总结
android应用程序的混淆打包1 . 在工程文件project.properties中加入下proguard.config=proguard.cfg , 如下所示:target=android-8proguard.config=proguard.cfgEclipse会通过此配置在工程目录生成proguard.cfg文件 2 . 生成keysto转载 2015-02-05 21:22:58 · 741 阅读 · 0 评论 -
Android签名详解(debug和release)
http://www.cnblogs.com/ok-lanyan/archive/2013/04/02/2995462.html1. 为什么要签名1) 发送者的身份认证由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换2) 保证信息传输的完整性签名对于包中的每个文件进行处理,以此确保包中内容不被替换3) 防止交易中转载 2015-02-06 11:13:44 · 632 阅读 · 0 评论 -
Android NDK开发指南(一) Application.mk文件
From: http://www.cnblogs.com/yaozhongxiao/archive/2012/03/06/2381586.htmlApplication.mk目的是描述在你的应用程序中所需要的模块(即静态库或动态库)。Application.mk文件通常被放置在 $PROJECT/jni/Application.mk下,$PROJECT指的是您的项目。 简介转载 2015-02-06 11:27:03 · 556 阅读 · 0 评论 -
Android STL PORT
From: http://www.cnblogs.com/yaozhongxiao/p/3806494.htmlndk中包含了stl对应的库,在$(NKD_HOME)/sources/cxx-stl/stlport/stlport有关Android NDK的C++ STL开发相关总结如下:从Android NDK r5开始支持了STL Port,在这个版本开始就可以使用部分转载 2015-02-06 11:44:20 · 694 阅读 · 0 评论 -
Android.mk文件语法规范及使用模板
http://blogold.chinaunix.net/u3/99423/showart_2206760.html Android.mk文件语法规范及使用模板Android.mk文件语法规范根据eoeandroid上的的连载,进行一些更新、修改和加亮。今天翻译ANDROID-MK.TXT文件(英文原文件在/development/Ndk/Docs/android-mk转载 2015-01-20 13:33:20 · 425 阅读 · 0 评论 -
Android程序自动化打包
From: http://blog.youkuaiyun.com/nomousewch/article/details/21984361注意key.alias要给成自己的key alias概述 在一般的Android开发中,我们通常使用Eclipse自带的导出工具来进行App的签名和发布,Android自动化打包,就是利用脚本将这样一个手动操作的过程转化为一个命令搞定。转载 2015-03-17 17:50:09 · 408 阅读 · 0 评论 -
Eclipse中,Add Jars与Add Library的区别
From:http://blog.youkuaiyun.com/gaojinshan/article/details/16948075Eclipse中,工程属性的Java Build Path的Library标签页下,有如下几个按钮:Add Jars...添加JAR包,是指本Eclipse当前包含的工程中的,在工程列表下选取即可Add External Jars...添加外部的JA转载 2015-01-26 10:14:51 · 1833 阅读 · 0 评论 -
java javac jar 使用
虽然java现在搞的也挺多了,但是像当初自己被VB误入歧途直接IDE上手一样,对于java的控制台级别的命令用的其实很少,因为加入到一个项目中,除非项目是从头搭建,或者涉及到比较多的编译修改,否则基本是不会专门去碰控制台命令的,以及相关的选项的,就像搞c++时,g++的option一堆一堆,但是往往常用就那么几项,并且makefile文件之后也不会怎么动选项。这次就专门小用一把记录一下:原创 2014-12-11 16:24:10 · 742 阅读 · 0 评论 -
用Gradle 构建你的android程序
From: http://www.cnblogs.com/youxilua/archive/2013/05/20/3087935.html用Gradle 构建你的android程序前言android gradle 的插件终于把混淆代码的task集成进去了,加上最近,android studio 用的是gradle 来构建项目, 下定决心把android gralde 构建项目的转载 2015-03-30 15:19:33 · 480 阅读 · 0 评论 -
Linux下安装SVN客户端
From: http://blog.youkuaiyun.com/fengyily/article/details/366497111、下载[maintain@HM16-213 software]$ wget http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.bz2[maintain@HM16-213 softwar转载 2015-04-03 12:35:17 · 470 阅读 · 0 评论 -
多渠道打包,APKtool 以及 meta data 的一些坑
最近搞多渠道打包,参考了下美团的方案,为尽可能的快,使用了向META-INF直接写入空文件的方法,不过在Testin上测试时,遇到了一个问题: * TestIn在某些情况下会对APK包进行拆包重打(应该是为了嵌入自动化测试框架),这样META-INF整个文件夹都会被干掉,自然写的渠道空文件也没了,取不到渠道号,当然,这个情况是比较特殊的情况,不过当时为了确保万一,还是换成了拆包重打的多渠道包生成方原创 2015-06-12 16:43:47 · 1593 阅读 · 0 评论 -
AndroidStudio 使用本地Maven仓库
Android项目直接使用本地aar。 开发过程中有直接使用本地aar的调试需求,Android Gradle插件目前不支持直接以compile file的形式将aar引入(目前似乎只支持Jar)。查询到的有两种方式: 在repositories中增加flatDir设定为aar的所在目录,然后通过在dependencies中增加compile(name: ‘aar库的名称’, ext: ‘aar原创 2017-04-14 18:17:18 · 14438 阅读 · 0 评论 -
Android 集成 OpenCV native library
Android集成OpenCV native library: 目前来看,OpenCV提供的SDK中已经附带了编译好的.a和.so库,使用者可以根据自己的需要选择动态或者静态库链接。OpenCV SDK下载地址: http://opencv.org/releases.html选择对应版本的Android pack下载。解压开会发现有一个sdk目录(这里以3.0.0版本为例)。sdk/nat原创 2017-04-10 18:23:12 · 3420 阅读 · 1 评论 -
工作积累之NDK编译STL
From: http://blog.youkuaiyun.com/startwithdp/article/details/7050732 方法:1.在jni目录下新建Application.mk; 加入 APP_STL := stlport_static 右边的值还可以换成下面几个:system - 使用默认最小的C++运行库,这样生成的应用体积小,内存占用小,但部分功能将无法支持st转载 2015-02-06 11:46:09 · 391 阅读 · 0 评论 -
gcc/g++中生成map文件
gcc/g++中生成map文件在通过gcc/g++间接调用链接程序ld时,所有的ld选项前必须加上“-Wl,”,因为-Map是ld的选项。所以,要让g++生成mapfile,需要增加编译参数“ -Wl,-Map,mapfile”。例:gcc -o helloworld helloworld.c -Wl,-Map,helloworld.map转载 2015-02-06 11:48:45 · 2348 阅读 · 0 评论 -
Eclipse与Android源码中ProGuard工具的使用
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解。下面将自己的理解和认识简要的做个笔记,有异议或者不解的,可以直接留言。什么是ProGuard工具?ProGuard是android提供的一个免费的工具,它能够移除工程中一些没用的代码,或者使用转载 2015-02-06 11:22:32 · 496 阅读 · 0 评论 -
R_X86_64_32 & could not read symbols: Bad value编译
在suse64位平台上,libx a是一个静态库,可以编译成功,但另一动态库链接它时报如下错误: usr lib64 gcc x86_64-suse-linux 4 1 0 x86_64-suse-linux bin ld: usr local libx a(z o): relocatio在suse64位平台上,libx.a是一个静态库,可以编译成功,但另一动态库链接它时报如下错误:转载 2014-09-23 11:24:28 · 599 阅读 · 0 评论 -
-fno-rtti -fno-exceptions
-fno-rtti 禁用运行时类型信息-fno-exceptions 禁用异常机制一般只有对程序运行效率及资源占用比较看重的场合才会使用, 如果要做这两个的话最好连libstdc++和其他所有的的c++库都用这两个参数重新编译一遍, 否则光是你自己的程序禁用了这两个特性, 而别的库依然开着, 效果就大打折扣了转载 2014-09-23 12:13:13 · 7065 阅读 · 0 评论 -
gcc编译参数-fPIC的一些问题
From: http://blog.sina.com.cn/s/blog_54f82cc201011op1.htmlppc_85xx-gcc -shared -fPIC liberr.c -oliberr.so-fPIC作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code), 则产生的代码中,没有绝对地址,全部使用相对地址,故而代码转载 2014-09-23 12:16:32 · 494 阅读 · 0 评论 -
__STDC_LIMIT_MACROS 和 __STDC_CONSTANT_MACROS
Question:I see this in the standard C++ libraries for my system, as well as some of the headers in a library I'm using.What are the semantics of these two definitions? Is there a good reference fo转载 2014-09-23 12:24:01 · 648 阅读 · 0 评论 -
gcc 编译选项
在这个文档里记录一些常用的gcc转载 2014-09-24 20:40:30 · 478 阅读 · 0 评论 -
实战Makefile.am
实战Makefile.amMakefile.am是一种比Makefile更高层次的规则。只需指定要生成什么目标,它由什么源文件生成,要安装到什么目录等构成。表一列出了可执行文件、静态库、头文件和数据文件,四种书写Makefile.am文件个一般格式。表 1Makefile.am一般格式对于可执行文件和静态库类型,如果只想编译,不想安装到系统中,可以用noinst_PROGR转载 2015-01-28 14:06:04 · 517 阅读 · 0 评论 -
Android.mk file syntax specification
From: http://www.kandroid.org/ndk/docs/ANDROID-MK.htmlIntroduction:This document describes the syntax of Android.mk build file written to describe your C and C++ source files to the AndroidNDK.转载 2014-12-04 11:10:19 · 495 阅读 · 0 评论 -
android应用之——为自己的apk签名
1.为何需要签名 每个发布的应用都有自己的一个唯一合法的ID,这个就是应用自身的签名,签名可以保证你软件升级的一致性,使用相同签名的应用可以实现覆盖安装,而不一致的签名将无法共享使用数据,也即是无法覆盖安装,这样可以防止别人篡改,盗用开发者的应用,造成对开发者利益的损害。那么如何为自己的应用进行签名呢? 2.APK签名之两步走 a.创建一个key b.使用步骤a中产生的k转载 2014-12-08 16:11:36 · 428 阅读 · 0 评论 -
android命令行打包、签名+自动打包器
From: http://blog.youkuaiyun.com/chenfeng0104/article/details/7169198本文主要讲解使用命令行打包android工程成apk文件,我的android工程结构如图1.创建key: 使用keytool.exe(位于%JAVA_HOME%\bin\keytool.exe)创建xxx.keystore,在命令行输入:ke转载 2014-12-09 15:24:47 · 526 阅读 · 0 评论 -
linux编译与链接的知识
linux下编译hello.c 程序,使用gcc hello.c,然后./a.out就可以运行;在这个简单的命令后面隐藏了许多复杂的过程,这个过程包括了下面的步骤宏定义展开,所有的#define 在这个阶段都会被展开 预编译命令的处理,包括#if #ifdef 一类的命令 展开#include 的文件,像上面hello world 中的stdio.h , 把stdio.h中的所有代码合并到转载 2015-02-04 11:51:41 · 522 阅读 · 0 评论 -
使用javac java命令时如何导入需要的lib
使用javac java命令时如何导入需要的lib 有时候为了测试某个东东,我们直接使用javac和java命令来编译和运行我们临时写出来的测试类。如果这个测试类用到了别的jar包怎么办呢?我们可以使用-classpath或者-cp参数来导入这些需要的包。 假定:有测试类f:\Test.java,它用到的lib分别是c:\abc.jar和d:\efg.j转载 2014-12-11 16:10:40 · 3288 阅读 · 0 评论 -
JDK中的 javac / java / jar 命令
From: http://www.cnblogs.com/pengxl/archive/2010/12/10/1902082.html测试项目test结构:Test.java:12345678910package cn.pxl;import en.B;public class转载 2014-12-11 16:12:52 · 651 阅读 · 0 评论 -
【Android】引用第三方库引发“Android: NoClassDefFoundError”错误的解决方法
转自:http://gdgzzch.blog.163.com/blog/static/37640452201292023755606/http://blog.youkuaiyun.com/encienqi/article/details/7847858今天遇到的奇怪问题是网上下载的demo导入第三方包运行后Android: NoClassDefFoundError的错误,原因是第三方的jar包并没有打转载 2014-12-11 15:00:02 · 789 阅读 · 0 评论 -
Eclipse引入jar包的三种方式
From: http://chenxu.wo.blog.163.com/blog/static/50239687201162310620634/使用Eclipse开发应用程序,少不了使用第三方jar包,而每次引入jar包都是一个不小的问题,不仅那些jar包的位置经常弄不清楚,而且很浪费时间。鉴于此,我列举了三种常用的jar包引入方式,其中第一种是我们最常用的普通操作方式,而第二种和第三种则转载 2014-12-11 15:59:31 · 642 阅读 · 0 评论 -
Assimp编译实录
Assimp相关:Assimp(https://github.com/assimp/assimp)是一个轻量级的3D模型解析和转换库,支持40+的格式,一些小的3D引擎会使用其作为自己的模型解析加载模块,受众相对比较广泛。该库一直保持着更新,尽管ISSUE不少,不过从目前的小范围使用情况来看,可靠性还可以接受Assimp Android端编译:Assimp本身提供了Andr原创 2017-05-22 17:07:36 · 5917 阅读 · 6 评论