2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

Lazarus開(kāi)發(fā)Android應(yīng)用程序指南(中文首發(fā))(轉(zhuǎn))

 quasiceo 2013-10-10
你可以不偉大,但不可以不優(yōu)秀! 記錄我學(xué)習(xí)的點(diǎn)點(diǎn)滴滴!

Lazarus開(kāi)發(fā)Android應(yīng)用程序指南(中文首發(fā))(轉(zhuǎn))

Lazarus開(kāi)發(fā)Android應(yīng)用程序指南(中文首發(fā)) 
 
本指南為中文版本首發(fā),版權(quán)由delphicn所有,QQ1339838080(tom),轉(zhuǎn)載請(qǐng)保留版權(quán)信息。文中難免有錯(cuò),歡迎指正。 
 
本文件描述的安裝環(huán)境為Windows XP SP3。 
1.  下載和安裝配置FPCLazarus安卓(Android)開(kāi)發(fā)環(huán)境: 
 
1.1 下載安裝JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index.html,如圖1和圖2所示。 
 
 
1.2下載安裝Android SDK 
從以下網(wǎng)址下載安卓SDK開(kāi)發(fā)包:http://developer./sdk/index.html,選擇如圖3所示。 
 
 
首先安裝JDK,然后安裝Android SDK。安裝完SDK后需要下載相應(yīng)的SDK包,打開(kāi)程序->Android SDK tools->SDK Manager 安裝SDK 2.2 
 
后面的例子會(huì)用到。 
 
 
1.3 下載安裝Android NDK http://developer./sdk/ndk/index.html 
 

5

 
注意:NDK后來(lái)改為下載:android-ndk-r7-windows.zip這個(gè)包,上面那個(gè)包中的arm-linux-ld.exe編譯時(shí)會(huì)出錯(cuò),使用這個(gè)包中的不會(huì)出錯(cuò)了。地址:http://dl.google.com/android/ndk/android-ndk-r7-windows.zip  。 
NDK解壓縮就可以了。  
1.4檢查以下路徑的工具是否正確,由NDK安裝的。例如我的環(huán)境:D:\AndroidFPC\ NDK\android-ndk-r7b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin。檢查庫(kù)路徑:D:\AndroidFPC\NDK\android-ndk-r7b\platforms\android-8\arch-arm\usr  
備注:已成功把最新Svn trunkLazarus0.9.31FPC 2.5.1打包成一個(gè)安裝文件。可以正常安裝使用了,不會(huì)出錯(cuò),可以正常生成安卓文件。以下1.51.10的步驟都可以跳過(guò)。2.1的出錯(cuò)后重定位部分的步驟也可以跳過(guò)了。這個(gè)安裝包放115網(wǎng)盤(pán)。網(wǎng)盤(pán)地址在第3帖最后。  
1.5下載FPC 2.5.1119版),首先你需要有SVN下載工具。新建一個(gè)文件夾,然后SVN檢出FPC源碼,版本號(hào)是16790。新建一個(gè)文件夾D:\AndroidFPC\FPC251用于存放SVN源碼,右擊文件夾選擇SVN檢出,版本號(hào)16790,如圖6所示 

6

1.6安裝FPC 2.4.4 。簡(jiǎn)單的安裝法是安裝Lazarus 0.9.30.2,因?yàn)橐呀?jīng)包含了。用來(lái)編譯生成fpcrossarm.exe ,后面會(huì)介紹。 1.7創(chuàng)建構(gòu)建腳本并且構(gòu)建它。先創(chuàng)建輸出文件夾:D:\AndroidFPC\FPC251\output

創(chuàng)建一個(gè)批處理文件在以下文件夾 D:\AndroidFPC\FPC251   ,文件名build.bat,內(nèi)容如下:
SET PATH=D:\lazarus\fpc\2.4.4\bin\i386-win32\
make crossinstall CPU_TARGET=arm OS_TARGET=linux CROSSBINDIR=D:\AndroidFPC\NDK\android-ndk-r7b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin OPT=-dFPC_ARMEL BINUTILSPREFIX=arm-linux-androideabi- INSTALL_PREFIX=D:\AndroidFPC\fpc251\output
pause

現(xiàn)在雙擊運(yùn)行build.bat,5分鐘后,在D:\AndroidFPC\FPC251\output文件夾中會(huì)有兩個(gè)文件夾:bin  units,FPC編譯器在D:\AndroidFPC\FPC251\output\bin\i386-win32文件夾中,名為:ppcrossarm.exe ,成功構(gòu)建,這個(gè)文件是重點(diǎn)。

1.8復(fù)制交叉編譯工具
D:\AndroidFPC\NDK\android-ndk-r7b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin復(fù)制3個(gè)交叉二進(jìn)制工具到D:\AndroidFPC\FPC251\output\bin\i386-win32文件夾中。這三個(gè)文件的名稱(chēng)為:arm-linux-androideabi-as.exe  ,arm-linux-androideabi-ld.exe   arm-linux-androideabi-strip.exe ,重新命名為:arm-linux-as.exe  arm-linux-ld.exe  , arm-linux-strip.exe 。這里注意1.3的描述。
1.9 安裝新版Lazarus
現(xiàn)在我們需要安裝最新版本lazarus,把原來(lái)的Lazarus 0.9.30.2卸掉,不要忘記同時(shí)清理C:\Documents and Settings\你的用戶(hù)名\Local Settings\Application DataLazarus的文件夾。從ftp./ /pub/lazarus/snapshots/下載最新版本的Lazarus 安裝。我安裝的是:Lazarus-0.9.31-35521-fpc-2.7.1-20120221-win32.exe這個(gè)版本。新版已經(jīng)打包,在115網(wǎng)盤(pán)中,自己打包的。
1.10 合并工具到Lazarus環(huán)境。
復(fù)制D:\AndroidFPC\FPC251\output\bin\i386-win32中所有文件到 Lazarus安裝文件夾D:\lazarus\fpc\2.7.1\bin\i386-win32 ,復(fù)制文件夾D:\AndroidFPC\FPC251\output\units\arm-linuxD:\lazarus\fpc\2.7.1\units中。
到了這一步,我們?cè)?/span>Windows的中的lazarus部分就配置成功了。下面還有工具及設(shè)置要調(diào)整。
1.11下載安裝設(shè)置Ant 。從以下地址:http://www./dist/ant/  ;選擇ant-current-bin.zip下載就可以了。下載后解壓縮,把解壓后的文件夾放在:C:\Program Files文件中,然后在環(huán)境變量中配置如以下圖:
圖8
8圖
至此,所有windows配置及工具已經(jīng)全部下載安裝完成,可以開(kāi)始調(diào)試程序了。



2.  編譯lazarus中的Android示例程序。
示例是在lazarus/examples/androidlcl/androidlcltest.lpi  。我這里把示例程序放在了D:\AndroidFPC\demo\demo中,所以以下示例都以此為準(zhǔn)。
2.1重新設(shè)置Lazarus 。
 
在打開(kāi)示例程序之前,我們先要把lazarus重新設(shè)置一下,進(jìn)入最新安裝的Lazarus文件夾lazarus\fpc,把2.7.1改為2.5.1,然后重新打開(kāi)lazarus,會(huì)出錯(cuò), 
9
然后重新選擇一下fpc的編譯器及源碼位置,
11
點(diǎn)Start IDE,啟動(dòng)lazarus,打開(kāi)后選擇工具->選項(xiàng),查看環(huán)境是否正確設(shè)置:
12
點(diǎn)工具->重新掃描FPC源代碼目錄。好了。注意,這樣配置以后,只能編譯生成android項(xiàng)目,其它標(biāo)準(zhǔn)工程會(huì)出錯(cuò)。
如果已經(jīng)安裝好lazarus-0.9.31-35594M-fpc-2.5.1-20120229-win32.exe這個(gè)安裝包,請(qǐng)從這里開(kāi)始。好了,可以打開(kāi)android示例了,打開(kāi),然后進(jìn)行工程設(shè)置。工程->工程選項(xiàng)->編譯選項(xiàng)->路徑:
13
調(diào)整紅色框部分,添加兩個(gè)路徑:
1):D:\AndroidFPC\NDK\android-ndk-r7b\platforms\android-8\arch-arm\usr\lib
2):D:\AndroidFPC\NDK\android-ndk-r7b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.4.3
如圖所示:
 
14
Build modes 
 
15
代碼:
 
16
其它具體選項(xiàng)查看示例工程,不再一一列舉。
2.2 開(kāi)始編譯及構(gòu)建android示例。
如果已經(jīng)按照以上的設(shè)置好了android工程,你現(xiàn)在可以Shitf+F9構(gòu)建工程了。
17
成功編譯了,多么激動(dòng)人心啊!
2.3 構(gòu)建APK
在你使用命令行構(gòu)建APK之前,請(qǐng)你先打開(kāi)示例中android文件夾下的local.properties文件。
打開(kāi)后可以看到:
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked in Version Control Systems,
# as it contains information specific to your local configuration.
# location of the SDK. This is only used by Ant
# For customization when using a Version Control System, please read the
# header note.
sdk.dir=/home/felipe/Programas/android-sdk-linux
修改最后一行為本機(jī)Android SDK的文件夾:sdk.dir=C:/Program Files/Android/android-sdk
進(jìn)入命令行方式,開(kāi)始構(gòu)建APK
CD lazarus\example\androidlcl/android
Ant debug
我這里直接寫(xiě)了一個(gè)批處理,你們可以自己寫(xiě)一個(gè)??梢灾苯舆\(yùn)行demo中的批處理文件:構(gòu)建APK.bat 。
好了,構(gòu)建的apk文件在lazarus\example\androidlcl/android/bin中。如果出現(xiàn)找不到tools.jar,請(qǐng)把C:\Program Files\Java\jdk1.7.0_03\lib\tools.jar 復(fù)制到C:\Program Files\Java\jre7\lib文件夾。
2.4 安裝APK到你的手機(jī)并且運(yùn)行。
你可以通過(guò)ADB安裝或者復(fù)制文件到你的手機(jī)的SD卡,就可以運(yùn)行它。關(guān)于ADB請(qǐng)看3.1中的ADB Install的內(nèi)容。在安裝之前我們先創(chuàng)建Android模擬器,看3.1中的內(nèi)容。





3.  Android模擬器和手機(jī)中運(yùn)行APK
3.1創(chuàng)建并設(shè)置模擬器。
運(yùn)行程序中的Android SDK Tools android AVD管理器,創(chuàng)建一個(gè)新的模擬器設(shè)備:
 
 
18
點(diǎn)擊New,設(shè)置如下:
 
 
19
SD Cardsupport 需要點(diǎn)右邊的New才能添加進(jìn)去。
點(diǎn)擊Create AVD,好了,創(chuàng)建了一個(gè)模擬器了。
 
 
20
3.2運(yùn)行模擬器
現(xiàn)在我們運(yùn)行模擬器。點(diǎn)擊Start
 
 
21
點(diǎn)Launch,開(kāi)始運(yùn)行了,等待幾分鐘,模擬啟動(dòng)完成。
 
 
 
22
如果第一次出現(xiàn)運(yùn)行錯(cuò)誤,不要管它,請(qǐng)關(guān)閉,重新再開(kāi)始。
3.3安裝和運(yùn)行APK程序
啟動(dòng)完成模擬器才可以安裝程序。
進(jìn)入命令行方式,進(jìn)入文件夾:C:\Program Files\Android\android-sdk\platform-tools
使用如下命令把前面生成的apk文件安裝進(jìn)去。
Adb install <apk文件路徑>
我這里是adb install D:\AndroidFPC\demo\demo\android\bin\LCLExample-debug.apk,或者運(yùn)行demo中的批處理文件:安裝APK.bat,等它完成。
 
 
23
顯示Success就成功應(yīng)用軟件安裝進(jìn)模擬器了。
Adb常用命令:
Adbinstall <apk文件路徑>  安裝apk到模擬器
Adb uninstall<apk文件路徑卸載apk
Adbdevices   列出所有模擬器設(shè)備
Adblogcat  調(diào)試器實(shí)時(shí)記錄
 
看我們的LCL Test
 
 
24
運(yùn)行后:
 
 
25
4.示例程序NDK OpenGL
這些需要用到2.3SDK,請(qǐng)先下載安裝好。
41下載安裝Android NDK ,Android SDK Ant
42安裝FPC交叉編譯器。
43 SVN下載最新的lazarus-ccr sourceforge源碼:https://lazarus-ccr.svn./svnroot/lazarus-ccr
或者直接下載:lazarus-ccr/bindings/android-ndk里面的源碼就可以了。
4打開(kāi)lazarus-ccr/bindings/android-ndk/examples/opengltest/opengltest.lpi ,路徑設(shè)置一下,具體看示例。編譯生成。
4配置一下local.properties文件。
4構(gòu)建APK,安裝模擬器2.3.3。
 
5.如何創(chuàng)建一個(gè)新的LCL  Android應(yīng)用程序
以下部分是參考官網(wǎng)和自己研究所得:
創(chuàng)建一個(gè)新的LCL-CustomDrawn-Android應(yīng)用程序可以簡(jiǎn)單的從示例程序復(fù)制。這個(gè)示例程序可以從lazarus/examples/androidlcl中找到。然后你需要修改構(gòu)建文件來(lái)變成你自己的新的工程名稱(chēng)和新的Java包名稱(chēng)。
5.1 創(chuàng)建LPI文件
此時(shí)你需要一個(gè)單獨(dú)的LPI文件來(lái)用于安卓應(yīng)用程序版本,但是所有其它代碼可以被共享。
創(chuàng)建它可以從新建->工程->庫(kù)來(lái)建立一個(gè)新的文件,然后從示例程序中來(lái)改寫(xiě)其它的代碼。你需要改寫(xiě)工程LPR文件exported部分的JNI屬性名字為你的安卓包的名字。
5.2構(gòu)建庫(kù)文件
首先,工程去掉debug信息。Debug信息對(duì)安卓沒(méi)用,并且它使得執(zhí)行文件的體積太大??磮D:
 
 
 
 
 
29
5.3 創(chuàng)建安卓工程結(jié)構(gòu)
和一般的LCL工程構(gòu)建比起來(lái),像這樣配置一個(gè)正確的LPI并且擁有一個(gè)庫(kù)主工程文件,也只需要添加所有的安卓工程結(jié)構(gòu)。完全從示例程序復(fù)制就可以了,然后修改適應(yīng)新的工程。然后更改SDK路徑,包名稱(chēng)。包的名稱(chēng)需要在新的工程文件中修改。在文件夾android/src/包名稱(chēng),在activity java源代碼并且在工程的庫(kù)文件pascal代碼中,在exports部分。
上面是翻譯了官網(wǎng)和,
自己研究如下:包文件名稱(chēng)和路徑要和LPR中的文件名要一樣。這里的包指的是Android包。
 
 
 
31
以上兩圖是同一張圖,看紅色框部分。再看Androidjava包的文件路徑,看下圖。
 
 
32
看文件路徑名稱(chēng)同樣為:src\com\pascal\truetest\LCLactivity。
注意:Java文件要加入到工程中去,打開(kāi)java文件然后菜單 工程->添加代碼編輯器中的文件到工程。后來(lái)研究了一下,這里不一定。
還要調(diào)整編譯后的so文件名稱(chēng)和 java中的一樣。說(shuō)明如下:
LCLActivity.java文件中最后部分,第621行:
 
 
33
看黑色框中的lclapp  ,那么你的編譯后的導(dǎo)出庫(kù)名稱(chēng)也要lclapp ,看工程選->編譯選項(xiàng)->路徑->Target file name,看圖:
 
 
34
注意,lclapp.so前的libso文件存放路徑位置。
安卓程序的圖標(biāo)和文件名稱(chēng)的更改:
圖標(biāo)和文件名稱(chēng)存放在以下位置中android\res\ ,drawable-hdpi、drawable-mdpi、drawable-ldpi三個(gè)文件夾,分別存放72x72、48x48、36x36大小兩種圖標(biāo)。而values文件中的strings.xml文件中就是存放安卓文件名稱(chēng)了,打開(kāi)修改    <string name="app_name">LCLTest</string>部分的LCL Test就可以了。如是是中文名稱(chēng),請(qǐng)把文件另存為utf8格式。
生成的APK名稱(chēng)在這里定義:android\build.xml中定義,在2行:
<projectname="LCLExample" default="help">  LCLExample改為你自己的名稱(chēng)。
6.在Android2.2(API 8)中可用的NDK 庫(kù)
LCL-CustomDrawn設(shè)計(jì)目標(biāo)為 Android2.2+ 并且 API庫(kù)在NDK中如下支持:
(1)   libc.so
(2)   libdl.so(linker)
(3)   OpenGL ES 1
(4)   OpenGL ES 2
(5)   libjnigraphics.so
(6)   liblog.so
(7)   libm.so
(8)   libthread_db.so
(9)   libstdc++.so
當(dāng)前LCL-CustomDraw-Android 使用 libjnigraphics.so  liblog.so  。
7.本地文本繪制
在安卓中本地文本繪制有一些費(fèi)解并且這個(gè)幫助文件也相當(dāng)糟糕。一些已經(jīng)了解的在如下:
(1)   繪制文本開(kāi)始以Y坐標(biāo)作為基準(zhǔn)線(xiàn),
(2)   沒(méi)有幫助文件描述Paint.setTextSize中的尺寸是如何的。有些人說(shuō)是像素,但是我看到一些不同,它好像依賴(lài)于不同設(shè)備之間。
(3)   也有一些好的事情:
l        可以繪制透明的位圖并且使用alphi透明度去實(shí)現(xiàn)anti-aliasing(反鉅齒處理) subpixel rendering(子像素渲染)。文本變得十分漂亮。
l        也可以繪制ARGB 32位非像素格式也是相當(dāng)漂亮的。
8Lazarus開(kāi)發(fā)組的實(shí)現(xiàn)路線(xiàn)
2012-2-24
(1) 構(gòu)建 Lazarus Custom Drawn 控件組。已完成
(2) 為安卓API初始化綁定。已完成
(3) 創(chuàng)建一個(gè)應(yīng)用程序自動(dòng)生成綁定。已完成
(4) 開(kāi)始一個(gè)新的widgetset(組件集,構(gòu)件集)。已完成
(5) 實(shí)現(xiàn)對(duì)JNI的支持。已完成
(6) 合并Lazarus Custom Drawn 控件到LCL并且用它們實(shí)現(xiàn)所有最基本的控件。已完成
(7) 為安卓添加文本支持。已完成
(8) 實(shí)現(xiàn)基本窗口客戶(hù)區(qū)滾動(dòng)。已完成
(9) 為桌面平臺(tái)添加手機(jī)模擬器。進(jìn)行中
(10) 改善手機(jī)滾動(dòng)。尚未進(jìn)行
(11) X11中添加文本支持。尚未進(jìn)行
(12) LCL中添加DPI感應(yīng)度和自適應(yīng)。尚未進(jìn)行
(13) 添加非本地化文本支持通過(guò)pasfreetype 。尚未進(jìn)行
9.關(guān)于LazarusCustom Drawn 接口
一個(gè)跨平臺(tái)LCL后端,完全在lazarus內(nèi)使用Object Pascal編寫(xiě)的。Lazarus  Android的接口。LCL-CustomDrawn-Android有以下特性:
此部分尚未完成整理。
10.官方論壇看到的資料
l        引用頁(yè):http://www.lazarus./index.php/topic,15951.0.html  Android NDK目前為止所有的轉(zhuǎn)換pas都在lazarus/lcl/interfaces/customdrawn/android中。但是這個(gè)轉(zhuǎn)換目前不包括攝像頭和手機(jī)通訊簿部分。轉(zhuǎn)換的版本是Android2.2+。對(duì)SDK庫(kù),非常巨大,可以通過(guò)JNI直接訪(fǎng)問(wèn)它們。有人提到如何設(shè)置背景為黑色,他說(shuō)在common_draw中修改,我想是在customdrawn_common單元,這個(gè)要測(cè)試一下。
 
 
lazarus-0.9.31-35594M-fpc-2.5.1-20120229-win32.exe安裝包115網(wǎng)盤(pán):http:///file/belt6tb7 


來(lái)源于:http://www./read.php?tid=1684
 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多