About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Oct

    9

    总共花了 5 天时间,成功的制作出了第一个安卓 ANE 程序(其实它是第二个,第二个才是完整的和第三方平台 SDK 整合的 ANE,第一个只是随便测试制作流程),总共收录了 5 个贴子,每个贴子最后都有附属与补充资料的链接

    1、《安卓 ANE 制作资料备忘录(一):安卓开发环境搭建

    2、《安卓 ANE 制作资料备忘录(二):安卓应用的包名

    3、安卓 ANE 制作资料备忘录(三):使用 Android Studio 制作 ANE

    4、《安卓 ANE 制作资料备忘录(四):最简单的安卓 ANE 制作教程

    5、《安卓 ANE 制作资料备忘录(五):多个 JAR 包合并

    碎碎念

    其中第三个贴子是不需要研究的:推荐使用 ADT-Bundle,因为网上的教程基本上都是基于 ADT-Bundle 的,而不是基于 Android Studio(而且只找到了一篇)。另外 ADT-Bundle 对系统的资源比 Android Studio 要低很多,启动也快的多(顺便还吐槽了一下 Android Studio

    安卓 ANE 制作流程很简单,大多时间是花在了对工具和环境配置熟悉上,仅对这两个 IDE 工具的选择与安装就花了将近 3 天时间因为从来没有使用过这两个工具,所以来回折腾 IDE 和 SDK 的安装、卸载、对比(包括 JDK 的版本)。再加上这些工具基本上被国家防火墙拦截的原因,官方下载时需要使用 VPN,速度也不快不起来(我有“软件洁癖”,担心捆绑软件、病毒之类的,所以只喜欢官方下载)。

    在制作 Admob ANE 时,大大小小的坑不少:

    第一大坑:一个 ANE 程序被调用的类只能涉及到一个 JAR 文件,如果不是做 ANE 程序,可能都不会遇到这个问题,这个坑绕的圈子实在太大(因为一开始的时候完全不知道搜什么内容)。

    第二大坑 ANE 中的资源文件、配置相关的内容小坑(小坑至少有报错的情况可以 Google 一下找到资料,补充对应的资源文件就可以)。

    打包应用程序时出错:
    aapt tool failed:Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.
    Warning: AndroidManifest.xml already defines versionName (in http://schemas.android.com/apk/res/android); using existing value in manifest.
    Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
    Warning: AndroidManifest.xml already defines targetSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
    C:\Users\用户名\AppData\Local\Temp\0bf7cd60-7234-4a95-9eec-7188f5686a84\AndroidManifest.xml:53: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version').

    这种小坑基本上都能在百度和 GOOGLE 上找到:http://www.523326.com/?p=156,还有一些类似中文路径等引起的小坑,都容易解决。

    一些与 ANE 相关的说不清道不明的官方资料:原理、类与接口(我没有看它们,除非想专业搞 ANE 可能了解的必要):

    http://help.adobe.com/zh_CN/air/extensions/air_extensions.pdf

    http://help.adobe.com/zh_CN/air/extensions/WSff7e9115a8550eef64893a0c132502c6a64-8000.html

    下个星期开始研究一下 IOS 版本的 ANE,相信 IOS 的 ANE 程序一定会比安卓的简单的多,至少在 IDE 选择和环境配置上不需要来回折腾浪费时间了。

    Oct

    8

    多个 JAR 包共存桌面开发时问题不大,因为可以相互引用。但在开发 ANE 时却有问题,ANE 只能编译入一个 JAR 文件,所以如果存在多个 JAR 文件就必须合并成一个。

    而一般安卓平台提供的 SDK 都是以现成的 JAR 包的方式提供的,所以就必须将它们合并后才能提供给 FLASH 开发者使用(安卓开发就是这么蛋疼,FLASH 平台的安卓开发更是蛋疼到了极点)。

    @echo off
    ::转到当前盘符
    %~d0
    ::打开当前目录
    cd %~dp0
    ::你做的主JAR包的路径
    set MainJar=MYANEJavaLib.jar
    ::第三方JAR包的路径
    set ExternalJar=3rdApiLib.jar
    ::第三方JAR包顶级包名称
    set packageName=com
    echo =========== start combin ==============
    ::解压第三方包
    jar -xf %ExternalJar%
    ::合并主JAR包
    jar -uf %MainJar% %packageName% 
    ::如果还有别的顶级包可以接着合并,例如:
    ::jar -uf %MainJar% %packageName2%
    ::jar -uf %MainJar% org
    ::jar -uf %MainJar% cn
    echo =========== over ==============
    echo 再点一下就结束了--小Q
    pause

    bat 下载jarcombine.zip

    原文链接:《ANE Android Java 接口部分引用第三方JAR的解决办法

    相关链接:《AIR接入Android 平台]打造登录付费ANE全教程》(其中这篇贴子对于制作安卓 ANE 非常值得收藏,除了 JAR 合并,还涉及到了附属的资源、以及第三方平台强制要求嵌入 APK 的问题等,已使用 CyberArticle 收录)

    Oct

    8

    一篇自己觉的最简单的 ANE 教程,与其说是教程,不如说它是制作的流程,很简单,又是 ZERO 写的,值得收藏一下。

    了解了流程后就会觉的 ANE 的制作过程其实就是简单到弱爆了。觉的 ANE 制作难的原因我想是因为 Flash 平台开发者对原生开发环境和原生语言的不熟悉。比如 ADT-Bundle 与 XCODE ,Java 与 Objective-C 语言。其中语言部份大多能在 GitHub 上找类似代码或模版文件(安卓可能更容易些,因为存在类似 JD-GUI 这样的反编译工具可以查看别人的源代码)。

    按着这个教程成功的制作出了第一个安卓 ANE 程序,大多时间其实是花在了 ADT-Bundle 这个工具(包括 Android Studio)以及它们所涉及的 SDK 部份的了解上。

    More...

    Oct

    5

    安卓 ANE 制作资料备忘录(一):安卓开发环境搭建》贴子中写到了 ADT-Bundle,但现在安卓官方已经去掉了它的支持和链接,所以必须使用迅雷才能下载。

    安卓官方现在只支持 Android Studio 并提供了下载,但这个东西并不友好,甚至可以说是极不友好。一篇如何使用 Android Studio 制作 ANE 的教程说明:《How to build ANE in Android Studio》。收藏一下。

    More...

    Oct

    4

    为什么 AIR SDK 生成的安卓应用包名默认会自动添加 air. 前缀呢?这里有一篇 ZERO 写的说明:[安卓开发整理]——包名,好资料收藏一下。

    More...

    Sep

    19

    第一步:JAVA SDK(JDK)的安装。
     
    第二步:下载 ADT-Bundle for Windows(基于 Eclipse 的安卓开发环境,必须使用迅雷下载)。
     
    第三步:安装ADT-Bundle,直接把下载下来的的 zip 文件解压到你需要安装的位置。
     
    第四步:安装 Android SDK。运行解压出来的文件夹里面的 SDK Manager.exe。
    1、也可以运行 eclipse/eclipse.exe 然后通过 Windows -> Android SDK Manager 打开。
    2、勾选上想要开发的目标安卓版本,最好是全部勾上,然后点击 Install Package 按提示 Next,Accept 允许等待安装(一个慢长的过程)。
     
    第五步:配置 Android AVD(虚拟模拟器)
    1、打开 Eclipse(eclipse/eclipse.exe),(运行启动的 eclipse 可能看上去有些不一样,可以通过 windows 把一些常用的窗口,工具条显示出来),然后从 Windows->Android Virtual Device Manger 打开 AVD 管理器。
    2、点击 New 按钮,创建你一新的 AVD,如下图,做了一个简单说明,参数其实都是可以自己随意填的,点击 OK 就行了。 

    配置好的这个 AVD 是会做为安卓应用的默认调试摸拟器,当然也可以配置多个。

     

    第六步:创建一个 Hello World 项目

    通过 File -> New-> Android Application Project,,然后输入 Hello World(项目名字),Next,Finish。

     

    第七步:从运行 Hello World 

    直接点击 Run  Debug(快捷键F11)就可以在你配置的模拟器里运行了。

     

    原文链接http://blog.csdn.net/aizquan/article/details/8974750

    Feb

    27

    Oct

    31

    第一步:安装 JAVA 运行时环境。

    第二步:启动 CMD 窗口,切换到 JAVA 虚拟机安装目录运行以下命令:

    keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore

    第三步:按提示输入相应的信息(输入信息时包含密码,完成后不要忘了密码)。

    这样一个 android.keystore 文件就生成了,可用于安卓应用在一些第三方平台接口功能调用时进行签名,比如 Facebook、微信神马的开放平台接口之类的。

    原文链接:http://blog.csdn.net/ms03001620/article/details/8490314