日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > 項目實戰①―高仿知乎日報(0)-->NDK將私密數據隱藏起來

項目實戰①―高仿知乎日報(0)-->NDK將私密數據隱藏起來

來源:程序員人生   發布時間:2014-12-13 09:10:08 閱讀次數:4467次

①安卓程序員真的很累 

GAP ,NDK,說實話我基本算個了解的程度,如果你要準備加深安卓基礎的話,好吧,NDK是1道門坎,還有后面的 架構層,這尼瑪不花個1年你弄的定,GAP呢,如果你真要學的話,好吧,js css html5,還有web的框架,這尼瑪又是1年,你能學這些東西的條件,還是安卓基礎比較不錯的情況下,gap對快速開發是有著1定好處的,算了 不扯淡了,回到文章里面。


②開始學NDK加入到自己的項目里面

基于本人水平,暫時只能用NDK拿到隱藏1些APP的隱私數據,比如app的url連接,也算是1個小利用吧

1配置NDK環境 

你知道我對NDK環境的配置,最擔心的是啥不,就是ndk必備的cywin  PS:cywin是1款可以摹擬linux環境軟件
好了 到這里 大家可以移步到 android官網去下 NDK了。http://developer.android.com/

如果進不去呢,可以參考我這篇帖子
讓你能閱讀谷歌網站,仔細研究androidAPI======有獨立看英語谷歌文檔的能力
  
OK,  相信大家進了官網下NDK 還是會的 

解壓下載的android-ndk32-r10-windows-x86_64.zip,將其放到你想要的目錄下。

注:R7之前的版本,必須要安裝Cygwin才能使用NDK。從R7開始,Windows版本的NDK提供了1個ndk-build.cmd腳本,可以直接利用這個腳本編譯。想要做到這1 點,只要為Eclipse Android工程添加1個Builder,就可以實現Eclipse的自動編譯NDK,這1點在后面的步驟會有介紹。

2,建立1個項目 

然后單獨建立1個包 C 建1個類 API.java   注意這1句System.loadLibrary("api"); 它可以用來裝載庫文件,不論是JNI庫文件還是非JNI庫文件
api.java
package com.qf.teach.project.zhihudaily.c; public class API { static { System.loadLibrary("api"); } /** * 主題 * @return */ public static native String getThemesUrl(); /** * 歡迎圖片 * @return */ public static native String getStartImageUrl(); /** * 本日熱聞 * @return */ public static native String getLatestUrl(); /** * 歷史新聞<br /> * 返回的字符串需要使用String.format();方法格式化<br /> * 例如:String.format(API.getBefore(), "20141201"); * @return */ public static native String getBefore(); /** * 主題列表<br /> * 返回的字符串需要使用String.format();方法格式化<br /> * 例如:String.format(API.getTheme(), "11"); * @return */ public static native String getTheme(); /** * 詳情 * 返回的字符串需要使用String.format();方法格式化<br /> * 例如:String.format(API.getStory(), "4354228"); * @return */ public static native String getStory(); /** * 詳情-評論 * 返回的字符串需要使用String.format();方法格式化<br /> * 例如:String.format(API.getStoryExtra(), "4354228"); * @return */ public static native String getStoryExtra(); }
// String.format 將指定字符串中的每一個格式項替換為相應對象的值的文本等效項。

3,將NDK加入自己的項目了

1.生成java頭文件

接著就是重點了,在SRC目錄里建立1個jni的目錄,然后 找到api.java的目錄里 打開CMD 命令 輸入 javah api的類全名 
這模樣就會得到1個頭文件 ,然后將它拷貝放入 jni 目錄

2.編寫C語言代碼

有人說生成的頭文件都會出錯,我只能說,請留言 我把詳細教程發給你,按著步驟來,ndk環境 3分鐘弄定
好吧 我先給大家看看我的頭文件吧  
/* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class com_xiaoxin_ZhiHuDateNews_c_API */ #ifndef _Included_com_xiaoxin_ZhiHuDateNews_c_API #define _Included_com_xiaoxin_ZhiHuDateNews_c_API #ifdef __cplusplus extern "C" { #endif /* * Class: com_xiaoxin_ZhiHuDateNews_c_API * Method: getThemesUrl * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_xiaoxin_ZhiHuDateNews_c_API_getThemesUrl (JNIEnv *, jclass); /* * Class: com_xiaoxin_ZhiHuDateNews_c_API * Method: getStartImageUrl * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_xiaoxin_ZhiHuDateNews_c_API_getStartImageUrl (JNIEnv *, jclass); /* * Class: com_xiaoxin_ZhiHuDateNews_c_API * Method: getLatestUrl * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_xiaoxin_ZhiHuDateNews_c_API_getLatestUrl (JNIEnv *, jclass); /* * Class: com_xiaoxin_ZhiHuDateNews_c_API * Method: getBefore * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_xiaoxin_ZhiHuDateNews_c_API_getBefore (JNIEnv *, jclass); #ifdef __cplusplus } #endif #endif


 

復制java頭文件的代碼 
JNIEXPORT jstring JNICALL Java_com_xiaoxin_ZhiHuDateNews_c_API_getThemesUrl (JNIEnv *, jclass);

記住 加 env  thiz  也就變成這樣了
JNIEXPORT jstring JNICALL Java_com_xiaoxin_ZhiHuDateNews_c_API_getThemesUrl (JNIEnv *env, jclass thiz){

好啦 下面就是C代碼了
# include "com_xiaoxin_ZhiHuDateNews_c_API.h" JNIEXPORT jstring JNICALL Java_com_xiaoxin_ZhiHuDateNews_c_API_getThemesUrl (JNIEnv *env, jclass thiz){ return (*env)->NewStringUTF(env, "http://news-at.zhihu.com/api/3/themes"); } JNIEXPORT jstring JNICALL Java_com_xiaoxin_ZhiHuDateNews_c_API_getStartImageUrl (JNIEnv *env, jclass thiz) { return (*env)->NewStringUTF(env, "http://news-at.zhihu.com/api/3/start-image/480*728"); } JNIEXPORT jstring JNICALL Java_com_xiaoxin_ZhiHuDateNews_c_API_getLatestUrl (JNIEnv *env, jclass thiz) { return (*env)->NewStringUTF(env, "http://news-at.zhihu.com/api/3/stories/latest"); } JNIEXPORT jstring JNICALL Java_com_xiaoxin_ZhiHuDateNews_c_API_getBefore (JNIEnv *env, jclass thiz){ return (*env)->NewStringUTF(env, "http://news-at.zhihu.com/api/3/stories/before/%s"); }

類里面有1個 URL 也就是我要得到的URL在里面  
然后在復制1個Android.mk 進去 
代碼以下
# Copyright (C) 2009 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE⑵.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := api LOCAL_SRC_FILES := com_xiaoxin_ZhiHuDateNews_c_API.c include $(BUILD_SHARED_LIBRARY)

LOCAL_MODULE 這個是 java代碼調用的類的名稱,不是全類名~~~~~~~~?
LOCAL_SRC_FILES 是 jni下C代碼 是名稱不是全類名~~~~~~~~~~~~~~~


3.java和c的混合編譯 

其實再次之前都還沒跟NDK扯上關系 到這里就開始有關系了


新建并配置1個Builder

點擊Project->Properties->Builders->New,新建立1個Builder。在彈出的對話框上面點擊Program,OK!如圖所示




在彈出的對話框【Edit Configuration】中,配置選項卡【Main】:

Location中需要填入nkd-build.cmd的路徑(NDK安裝目錄下)。

Working Diretcoty中需要填入TestNDK的工程根目錄。如圖所示:

注:不要漏了




配置選項卡【Refresh】,如圖所示:

勾選“Refresh resources upon completion”,

勾選“The entire workspace”,

勾選“Recuresively include sub-folders”。


配置選項卡【Build Options】,如圖7所示:

勾選“After a Clean””,

勾選“During manual builds”,

勾選“During auto builds,

勾選“Specify working set of relevant resources”。

點擊“Specify Resources…”勾選TestNDK工程的“jni“目錄 ,Finish



然后你在按下 保存 eclipse就會自動幫我們編譯了  如果你看到下圖 說明你成功了


OK 下1節正式開始講 知乎日報的教程了~~~~~~~~~~~~~~~~~~```如果NDK配置環境出錯了,請給我留言 我發詳細教程給你



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品视频播放 | 91精品入口蜜桃 | 国产一区二区在线看 | 黄色大片在线免费看 | 亚洲h片 | 亚洲免费二区 | 麻豆视频在线 | 男女互操网站 | av一级在线 | 激情自拍网 | 国产专区精品 | 国产精品久久久久久久久久 | 国产精品1区 | 九九热精品视频在线播放 | 国产黄色在线观看 | 九九国产精品视频 | 欧美日韩天堂 | 国产精品美女久久久久aⅴ国产馆 | 日韩一区二区三区在线播放 | 国产黄在线看 | 久久久不卡 | 97av精品 | 国产日本视频 | 国产成人av一区二区三区 | 国产精品免费一区二区 | 成人观看 | 亚洲一级一级 | 68精品久久久久久欧美 | 成人免费一区二区三区视频网站 | 操操操网 | 国产搞逼视频 | 日韩一级免费 | 久久综合亚洲 | 中文字幕精品三区 | 综合av第一页| 国产成人在线观看免费网站 | av片在线看免费高清网站 | 欧美国产日韩在线 | 国产伦精品一区二区三区免 | 玖玖在线资源 | 欧美日韩国产中文 |