編輯:關於Android編程
1)打開Android開發者的官網www.2cto.com/找到Develop點擊。
2)進入後再點擊Tools
3)進入後在左側找到NDK點擊,可以見到各種平台的NDKr10,選擇需要的下載。
5)解壓下載的android-ndk32-r10-windows-x86_64.zip,將其放到你想要的目錄下。
注:R7之前的版本,必須要安裝Cygwin才能使用NDK。從R7開始,Windows版本的NDK提供了一個ndk-build.cmd腳本,可以直接利用這個腳本編譯。想要做到這一點,只要為Eclipse Android工程添加一個Builder,就能實現Eclipse的自動編譯NDK,這一點在後面的步驟會有介紹。
6) NDK實例的實現
啟動Eclipse,新建Android工程(此處名為TestNDK)
7)在TestNDK工程的根目錄下新建文件夾jni,之後找到NDK的安裝目錄(sampleshello-jnijni)下的 Android.mk和hello-jni.c 這兩個文件,將其拷貝到TestNDK->jni文件夾下面。
注:如果你很好奇jni文件夾裡的hello-jni.c裡的函數命名如此刁鑽,是怎麼寫的,並且你如果你想的更遠,已經在考慮自己以後怎麼寫這種文件,那麼我告訴你它裡面的函數命名是直接粘貼的一個頭文件裡的內容。這個頭文件可以通過反編譯下邊提到的HelloJni.java得到。如果你以後要確實要進行NDK開發,那麼你肯定要掌握反編譯的方法。為了你能夠少走彎路,推薦我的另一篇文章《1分鐘攻克NDK開發中javah不能反編譯的問題》,鏈接網址http://blog.csdn.net/golden1314521/article/details/23039417 。
8) 找到NDK的安裝目錄(sampleshello-jnisrccomexamplehellojni)下的HelloJni.java文件,將其拷貝到TestNDK工程src文件夾對應的包下。
9) 修改項目文件AndroidManifest.xml,將activity標簽下的android:name =“com.zhw.testndk. MainActivity”修改為 android:name =“com.example.hellojni.HelloJni”。(注:此處的
TestNDKACtivity為項目自動生成的,項目不同,此處也會不同)
10) 新建並配置一個Builder
點擊Project->Properties->Builders->New,新建立一個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】,如圖七所示:
勾選“After a “Clean””,
勾選“During manual builds”,
勾選“During auto builds”,
勾選“Specify working set of relevant resources”。
點擊“Specify Resources…”勾選TestNDK工程的“jni“目錄,Finish!
當在console裡面看到如圖八所示的信息,則表示一切正常,此時就已經是自動編譯代碼了。
注:如果不成功:Project->clean->選擇工程->點擊OK
10)右鍵點擊工程TestNDK,Run As ->Android Application, 運行程序。當出現圖所示信息時,NDK實例運行成功!
如果程序運行出錯,顯示“應用程序**(進程:com.example.***)意外停止,請重試”的錯誤提示
這個錯誤產生的原因極有可能是你的JNI文件的命名或包的聲明寫錯了。查一下程序運行的日志logcat,顯示錯誤為“java.lang.UnsatisfiedLinkError:stringFromJNI”,說的是Java層調用本地方法stringFromJNI時,卻沒有找到這個本地方法,所以除了錯。
那麼Android虛擬機怎麼查找這個本地方法的呢?先說一下Android工程的環境:包名稱是com.example.testndk,應用名稱是HelloJni,如果Java層調用了本地方法String stringFromJNI(),那麼Android虛擬機就會由這三個變量生成一個名字:jstring Java_com_example_testndk_HelloJni_stringFromJNI( JNIEnv*env, jobject thiz ) ,並在本地方法中嚴格按照這個名字查找同名的本地方法。如果找不到,就會返回上圖的錯誤。所以要確認一下JNI文件的命名或包的聲明是否與Java文件中的一致。
在本地文件(即C或C++文件)改正此錯誤後,運行,正常顯示。
一、申請你的AppIDhttp://open.weixin.qq.com/ 友情提示:推薦使用eclipse打包軟件最後一步的MD5值去申請AppID二、官網
當你想為activity進行模塊化設計的時候,可以使用碎片化的fragment.我們可以這麼說,fragment就是一個sub-activity.下面是fragment的
先看一下效果圖實現思路:變成點的控件不是TextView和EditText而是Imageview。首先寫一個RelativeLayout裡邊包含6個ImageView和一
一,使用eclipse打包app內容新建keystore:1、先在eclipse中創建一個新的keystore看詳細圖2、接下來設置一些打包必要參數:3.設置好內容後點擊