加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flashdevelop工程调用android方法

发布时间:2020-12-15 06:11:59 所属栏目:百科 来源:网络整理
导读:前面flashdevelop的操作跟调用ios的工程一样的,详见 ? flashdevelop调用ios方法 在flash工程里我主要用到android和ios的支付,参考了google ?code上的代码下面是地址 http://code.google.com/p/in-app-purchase-air-ios/downloads/list android的支付有点问
前面flashdevelop的操作跟调用ios的工程一样的,详见 ?

flashdevelop调用ios方法

在flash工程里我主要用到android和ios的支付,参考了google ?code上的代码下面是地址
http://code.google.com/p/in-app-purchase-air-ios/downloads/list
android的支付有点问题没初始化BillingService对象,一下是我修改的地方
1.添加初始化接口
functionMap.put("getProducts",new GetProductsCall() );
functionMap.put("startPayment",new StartPaymentCall() );
functionMap.put("finish",new FinishCall() );
functionMap.put("muted",new MutedCall() );
functionMap.put("restore",new RestoreCall() );
functionMap.put("trans",new GetTransCall() );
functionMap.put("init",new InitFunction() );?InitFunction这份方法他里面已经实现好了
我在导入eclipse的时候回出现一下没用的引用可以删除,有个builder.sh我也把他上了,我打包ane的方法跟ios一样只是改变一下,具体怎么实现在后面


2.导入jar包
右键AppPurchase导入,在弹出的界面中选择java-》jar file 导出jar包

3.flashbuilder中打开 AS 工程
在你下载的svn目录底下有个 (我的目录结构是F:android支付工程svnsvnbranchesv1-And)下面有个as工程,打开工程在AppPurchase.as工程中加入flashdevelop调用的初始化方法
public function initMgr():void
{
ext.call("init");
}


4.右键as导出flash builder项目 生成.swc 文件
5.打包ane
as工程目录下有个extension.xml 可以考出来用,也可以照着ios的自己在搞一个,如果是照ios的方法改下里面的内容就成,我是照ios的下面xml内容
<extension xmlns="http://ns.adobe.com/air/extension/2.5">
? <id>com.adobe.appPurchase</id>
? <versionNumber>1</versionNumber>
? <platforms>
? ? <platform name="Android-ARM">
? ? ? ? ? ? <applicationDeployment>
? ? ? ? ? ? ? ? <nativeLibrary>AndroidPurchase.jar</nativeLibrary>
? ? ? ? ? ? ? ? <initializer>com.sbhave.appPurchase.glue.AppPurchaseExtension</initializer>
? ? ? ? ? ? ? ? <finalizer>com.sbhave.appPurchase.glue.AppPurchaseExtension</finalizer>
? ? ? ? ? ? </applicationDeployment>
? ? </platform>
? </platforms>
</extension>


?将.swc,jar,xml 三个文件拷贝到同一个目录下备份一个.swc改后缀名为.zip解压出library.swf

"D:flex sdk4.6.0binadt" -package -target ane aneDemo.ane extension.xml -swc?AneFlex.swc -platform Android-ARM library.swf libAneDemo.jar
在cmd下运行生成.ane 文件,这样在flashdevelop里就能调用了

6.调用.ane并配置android属性
将.ane文件放入lib目录加为libary,在手持设备属性里找到mobileAdditions 在android的设置选项卡中输入下面红色的字段就能实现支付功能了
<manifest android:installLocation="auto">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch" />
</manifest>

注意:要生成.apk或者.ipa包的时候才能用.ane,不然在模拟器上嵌入ane会认不到ane里面配置的id,编译会报错

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读