欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

androidstudiondk,androidstudiondk環(huán)境配置

如何在Android Studio中指定NDK位置

1、新建一個(gè)Android工程,這一步就不多說(shuō)了;

創(chuàng)新互聯(lián)建站主營(yíng)沅江網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app開(kāi)發(fā),沅江h(huán)5成都微信小程序搭建,沅江網(wǎng)站營(yíng)銷推廣歡迎沅江等地區(qū)企業(yè)咨詢

2、在AndroidStudio中配置NDK路徑,方法是:

(1)先下載NDK并安裝(這句基本是廢話);

(2)點(diǎn)菜單欄的File-ProjectStructure…-在打開(kāi)的窗口中左側(cè)選中SDKLocation-在右側(cè)Android NDK Location中填入NDK目錄所在路徑

如何更新android studio中的ndk

1、NDK開(kāi)發(fā)就是JNI開(kāi)發(fā)

2、先新建一個(gè)增量升級(jí)的工具類PatchUtil,定義一個(gè)本地方法patch。

AS菜單欄,依次選擇Build-Make

Project。執(zhí)行完之后,把Project欄切換成project視角,依次打開(kāi)app-build-intermediates-classes-debug-com-winter-updetedemo-utils,可以看到該文件夾下有一個(gè)PatchUtil.class文件。com-winter-updetedemo-utils這一路徑其實(shí)就是PatchUtil所在的包名,這個(gè)實(shí)際開(kāi)發(fā)的時(shí)候請(qǐng)根據(jù)自己的包名找相應(yīng)的路徑。

三、然后我們用上面找到的.class文件,生成一個(gè)C/C++的頭文件。首先打開(kāi)AS的terminal界面

以下兩個(gè)命令 cd app\build\intermediates\classes\debug javah -jni com.winter.updatedemo.utils.PatchUtil,如下圖:

然后我們?cè)倏磀ebug文件夾下,會(huì) 發(fā)現(xiàn)多出來(lái)一個(gè)com_winter_updatedemo_utils_PatchUtil.h文件,

(這就是我們需要的頭文件)

文件的內(nèi)容打開(kāi)看:

里面聲明了一個(gè)函數(shù)JNIEXPORT jint JNICALL

Java_com_winter_updatedemo_utils_PatchUtil_patch(JNIEnv *, jobject,

jstring, jstring,

jstring);這個(gè)函數(shù)就是PatchUtil類里面本地方法的C實(shí)現(xiàn)。當(dāng)然頭文件里只是一個(gè)函數(shù)聲明,接下來(lái)就要實(shí)現(xiàn)這個(gè)函數(shù)。

四、建立jni文件夾,把生成的頭文件拷貝進(jìn)去。在app\src\main文件夾下右鍵,依次選擇New-Folder-JNI

Folder,然后main文件夾下會(huì)生成一個(gè)新的文件夾jni,先把頭文件拷進(jìn)去。

接下來(lái)就需要用到bsdiff這個(gè)工具,bsdiff是一個(gè)開(kāi)源的二進(jìn)制差分工具,用來(lái)生成增量升級(jí)所需的差分包;與其相對(duì)應(yīng)的bspatch則用來(lái)通過(guò)差分包合成新的APK包。對(duì)于客戶端而言,只需要完成bspatch的功能就可以了,bsdiff的功能一般由服務(wù)端實(shí)現(xiàn)。另外,bsdiff依賴bzip2,所以分別把兩個(gè)工具下載下來(lái)。bsdiff下載地址:bsdiff下載地址bzip2下載地址:bzip2下載地址bzip2解壓后又很多文件,但是用到的并不多,所以在jni文件夾下新建一個(gè)文件夾,把一下文件拷貝進(jìn)去:

然后把bspatch.c文件考到j(luò)ni文件夾下。然后做以下修改:1.找到第31行#include ,改成#include "bzip2/bzlib.h"2.在37行下面添加一行,新行內(nèi)添加之前生成的頭文件

#include

"com_winter_updatedemo_utils_PatchUtil.h"3.把main()函數(shù)的名稱修改掉,改成applypatch()或其他名稱4.在bspatch.c文件末尾添加以下函數(shù):

函數(shù)的名稱和參數(shù)與com_winter_updatedemo_utils_PatchUtil.h一致,其實(shí)就是PatchUtil里patch()方法的C實(shí)現(xiàn)。

以上步驟完成后,再在jni文件夾下新建一個(gè)Android.mk文件,文件中的內(nèi)容為:

OK,jni文件夾下的工作做完了。

六、最后修改下app文件夾下的build.gradle文件,在defaultConfig代碼塊中添加以下內(nèi)容

這里有一點(diǎn)需要注意,moduleName是最后編譯生成庫(kù)的名稱,當(dāng)然,最終的.so文件會(huì)加一個(gè)前綴“l(fā)ib”,例如上面的代碼,編譯后生成的.so文件的全名會(huì)是libpatch.so。另外,回頭看一下PatchUtil類中的static代碼塊,調(diào)用了加載庫(kù)文件的系統(tǒng)方法,其中的庫(kù)文件的名稱,與moduleName是一致的,不要加任何前后綴。

七、所有的工作都結(jié)束了,patch方法已經(jīng)可以被調(diào)用了,在Activity里起一個(gè)線程,調(diào)用PatchUtil.patch(),就可以進(jìn)行APK包的合成了。

八、bsdiff下載地址中,除了可以下載bsdiff的源碼,還可以下載windows環(huán)境下的.exe可執(zhí)行文件,下載下來(lái),就可以在本地手動(dòng)生成差分包,而不需要依賴服務(wù)器了

android studio支持 ndk了嗎

Android Studio 1.3 版本新增了NDK支持,能夠很方便的在上面開(kāi)發(fā)C++或者C代碼。

簡(jiǎn)單介紹方法:

一.首先將Android Studio更新到1.3版本:

1.檢查Android Studio更新.

可能會(huì)遇到問(wèn)題:版本低于1.3檢查更新卻提示已經(jīng)是最新版本。?

那是因?yàn)楦虑啦皇荁eta渠道,需要先將渠道設(shè)置為Beta渠道才能更新到1.3:

然后重新檢查更新就可以更新到1.3了.

二.將gradle切換到實(shí)驗(yàn)版本.

根據(jù)Google官方提供的方法修改Gradle文件.(官方說(shuō)法為測(cè)試版本不完善,需要手動(dòng)修改Gradle文件以便兼容Gradle實(shí)驗(yàn)版,他們會(huì)在release版本中實(shí)現(xiàn)程序自動(dòng)修改Gradle)?

Google原文鏈接:?

1.將Gradle更新到2.5版本.

在這里將GradleVersion改為2.5 點(diǎn)擊OK鍵就會(huì)開(kāi)始自動(dòng)更新Gradle了.?

2.Android NDK r10e ,將NDK更新到這個(gè)版本?

3.BuildTools版本要求大于19.0.0

android studio中的ndk是什么意思

NDK意思簡(jiǎn)介:

1.NDK是一系列工具的集合

NDK提供了一系列的工具,幫助開(kāi)發(fā)者快速開(kāi)發(fā)C(或C++)的動(dòng)態(tài)庫(kù),并能自動(dòng)將so和java應(yīng)用一起打包成apk。這些工具對(duì)開(kāi)發(fā)者的幫助是巨大的。

NDK集成了交叉編譯器,并提供了相應(yīng)的mk文件隔離CPU、平臺(tái)、ABI等差異,開(kāi)發(fā)人員只需要簡(jiǎn)單修改mk文件(指出“哪些文件需要編譯”、“編譯特性要求”等),就可以創(chuàng)建出so。

NDK可以自動(dòng)地將so和Java應(yīng)用一起打包,極大地減輕了開(kāi)發(fā)人員的打包工作。

2.NDK提供了一份穩(wěn)定、功能有限的API頭文件聲明

Google明確聲明該API是穩(wěn)定的,在后續(xù)所有版本中都穩(wěn)定支持當(dāng)前發(fā)布的API。從該版本的NDK中看出,這些API支持的功能非常有限,包含有:C標(biāo)準(zhǔn)庫(kù)(libc)、標(biāo)準(zhǔn)數(shù)學(xué)庫(kù)(libm)、壓縮庫(kù)(libz)、Log庫(kù)(liblog)。

蘋果電腦上androidstudio怎樣設(shè)置ndk

1、新建一個(gè)Android工程,這一步就不多說(shuō)了;

2、在AndroidStudio中配置NDK路徑,方法是:

(1)先下載NDK并安裝(這句基本是廢話);

(2)點(diǎn)菜單欄的File-ProjectStructure…-在打開(kāi)的窗口中左側(cè)選中SDKLocation-在右側(cè)Android NDK Location中填入NDK目錄所在路徑

3、編譯生成.class文件,方法是:

點(diǎn)菜單欄的Build-Make Project

這時(shí),在工程的app/build/intermediates下就會(huì)生成classes文件夾,打開(kāi)classes目錄下的debug目錄就會(huì)看到以你的包名命名的各級(jí)文件夾,最里邊文件夾下有你的Java類對(duì)應(yīng)的.class文件;

4、確定你要引用本地方法的類:

其實(shí)你也可以先生成jni目錄,再去創(chuàng)建這個(gè)類,但是先Google顯然建議先創(chuàng)建要引用C代碼的Java類,因?yàn)锳ndroidStudio可以根據(jù)你在java類中定義的native方法的名稱來(lái)自動(dòng)生成.h頭文件。

比如你想在MainActivity中引用本地方法,那么你先用

static {

System.loadLibrary("myNativeLib");

}

來(lái)聲明本地代碼庫(kù),然后定義幾個(gè)natvie方法,比如

public native String getStringFromNative();

5、使用javah命令行生成jni目錄及對(duì)應(yīng)的頭文件:

我用的是AndroidStudio 2.1.1,在主界面最下邊就能找到Terminal,點(diǎn)一下就能打開(kāi)系統(tǒng)的命令行工具,并且已經(jīng)為你自動(dòng)cd到當(dāng)前工程所在目錄

6、配置build.gradle文件

這里的build.gradle是指app模塊下的build.gradle,不是整個(gè)工程的build.gradle文件。在模塊的build.gradle的defaultConfig下加入以下idk配置:

ndk {

moduleName"myNativeLib"

ldLibs "log", "z", "m"

abiFilters "armeabi", "armeabi-v7a", "x86"

}

7、配置local.properties文件

打開(kāi)工程目錄下的local.properties,感覺(jué)這一步是自動(dòng)配置的,或者說(shuō)在你一開(kāi)始在AndroidStudio中指定NDK目錄時(shí)已經(jīng)自動(dòng)生成了。我的AndroidStudio在打開(kāi)local.properties已經(jīng)有了

ndk.dir=/Develop/Android/android-ndk-r10e

這一行,所以就不用配了;

8、配置gradle.properties

打開(kāi)工程目錄下的gradle.properties文件(注意不是build.gradle,而是gradle.properties),在文件的最后一行加入

android.useDeprecatedNdk=true

這句的作用是允許我們使用已經(jīng)過(guò)時(shí)的NDK版本,不知道AndroidStudio要求使用哪個(gè)版本的NDK才不會(huì)報(bào)錯(cuò),總之只要配置了這一句就可以使用比較舊的NDK版本了,我用的r10;

至此我們?cè)贏ndroidStudio中就完成了NDK環(huán)境的配置,接下來(lái)就可以寫Native代碼了;

9、寫一個(gè).c文件測(cè)試一下是否運(yùn)行正常

(1)在我們之前生成src/main/jni目錄下新建一個(gè).c文件,方法是在jni文件夾上點(diǎn)鼠標(biāo)右鍵,選擇New-C/C++ Source File,然后在彈出的對(duì)話框中填入.c或.cpp文件的文件名就可以了,比如說(shuō)mail.c

標(biāo)題名稱:androidstudiondk,androidstudiondk環(huán)境配置
標(biāo)題來(lái)源:http://chinadenli.net/article15/dsggpdi.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)電子商務(wù)標(biāo)簽優(yōu)化網(wǎng)站營(yíng)銷網(wǎng)站改版網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)