当前位置:  编程技术>移动开发
本页文章导读:
    ▪ANT编译APK脚本,会多渠道打包,打包SO,很强大,增强版        ANT编译APK脚本,能多渠道打包,打包SO,很强大,增强版!<!-- build.xml --> <project default="main" basedir="."> <property file="../keystore.properties" /> <property name="apk-name" value="product" .........
    ▪ 5102背景跟多国语言的构造        5102背景和多国语言的构造          在这个项目里面,主界面和功能基本都完成了,而用新的架构写的程序像MyLaunch、SetLanguage、SetChangeSkin、Setting这四个工程要实现的是背景和多国语言的.........
    ▪ Oracle公布了Java移动开发框架       Oracle发布了Java移动开发框架 经过两年的制作,甲骨文发布了一个移动客户端和相关框架,以帮助开发人员快速构建工业移动设备的Java应用程序。Oracle应用开发框架(ADF)移 动客户端应用程序.........

[1]ANT编译APK脚本,会多渠道打包,打包SO,很强大,增强版
    来源: 互联网  发布时间: 2014-02-18
ANT编译APK脚本,能多渠道打包,打包SO,很强大,增强版!
<!--  build.xml -->

<project default="main" basedir=".">

    <property file="../keystore.properties" />

    <property name="apk-name" value="product" />
    <property name="apk-version" value="latest" />
    <property name="apk-market" value="dev" />

   <property name="storepass"  value="6236212"/>     这两个KEY,不用说。
    <property name="keypass" value="6236212"/>
    <property name="alias" value="nil.keystore"/>
                                                                                                    这个是你要编译时要的android.jar的路径
    <property name="android-jar" value="/Users/mac/Desktop/androidsdk/android-sdk-macosx/platforms/android-8/android.jar" />

    <target name="init">
        <echo>start initing ... </echo>

        <mkdir dir="gen" />
        <delete>
            <fileset dir="gen"></fileset>
        </delete>
        
        <mkdir dir="bin/classes" />
        <delete>
            <fileset dir="bin/classes"></fileset>
        </delete>
        
        <mkdir dir="build/${apk-version}" />

        <echo>finish initing. </echo>
    </target>

    <target name="main" depends="init">
        <echo>generating R.java for project to dir gen (using aapt) ... </echo>
        <exec executable="aapt">
            <arg value="package" />
            <arg value="-m" />
            <arg value="-J" />
            <arg value="gen" />
            <arg value="-M" />
            <arg value="AndroidManifest.xml" />
            <arg value="-S" />
            <arg value="res" />
            <arg value="-S" />
            <arg value="../baseworld/res" />
            <arg value="-I" />
            <arg value="${android-jar}" />
            <arg value="--auto-add-overlay" />
        </exec>

        <echo>generating R.java for library to dir gen (using aapt) ... </echo>
        <exec executable="aapt">
            <arg value="package" />
            <arg value="-m" />
            <arg value="--non-constant-id" />
            <arg value="--auto-add-overlay" />
            <arg value="-J" />
            <arg value="gen" />
            <arg value="-M" />
            <arg value="../baseworld/AndroidManifest.xml" />
            <arg value="-S" />
            <arg value="res" />
            <arg value="-S" />
            <arg value="../baseworld/res" />
            <arg value="-I" />
            <arg value="${android-jar}" />
        </exec>

        <path id="project.libs">
            <fileset dir="libs">
                <include name="*.jar" />
            </fileset>
        </path>
        <echo>compiling java files to class files (include R.java, library and the third-party jars) ... </echo>
        <javac destdir="bin/classes" bootclasspath="${android-jar}" includeantruntime="on" encoding="utf-8">   这个地方需要设置下,因为是MAC系统
            <src path="../baseworld/src" />
            <src path="src" />
            <src path="gen" />
            <classpath refid="project.libs" />
        </javac>

        <echo>packaging class files (include the third-party jars) to calsses.dex ... </echo>
        <exec executable="dx">
            <arg value="--dex" />
            <arg value="--output=bin/classes.dex" />
            <arg value="bin/classes" />
            <arg value="libs" />
        </exec>

        <echo>packaging resource (include res, assets, AndroidManifest.xml, etc.) to res.zip ... </echo>
        <exec executable="aapt">
            <arg value="package" />
            <arg value="-f" />
            <arg value="-M" />
            <arg value="AndroidManifest.xml" />
            <arg value="-S" />
            <arg value="res" />
            <arg value="-S" />
            <arg value="../baseworld/res" />
            <arg value="-A" />
            <arg value="assets" />
            <arg value="-I" />
            <arg value="${android-jar}" />
            <arg value="-F" />
            <arg value="bin/res.zip" />
            <arg value="--auto-add-overlay" />
        </exec>

        <echo>building unsigned.apk ... </echo>
        <exec executable="apkbuilder">
            <arg value="bin/unsigned.apk" />
            <arg value="-u" />
            <arg value="-z" />
            <arg value="bin/res.zip" />
            <arg value="-f" />
            <arg value="bin/classes.dex" />
        </exec>

        <echo>signing the unsigned apk to final product apk ... </echo>
        <exec executable="jarsigner">
            <arg value="-keystore" />
            <arg value="nil.keystore" />
            <arg value="-storepass" />
	    <arg value="${storepass}" />
            <arg value="-keypass" />
	    <arg value="${keypass}" />
            <arg value="-signedjar" />
            <arg value="build/${apk-version}/${apk-name}_${apk-version}_${apk-market}.apk" />
            <arg value="bin/unsigned.apk" />
	    <arg value="${alias}" />
        </exec>

        <echo>done.</echo>
    </target>
</project>



build.sh

#!/bin/bash
basedir=$(cd "$(dirname "$0")";pwd)
cd $basedir

#markets="google appchina waps gfan 91 hiapk goapk mumayi eoe nduo feiliu crossmo huawei qq 3g 360 baidu sohu 163 samsung coolmart meizu moto xiaomi lenovo nearme official dev"
markets="gfan dev"
for market in $markets
do
    echo packaging healthworld_1.0_$market.apk ...
    sed -i '' "s/\(android:value=\)\"\(.*\)\"\( android:name=\"UMENG_CHANNEL\"\)/\1\"$market\"\3/g" AndroidManifest.xml
    sed -i '' "s/\(android:value=\)\"\(.*\)\"\( android:name=\"WAPS_PID\"\)/\1\"$market\"\3/g" AndroidManifest.xml
    ant -Dapk-name=healthworld -Dapk-version=v1.0_beta -Dapk-market=$market
done

原文:

http://www.cnblogs.com/qianxudetianxia/archive/2012/07/04/2573687.html


----------------------------------以上基本是think的脚本,功劳是他的,大家可以看他博客-----------------------------


//========so库===网上有人说,ZIP压缩进去,这是不行的,找不到库=====================

building unsigned.apk  的后面。
加入如下命令即可:

   <echo> zip the libs armebi .so ..</echo>
        <exec executable="zip" >
              <arg value="-r"/>
              <arg value="bin/unsigned.apk" />
              <arg value="libs/armeabi/libhwTTS.so" />   //这里对应你的库,你懂的。
        </exec>

//=========================================================================


//解决SO问题,think帮忙找到一个帖子,就搞定咯。额,我当时就各种搜索“android 如何动态打包so",根本就不是那么搜索的,应该是“ant 如何打包so",百度第一帖子就是。

需要修改上面的build.xml的apkBuilder命令,如下:

      <exec executable="apkbuilder">
            <arg value="bin/unsigned.apk" />
            <arg value="-u" />
            <arg value="-z" />
            <arg value="bin/res.zip" />
            <arg value="-f" />
            <arg value="bin/classes.dex" />
            <arg value="-nf"/>
            <arg value="libs"/>
        </exec>

这样就搞定咯!多版本傻么的,就出来咯,不过用空还是想研究THINK的模块开发,感觉很强大!







    
[2] 5102背景跟多国语言的构造
    来源: 互联网  发布时间: 2014-02-18
5102背景和多国语言的构造

          在这个项目里面,主界面和功能基本都完成了,而用新的架构写的程序像MyLaunch、SetLanguage、SetChangeSkin、Setting这四个工程要实现的是背景和多国语言的切换,其实大同小异,背景的切换就是在主界面中将要切换的背景id设置到注册表,修改注册表的值,其他程序在启动的时候都会先去读注册表的这个值,再去创建背景,当SetChangeSkin变换了背景后,发送消息给设置窗口,设置退出的时候再发消息给主界面,这样一个循环,保证背景一致,语言也可以这么做的。

           设置背景其他的程序都是开机启动过了,而多国语言是第一次搞,所以所有的程序都要进行修改。时间比较长。。。。


    
[3] Oracle公布了Java移动开发框架
    来源: 互联网  发布时间: 2014-02-18
Oracle发布了Java移动开发框架

经过两年的制作,甲骨文发布了一个移动客户端和相关框架,以帮助开发人员快速构建工业移动设备的Java应用程序。Oracle应用开发框架(ADF)移 动客户端应用程序开发提供了可以在不同的移动平台部署而不必要为每个特定平台编写代码,甲骨文的Fusion产品管理高级主管DuncanMills说 到。
  
  经过两年的制作,甲骨文发布了一个移动客户端和相关框架,以帮助开发人员快速构建工业移动设备的Java应用程序。
  
  Oracle应用开发框架(ADF)移动客户端应用程序开发提供了可以在不同的移动平台部署而不必要为每个特定平台编写代码,甲骨文的Fusion产品管理高级主管DuncanMills说到。
  
  甲骨文2009年10月首次宣布手机客户端软件,并在2010年4月发布了一个技术预览版。
  
  客户端,一个Oracle应用开发框架的延伸,是一个不同的组件,包括一个用于查看已经安装的应用程序、用来储存本地数据的小型数据库和Java运行时引擎,以及已经安装的不需要java的设备的浏览器。
  
  客户端框架使用一个基于JSF(JavaServerFaces)标准的用户界面。它还提供了一个预先设定的方式来同步数据与后端服务器,使开发人员可以指定哪些数据可以与数据库或其他数据源同步。
  
  客户端已与Oracle框架融合,但也可以与其他Web服务使用。客户端可让设备脱机使用数据,一旦连接回网络又可以传输数据。
  
  客户端还提供了一些工具来收集和传输设备本身所产生的数据比如摄像头,GPS读卡器,条码扫描仪或其他数据生成组件的数据,Mills说。
  
   目前,该手机客户端只适用于WindowsMobilever5和ver6,和RIM的BlackBerry设备。该框架还不支持 iPhone,Android设备或Windowsphone7设备。Oracle的开发团队正考虑扩大该框架来支持这些设备,但还没有具体的时间 表,Mills说。他指出,工业设备制造商仍然在他们的产品中安装旧版本的WindowsMobile,这些操作系统仍然在行业广泛使用。
  
  甲骨文通过仁科本身的移动应用管理来部署上周公布的移动客户端。
  
  移动客户机的成本为每用户5美元,也可以按每台设备来计算价格。Oracle还提供了一个免费的JDeveloperIDE(集成开发环境)扩展,帮助使用此客户端来设计应用程序。 TAG:

1 楼 GoogleAppEngine 2011-03-16  
http://www.sent998.com/?fromuid=403357 藏妃阁,你懂的...

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3