久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    用lazarus瞬間開發自己的安卓APP

     quasiceo 2017-12-10


        下面記錄一下過程。
        1、需要的軟件:
    adt-bundle-windows-x86-20130917.467161976.rar
    android-ndk-r10c-windows-x86.exe
    laz4android1.3-46592-FPC2.7.1.exe


    (打包成一個了 http://pan.baidu.com/s/1gdF1ENp )
    adt-bundle-windows-x86-20130917中的jdk-7u45-windows-i586.1454527248.exe要安裝一下。

    壓縮包中的jdk-6u39-windows-i586.exe用不到了。

    最核心的東西是laz4android1.3-46592-FPC2.7.1.exe,安裝一下。

        2、各軟件安裝位置:
    開始時因為安裝位置與后面批處理文件內容不匹配,導致出現不少問題。
    java:
    C:\Java\jdk1.7.0_45

    android-ndk-r10c 、android-sdk、laz4android 都放在D:\

        3、運行laz4android 后,打開例子,修改配置 Project -> Project Options  -> Path-> Libraries,修改其中的兩個路徑。保存配置。


      4、直接ctrl+F9編譯成功。
    可以看到編譯成的so文件:
    D:\laz4android\examples\androidlcl\android\libs\armeabi\liblclapp.so

        5、修改并運行兩個批處理文件。
    第一個:D:\laz4android\examples\androidlcl\android\generate_debug_key.bat(這個用來生成簽名文件)
    我把它的內容弄成這樣:
    REM Adjust these paths to yours
    SET PATH=D:\android-sdk\tools;D:\android-sdk\platform-tools\;D:\android-sdk\build-tools\android-4.3\;C:\Java\jdk1.6.0_39\bin\;C:\Java\jre6\bin\
    SET APP_NAME=androidlcltest
    SET ANDROID_HOME=D:\android-sdk
    SET APK_SDK_PLATFORM=D:\android-sdk\platforms\android-8
    SET APK_PROJECT_PATH=D:\laz4android\examples\androidlcl\android
    mkdir bin
    keytool --help
    keytool -genkey -v -keystore bin\LCLDebugKey.keystore -alias LCLDebugKey -keyalg RSA -validity 10000
    REM call and pause together allow us to see the results in the end
    pause

    第一個運行,按要求輸入各種姓名省份等,密碼用123456,如果用其他密碼,下面的批處理中123456處也要做出修改。
    其中一步:正確嗎?   [  輸入Y然后回車。


    第二個:D:\laz4android\examples\androidlcl\android\build_debug_apk.bat(這個用來生成簽名后的apk文件)
    REM Adjust these paths to yours
    rem SET PATH=D:\android-sdk\tools;D:\android-sdk\platform-tools\;D:\android-sdk\build-tools\android-4.3\;C:\Java\jdk1.6.0_39\bin\;C:\Java\jre6\bin\
    SET PATH=D:\android-sdk\tools;D:\android-sdk\platform-tools\;D:\android-sdk\build-tools\android-4.3\;C:\Java\jdk1.7.0_45\bin\;C:\Java\jdk1.7.0_45\jre\bin\;
    SET APP_NAME=androidlcltest
    SET ANDROID_HOME=D:\android-sdk
    SET APK_SDK_PLATFORM=D:\android-sdk\platforms\android-8
    SET APK_PROJECT_PATH=D:\laz4android\examples\androidlcl\android
    REM Create necessary directory Structure
    mkdir bin
    mkdir bin\classes
    mkdir gen
    mkdir gen\com
    mkdir gen\com\pascal
    mkdir gen\com\pascal\lcltest
    mkdir raw
    mkdir raw\lib
    mkdir raw\lib\armeabi
    REM Cleanup
    del bin\%APP_NAME%.ap_
    del bin\%APP_NAME%.apk
    del raw\lib\armeabi\*.so
    REM More directory preparation
    copy libs\armeabi\*.so raw\lib\armeabi\
    REM Resource compilation
    call aapt p -v -f -M AndroidManifest.xml -F bin\%APP_NAME%.ap_ -I %APK_SDK_PLATFORM%\android.jar -S res -m -J gen raw
    REM Java compiler
    call javac -source 1.6 -target 1.6 -verbose -encoding UTF8 -classpath %APK_SDK_PLATFORM%\android.jar -d bin\classes src\com\pascal\lcltest\LCLActivity.java
    REM Convert the java bytecode to dalvik bytecode
    call java -Djava.ext.dirs=%ANDROID_HOME%\platform-tools\lib\ -jar %ANDROID_HOME%\platform-tools\lib\dx.jar --dex --verbose --output=%APK_PROJECT_PATH%\bin\classes.dex %APK_PROJECT_PATH%\bin\classes
    REM It seams that dx calls echo off
    @echo on
    REM Now build the unsigned APK 建立一個未簽名的apk
    del %APK_PROJECT_PATH%\bin\%APP_NAME%-unsigned.apk
    call java -classpath %ANDROID_HOME%\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain %APK_PROJECT_PATH%\bin\%APP_NAME%-unsigned.apk -v -u -z %APK_PROJECT_PATH%\bin\%APP_NAME%.ap_ -f %APK_PROJECT_PATH%\bin\classes.dex

    REM Signing the APK with a debug key 簽名部分
    del bin\%APP_NAME%-unaligned.apk
    rem jarsigner -verbose -keystore bin\LCLDebugKey.keystore -keypass 123456 -storepass 123456 -signedjar bin\%APP_NAME%-unaligned.apk bin\%APP_NAME%-unsigned.apk LCLDebugKey
    jarsigner -verbose -sigalg MD5withRSA  -digestalg SHA1 -keystore bin\LCLDebugKey.keystore -keypass 123456 -storepass 123456 -signedjar bin\%APP_NAME%-unaligned.apk bin\%APP_NAME%-unsigned.apk LCLDebugKey


    REM Align the final APK package
    zipalign -v 4 bin\%APP_NAME%-unaligned.apk bin\%APP_NAME%.apk
    REM call and pause together allow us to see the results in the end
    pause



        6、運行上面兩個批處理后,可以看到,在目錄 D:\laz4android\examples\androidlcl\android\bin 中生成了以下內容:



    然后安裝androidlcltest.apk到安卓設備即可。

        7、期間的錯誤處理:
        * 運行 build_debug_apk.bat 出錯:
    D:\laz4android\examples\androidlcl\android>jarsigner -verbose -keystore bin\LCLD
    ebugKey.keystore -keypass 123456 -storepass 123456 -signedjar bin\androidlcltest
    -unaligned.apk bin\androidlcltest-unsigned.apk LCLDebugKey
    jarsigner: 找不到 LCLDebugKey 的證書鏈。LCLDebugKey 必須引用包含專用密鑰和相應
    的公共密鑰證書鏈的有效密鑰庫密鑰條目。
        解決:原來我修改過 generate_debug_key.bat,把LCLDebugKey.keystore -alias LCLDebugKey 改成 LCLDebugKey.keystore -alias LCLDebugKey.keystore了,導致了上面的錯誤。
    ---------------------------------------------------
        * androidlcltest.apk在安卓上安裝時,提示:程序未能安裝。
        原因:簽名錯誤。java1.7改成1.6后解決。不過現在已經可以用1.7了。


      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 精品久久久久久无码中文野结衣| 国色天香成人一区二区| 亚洲人妻中文字幕一区| 欧美亚洲高清国产| 蜜桃久久精品成人无码AV| 亚洲中文字幕无码中字| 亚洲人亚洲人成电影网站色| 日日躁夜夜躁狠狠躁超碰97| 2019久久久高清日本道| 色综合久久久久综合体桃花网| 97成人碰碰久久人人超级碰oo| 成人午夜看黄在线尤物成人| 2019亚洲午夜无码天堂 | 亚洲一区二区三区无码中文字幕| 99久久99这里只有免费费精品| 乱码视频午夜在线观看| 亚欧乱色熟女一区二区三区| 97在线精品视频免费| 伊人久久大香线蕉亚洲五月天| 国产日产精品系列| aaa少妇高潮大片免费看| 亚洲人成中文字幕在线观看| 亚洲欧美日韩综合久久久| 午夜色大片在线观看| 欧美大bbbb流白水| 国产成人综合欧美精品久久| 亚洲国产精品日韩在线| 国产V片在线播放免费无码| 亚洲精品麻豆一区二区| 夜夜躁狠狠躁日日躁| 成人做受120秒试看试看视频| 狠狠久久亚洲欧美专区| 精品无码一区在线观看| 国产高清在线男人的天堂| 国精品无码一区二区三区左线| 人妻少妇456在线视频| 中文字幕日韩有码一区| 波多野结衣一区二区三区AV高清| 日本高清视频色欧WWW| 亚洲中文字幕在线二页| 亚洲综合色在线视频WWW|