make: *** No rule to make target 问题汇总

常见版本:https://blog.csdn.net/roserose0002/article/details/38397537 乾坤大挪移,全部搬过来: 在用Tornado编译的时候,遇到编译器报如下错误:  make: *** No rule to make target `e:/Tornado2.2_Project/FTTB/utils/h/nos/nos_cli.h’, neede d by `onu07_snmp_cli.o’.  Stop. 错误原因:makefile里面的文件依赖关系有问题,导致头文件找不到。 解决办法:打开编译相关模块的makefile文件,找到.o文件的依赖关系,找到.h文件的路径,查看是否出错并改正。 原因分析:这种情况有时候是因为工程所在的目录改变 ......

Android Ble蓝牙开发(客户端)

最近项目里面需要集成一个蓝牙的连接功能,作为一枚刚刚毕业不久的新生,大学几年又白过的。只好在几天内搜搜百度,脑补一下。文章部分内容摘至各大Blog,加上本dust的见解,写了一份Client端和Service端的小呆毛。 参考链接–Link:http://m.blog.csdn.net/article/details?id=50504406 先来叨叨下历史 蓝牙我们应该很早就听过,最常见的就是原来我们偶尔通过手机上的蓝牙来传输文件。貌似在低功耗蓝牙(Bluetooth Low Energy)出现之前,蓝牙我们使用的并不多,蓝牙的产品貌似也不是很多。2010年6月30号蓝牙技术联盟推出了低功耗 ......

android.mk中引用第三方库的方法

一、集成第三方jar包: 1.在项目目录下创建目录libs(不创建也行,一会儿指向对应路径就好),将第三方的jar包放进去。 2.在Android.mk文件中进行配置: include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := smartphotolib:../../libs/smartphotolib.jar #前面为自定义的名(umeng_message_push),起什么名都可以,“:”后面的为jar包在项目下对应的路径。 include $(BUILD_MULTI_PREBUILT) 3.引用,在LOCAL_STATIC_JAVA_LIBRARIES中加入smartphotolib 即可 LOCAL_STATIC_JAVA_LIBRARIES := smartphotolib 或 ......

Android兼容(Nougat-7)-FileProvider

需要阅读官方文档请移步: https://developer.android.com/about/versions/nougat/android-7.0-changes.html 权限更改 Android 7.0 做了一些权限更改,这些更改可能会影响您的应用。 系统权限更改 为了提高私有文件的安全性,面向 Android 7.0 或更高版本的应用私有目录被限制访问 (0700)。此设置可防止私有文件的元数据泄漏,如它们的大小或存在性。此权限更改有多重副作用: 私有文件的文件权限不应再由所有者放宽,为使用 MODE_WORLD_READABLE 和/或 MODE_WORLD_WRITEABLE 而进行的此类尝试将触发 SecurityException。 ......

Android NDK之JNI陷阱

Android NDK(native develop kit)内容。这里只想记录下JNI(java native interface)经常遇到到问题。 问题1.  忘记delete local reference。带New到方法(如:NewByteArray)这样到方法比较好辨认,需要手动调用DeleteLocalRef()来释放(返回值除外)。比较特殊的一个方法是:GetByteArrayELement必须要调用ReleaseByteArrayElements进行释放。当然如果你只是取bytearray中到byte,那么完全可以用GetByteArrayRegion实现。 问题2. 没有NewGlobalRef。 在不同线程调用java方法,需要保存jobject对象,这时需要对jobject对象做全局引用, ......

Android Studio你必须学会的快捷键(Eclipse转AS必看)

前言:从Eclipse转到Android Studio之后,一开始把keymap设置成Eclipse,却发现有些常用的快捷键都失效了,大概是冲突了。想了下,觉得与其重新设置快捷键,不如去适应AS的快捷键,毕竟听说AS新增了好些有用的快捷键。于是把keymap又改回Default。事实也证明,熟悉起来还是挺快的,大概花了两天时间,就能很熟练了。以下是个人整理的Eclipse和AS的常用快捷键对照表,方便刚转AS的小伙伴们快速入手。 功能 Eclipse Android Studio 快速查找类、文件 Ctrl + Shift + T/R Ctrl + N 、Ctrl + Alt + N 查找、替换 Ctrl + F Ctr ......

JNI的某些数组和字符串类型转换

jbytearray转c++byte数组 C代码   jbyte * arrayBody = env->GetByteArrayElements(data,0); jsize theArrayLengthJ = env->GetArrayLength(data); BYTE * starter = (BYTE *)arrayBody; jbyteArray 转 c++中的BYTE[] C代码   //jbytearray strIn jbyte * olddata = (jbyte*)env->GetByteArrayElements(strIn, 0); jsize  oldsize = env->GetArrayLength(strIn); BYTE* bytearr = (BYTE*)olddata; int len = (int)oldsize; C++中的BYTE[]转jbyteArray C代码   //nOutSize是BYTE数组的长度 BYTE pData[ ......

Java层与Jni层的字节数组传递【适用于其他基本类型数组】

Android开发中,经常会在Java代码与Jni层之间传递数组(byte[]),一个典型的应用是Java层把需要发送给客户端的数据流传递到Jni层,由Jni层的Socket代码发送出去,当然,Jni层也需要把从Socket接收到的数据流返回给Java层。我简单地总结了一下,从Java层到Jni层,从Jni层到JAVA层,各有3种传递方式,下面用代码示例简单地介绍一下。 示例代码的主要文件有两个,一个是Native.java,是Java层的类;另一个是Native.c,是JNI层的文件,关键的地方我都用注释添加到代码中了,完整的代码见博文后面的附件。 一、 从Java传递数组到Jni层 ......

Android获取Mac地址,兼容6.0以下,6.0-7.0、7.0以上三种情况

package com.uiuno.tools.common; import java.io.BufferedReader; import java.io.FileReader; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.io.Reader; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; import android.content.Context; import android.content.pm.PackageManager; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; ......

hPrivacy Policy

hPrivacy Policy General Description This privacy policy describes how we and our other group companies (referred to collectively in this policy as ‘we’, us’ and ‘our’) collect, use, process and share information that we collect about you. If you choose to use our product (including games, websites, advertising activities and other services), it means that you acknowledge and accept the terms of the existing content and probably updating content.   This p ......

Android 开发之接入Google支付

众所周知,Google Play是Google Android官方的应用商店,也是将应用发布到世界各地一个重要的渠道。支付作为盈利的一个重要手段,可以借助Google in-app Billing api来达到目的。 Google Play in-app Billing的接入过程需要阅读接入文档。官方的接入文档地址为: https://developer.android.com/google/play/billing/api.html (1)Google Play开发者控制台 Google Play开发者控制台是管理应用,配置商品和发布的后台。参考地址为: https://developer.android.com/distribute/googleplay/developer-console.html Google Play的帮助 ......

给 Android 开发者的 RxJava 详解

需阅读原文请点击:http://gank.io/post/560e15be2dca930e00da1083 前言 我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJava 到底是什么? 鉴于 RxJava 目前这种既火爆又神秘的现状,而我又在一年的使用过程中对 RxJava 有了一些理解,我 ......

Android 在 Eclipse 项目中使用 Leakcanary 内存泄露检测

一、前言 Leakcanary 是 Square 公司推出的一款开源项目,如果说没听说过 Leakcanary 的话,那 Square 的其他产品应该有听说过吧,曾推出过 okhttp,retrofit,picasso 等开源项目。Leakcanary 呢,是用于检测项目的内存泄露的,使用起来也很简单,但是这个项目是用于 Android Studio 的,至于 在 Android Studio 里怎么使用这里就不说了,打开上面的 Leakcanary 那个 Github 链接里面有说,由于一些人习惯用 Eclipse,或者一些之前在 Eclipse 中开发的老项目还没转成 Android Studio 的那怎么用这个 Leakcanary来检测内存泄露 ......

JNI与C++的数据类型转换

std::string转jstring jstring ToJString(JNIEnv* env, const std::string& value) { return env->NewStringUTF(value.c_str()); } jstring转std::string std::string ToCppString(JNIEnv* env, jstring value) { jboolean isCopy; const char* c_value = env->GetStringUTFChars(value, &isCopy); std::string result(c_value); if (isCopy == JNI_TRUE) env->ReleaseStringUTFChars(value, c_value); return result; } bool转jboolean jboolean ToJBool(bool value) { return valu ......

Android适配——drawable和values的加载规则

Google搞了一大套 dip、sp、mdpi、hdpi、xhdpi之类的这些东西,简单说来,就是为了让我们轻松实现“与设备密度无关的视觉大小一致性”,这里需要明确的“视觉大小一致性”,就是说无论是在手机、低分辨率平板、高分辨率平板上,这个控件或者图片在物理尺寸上都是一样的。 这里我们借 @雨打萍 的一张图片来看看: (出处: http://blog.csdn.net/xiebudong/article/details/37040263) 其中,黑色和蓝色矩形的视觉大小就是一致的。 另外一个需要明确的是屏幕密度、分辨率、物理尺寸之间的关系: 以一个分辨率为1920×1200,物理尺 ......

Android P预览版发布,新特性不容错过!

文章转载至:http://club.huawei.com/thread-15344398-1-1.html 导读: 北京时间2018年3月8日,谷歌Android P开发者预览版在万众瞩目中发布,安卓绿色联盟邀请华为专家为广大开发者及各大加固厂商解读P版本中那些不容错过的新特性。华为终端开放实验室也将围绕P版本开展一系列的测试、交流活动,欢迎关注!     Android P 应用适配新特性 1  Private API     Android P 禁止应用通过发射调用系统hide标注的类、方法和属性,加入黑名单的私有接口被反射调用会返回null或者出现异常。     从目前的情况来看黑名单是空 ......

Android热更新技术的研究与实现(三)

微信 Tinker 看完上面的Qzone超级补丁方案,我们不禁会想有没有那么一种方案,能做到开发透明,但是却没有QZone方案的缺陷呢?肯定是有的,比如我们完全可以使用新的Dex,那样既不出现Art地址错乱的问题,在Dalvik也无须插桩。当然考虑到补丁包的体积,我们不能直接将新的Dex放在里面。但我们可以将新旧两个Dex的差异放到补丁包中,最简单我们可以采用BsDiff算法。 Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。 Tinker和以往的HotFix库思路不太一 ......

Android热更新技术的研究与实现(二)

Sophix—阿里终极热修复方案 不过阿里作为大厂咋可能没有个自己的热更新框架呢,所以阿里爸爸最近还是做了一个新的热更新框架SopHix 巴巴再次证明我是最强的,谁都没我厉害!!!因为我啥都支持,而且没缺点。。简直就是无懈可击! 那么我们就来项目集成下看看具体的使用效果吧! 先去创建个应用: 获取AppId:24582808-1,和AppSecret:da283640306b464ff68ce3b13e036a6e 以及RSA密钥**。三个参数配置在application节点下面: <meta-data android:name="com.taobao.android.hotfix.IDSECRET" android:v ......