eclipse adtwebpack 引入第三方库sdk 打包的apk 里面,没有jar 包。。谁知道怎么解决的私聊我 ,QQ 57633056

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&二次元同好交流新大陆
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
转自1.)生成keystore按照下面的命令行 在C:\Program Files\Java\jdk1.6.0_10\bin&目录下,输入keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore参数意义:-validity主要是证书的有效期,写100000天;空格,退格键 都算密码。命令执行后会在C:\Program Files\Java\jdk1.6.0_10\bin&目录下生成&android.keystore文件。如图-1图-1命令行下生成android.keystore2.)eclipse生成apk文件选择要打包的项目,右键点击–&Android tools–&Export Signed Application Package…如图-2图-2 eclipse 打包工具接下来的步骤就是不断的next。下面仅贴出图片,不解释。step 2:选择打包的项目step 3: 选择生成的android.keystore文件并输入密码step 4:选择alias key并输入密码step 5:最后选择生成android apk文件的目录及文件名最终生成的apk文件--------------------------------------------------------------------------------------------(http://zhiwei.li/text/2010/12/android-apk的签名与重新签名/)现在,我们介绍Android APK的签名与重签名的一些要点APK实际上是一个ZIP压缩文件解压缩后有个META-INF目录META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。安装apk包时,应用管理器会按照同样的算法对包里的文件做校验,如果校验结果与META-INF下的内容不一致,系统就不会安装这个apk。每一个Android应用程序必须要有数字签名才能安装.有两种方法:一种是使用调试密钥(可以在模拟器或者设备上做调试时使用),还有一种就是私钥(为应用程序发布用).当组建Adriod应用程序时组建工具会自动为应用程序提供签名,但是如果想发布应用程序的时候,必须使用自己的私钥.编译时使用Release模式 需要手工添加签名.只有有签名的应用程序才可以安装.签名工具;来自开源软件Keytool创建一个密钥证书存储文件和一个私钥,用来为.apk文件签名Jarsigner (类似的签名工具)用Keytool产生的私钥为.apk文件签名使用Auto-sign工具重新对其进行签名即可,首先,删掉META-INF文件夹下的签名文件CERT.SFCERT.RSA从文件名就可以看出 cert.rsa 是 证书的rsa公钥替换原来apk包中的classes.dex, 在GNOME 的归档管理器 中拖进去即可, windows 资源管理器,其它压缩软件也可支持拖拉.SignApk.jar is a tool included with the Android platform source bundle.testkey.pk8 is the private key that is compatible with the recovery image included in this zip filetestkey.x509.pem is the corresponding certificate/public keyUsage:java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip update_signed.zip在哪里找到这些东西build\target\product\security目录下面的platform.pk8和platform.x509.pem两个文件签名工具在 build\tools\signapk\signapk.jar据说签名时 不必要删除原来的CERT.SF和CERT.RSA, 会自动替换掉的http://gbs-/files/Auto-sign.rarhttp://file.geeka.net/Android/tools/Auto-sign.rar在sun-java6-jdk 中包含有一个签名工具/usr/lib/jvm/java-6-sun-1.6.0.22/bin/jarsigner在openjdk-6-jdk 也有一个签名工具/usr/lib/jvm/java-6-openjdk/bin/jarsigner验证签名/usr/lib/jvm/java-6-sun-1.6.0.22/bin/jarsigner -verify /tmp/zhiwei.li.apk/usr/lib/jvm/java-6-sun-1.6.0.22/bin/jarsigner -verbose -certs -verify /tmp/zhiwei.apk 会输出详细的信息(输出详细信息和验证时显示证书)在 sun-java6-bin 有一个创建数字证书的工具/usr/lib/jvm/java-6-sun-1.6.0.22/bin/keytool/usr/lib/jvm/java-6-sun-1.6.0.22/jre/bin/keytoolopenjdk-6-jre-headless/usr/lib/jvm/java-6-openjdk/bin/keytool/usr/lib/jvm/java-6-openjdk/jre/bin/keytool/usr/lib/jvm/java-6-sun-1.6.0.22/bin/keytool -genkeypair -alias zhiwei.keystore -keyalg RSA -validity 11911 -keystore zhiwei.keystore用 /usr/lib/jvm/java-6-sun-1.6.0.22/bin/jarsigner -verify -verbose -certs 选项可以查看详细的验证信息比如证书的有效时间, 用keytool生成的证书, 据说有效时间应该在2030年之后才可以在android上运行调试签名的位置debug.keystore 默认位置在 ~/.android/目录Keystore name: “debug.keystore”Keystore password: “android”Key alias: “androiddebugkey”Key password: “android”CN: “CN=Android Debug,O=Android,C=US”---------------------------------------------------------------------------------------------发布程序到Android Market(/archives/publisher-to-the-android-market.html)给你的程序签名注意事项:所有提交到Market的程序必须经过签名。未经签名的程序不能安装。你可以使用个人证书去签名程序,不一定要经证书机构授权。用Debug版本证书签名的程序将不能发布。在安装程序时会检测签名证书是否过期。如果程序在安装后证书过期,程序也能正常使用。你可以使用keytool和Jarsigner产生密钥并签名你的程序。l你的程序在签名后还需要使用zipalign去优化。建议:用同一密钥签名所有程序,以保证程序的无缝升级。证书的有效期最好在25年以上。发布到Market的程序中证书有效期必须在日以后。&如何签名除了下面提到的方法,还有一种利用GUI来编译的方法。在Eclipse中Package Explorer里选择要编译的工程,File-&Export, 打开Android文件夹,选择Export Android Application,一步一步完成向导即可。这样程序就会编译,签名,优化,可以直接发布到Market了。&获取合适的私有密钥通过Keytool去产生私有密钥。Keytool在JDK/bin目录里(比如C:\Program Files\Java\jdk1.6.0_20\bin)。&Keytool参数描述-genkey生成公钥和私钥-v输出详细信息-keystore &keystore-name&.keystore生成的keystore文件名-alias &alias name&此密钥的别名。只保留前8位字符-keyalg &alg&加密算法。支持DSA和RSA-dname &name&用于描述此密钥的创建者信息。如果没有提供,Jarsigner会提示你输入这些信息-validity &valdays&密钥有效期,按天数。最好&10000例如:keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000更多关于keytool的信息:&编译Release版本程序在release状态下程序是未经签名的。在Eclipse中导出未经签名的release版本apk文件。在Package Explorer中找到要编译的工程,右击选择Android Tools-&Export Unsigned Application Package&用私有密钥签名通过Jarsigner来使用私有密钥签名。例如:jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name验证已签名程序:jarsigner -verify my_signed.apk&优化APK文件通过zipalign来优化apk文件。Zipalign可以在Andorid SDK/tools目录下找到。例如:zipalign -v 4 your_project_name-unaligned.apk your_project_name.apkyour_project_name-unaligned.apk是输入,your_project_name.apk是输出。如果要覆盖已有文件,需要加上-f参数&添加版本信息主要有两方面,一个是程序的版本号,另外一个是程序中要求的系统API版本号。二者都需要在AndroidManifest.xml中设定。&程序版本号Android:versionCode: int类型,只能是整数。别的程序在调用时要用到,最终用户无法看到。Android:versionName: 字符串类型。就是给最终用户看的。&程序要求的系统API版本号Android:minSdkVersion: 要执行此程序需要的最低的系统API版本Android:targetSdkVersion: 此程序设计时的目标系统API版本Android:maxSdkVersion: 此程序设计时支持的最高的系统API版本&准备发布发布前的检查列表:在考虑发布程序之前1. 在真实设备上进行完整的测试2. 考虑在程序中添加最终用户许可协议3. 在程序中添加图标和标题4. 关闭并清理log和debug信息在进行最后的编译之前5. 添加版本号6. 获取合适的密钥7. 如果用到了Mapview元素,请注册Maps API key在程序编译完成后8. 对程序进行签名9. 测试编译好的程序&发布程序到Android Market1. 注册账号:2. 在提交程序之前,必须确保程序符合Android Market 服务器的要求:(1) 对程序签名的私有密钥有效期必须在日之后。(2) 程序中必须设定了android:versionCode和android:versionName。前者用于程序的更新,后者会展示给最终用户。(3) 在程序的manifest中必须定义了android:icon和android:label。if ($ != jQuery) { $ = jQuery.noConflict(); }&步骤如下1、上传你的.apk文件。(必填)2、假如2张游戏截图,要求320w x 480h, 480w x 800h, 或480w x 854h,24 bit PNG or JPEG图片。(必填)3、上传高清icon,要求512w x 512h的24 bit PNG or JPEG图片,最大1024KB。(必填)4、上传特写图片,要求1024w x 500h的24 bit PNG or JPEG图片。(选填)5、促销视频。首先需要上传到youtube,然后把链接放到这里。(选填)6、勾选后选择退出市场,需要60天生效。7、选择语言。目前还没有简体中文。选择语言后,需要去掉不必要的语言。8、写标题。(用所选语言填写,最多30个字母)9、写描述。(用所选语言填写,最多4000个字母)10、写将要出的下一个版本的变化,也就是我们说的新版本更新内容。(英文,最多500个字母)11、产品促销广告文字。(英文,最多80个字母)12、选应用类型(应用类、游戏类)13、选app种类如果之前选的是应用类,则显示如下种类:comics 漫画communication 通讯demo 演示entertainment 娱乐finance 财务,财经health 健康lifestyle 生活multimedia 多媒体news & weather 新闻与天气productivity 生产reference 参考shopping 购物social 社会software libraries 软件库sports 体育themes 主题tools 工具travel 旅游如果之前选的是游戏类,则显示:arcade & Action 动作冒险类brain & puzzle 益智解密类cards & casino 棋牌赌博类casual 休闲类14、填入价格。有免费与付费可选。注:这里如果选定免费,则以后不可以改成付费。15、复制保护:如果选off ,则改应用可以被复制。如果选on,谷歌会有措施保护拷贝情况。16、选择内容级别:分mature(适合成人)、teen(适合十几岁合同)、pre-teen(适合10岁之前的儿童)、all(适合所有)17、选择区域:可选择在全球范围展示,也可以选择某几个国家。18、填入官方网站。19、联系信箱。20、联系电话。21、选中,则表示:我的软件遵守android内容条款。22、选中,则表示:我承认我的软件受美国出口法支配,不管我在哪个国家和地区。我同意我将遵守所有相关法律,包括申请人信息的加密功能。我在此证明我的软件是经过授权的从美国出口。然后点publish发表软件。也可点save保存或点delete删除。---------------------------------------------------------------------------------------------事实上,使用ECLISPE开发的ANDROID项目,在其bin文件夹里,会自动生成一个已签名的APK文件,可直接使用。但是,这个APK文件使用的是ECLIPSE默认的KEY进行签名,有效期只有一年。而发布到MARKET,有个50年的时间限制(国内的分享平台,一般没有这个限制)。这时,就需要使用自己的KEY来打包了。这些天,尝试用自定义的KEY打包,如果项目没有第三方JAR的话,打包成功。如果有的话,可能会出现代码混合的问题(可能重复定义或引用相关类引起)。这时,就没法打包成功。但一个比较奇怪的问题是,项目在开发的过程是没有报错的,也就是不影响使用。使用BIN文件夹下的APK,也完全正常使用。因此,产用了一种比较婉转的方式来解决自定义打包的问题。即使用KEYTOOLS生成一个debug.keystore,覆盖掉ECLIPSE默认的KEY。KEY的信息和位置如下:调试签名的位置debug.keystore 默认位置在 ~/.android/目录(WIN7下是:C:\Users\pc\.android)Keystore name: “debug.keystore”Keystore password: “android”Key alias: “androiddebugkey”Key password: “android”CN: “CN=Android Debug,O=Android,C=US”这样,重新BULID(CLEAN)项目后,就可以把这个BIN文件夹里的APK发布到MARKET了。另外,MARKET对软件不同版本使用的KEY也有一致性要求。因此,要保留第一次发布时使用的KEY。
阅读(8034)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'Android-APK打包,发布,代码混合问题解决',
blogAbstract:'在eclipse中将android工程打包成apk(源自http://my.oschina.net/ykai/blog/31911)转自
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}WP Cumulus Flash tag cloud by
9 or better.
2016年七月
11121314151617
18192021222324
25262728293031
本博客主机
最近访客新浪微博eclipse adt导入第三方开源库doc jar_百度知道
eclipse adt导入第三方开源库doc jar
hiphotos://a.jpg" esrc="http,但是无法显示其帮助文档.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="/zhidao/wh%3D450%2C600/sign=bf41bd5da06e0f064eaadfd/a6efce1b9d16fdfa875fc。看见官网上还有jsoup-/zhidao/wh%3D600%2C800/sign=ba4bb41ed13f28e22b22cc/a6efce1b9d16fdfa875fc.jar请问怎样导入使用://a./zhidao/pic/item/a6efce1b9d16fdfa875fc.8.2-doc下载了jsoup的核心库.2-sources.hiphotos://a
在android那里,也有个添加lib  希望我的回答对你有帮助,把他当作项目添加进去  3,直接在配置路径添加jar包  2  1
不是,核心库已经导入了,我想问哪个doc文档怎样导入?就是鼠标指向该库某个函数会显示该函数的帮助说明没导入就像上面图片那样,没有帮助文档
其他类似问题
为您推荐:
adt的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁eclipse引用第三方jar包,编译后发现第三方jar有个方法未被编译进classes.dex - 开源中国社区
当前访客身份:游客 [
当前位置:
问题描述:
eclipse引用第三方jar包,编译后发现第三方jar有个方法未被编译进classes.dex
1.引用第三方jar包,class-jarjar.jar放到项目的libs下,成功编译apk
2.运行时出现错误:
I/dalvikvm( 4716): Could not find method android.net.telecast.TransportManager.getInstance, referenced from method test.app.MainActivity.SectionReaderGetInt
W/dalvikvm( 4716): VFY: unable to resolve static method 271: Landroid/net/telecast/TransportM.getInstance (Landroid/content/C)Landroid/net/telecast/TransportM
D/dalvikvm( 4716): VFY: replacing opcode 0x71 at 0x0008
D/dalvikvm( 4716): VFY: dead code 0x000b-0051 in test/app/MainA.SectionReaderGetInt (Ljava/lang/S)V
D/AndroidRuntime( 4716): Shutting down VM
W/dalvikvm( 4716): threadid=1: thread exiting with uncaught exception (group=0x)
E/AndroidRuntime( 4716): FATAL EXCEPTION: main
E/AndroidRuntime( 4716): java.lang.NoSuchMethodError: android.net.telecast.TransportManager.getInstance
E/AndroidRuntime( 4716):
at test.app.MainActivity.SectionReaderGetInt(MainActivity.java:40)
E/AndroidRuntime( 4716):
at test.app.MainActivity.onCreate(MainActivity.java:29)
E/AndroidRuntime( 4716):
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime( 4716):
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
E/AndroidRuntime( 4716):
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1641)
E/AndroidRuntime( 4716):
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
E/AndroidRuntime( 4716):
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
E/AndroidRuntime( 4716):
at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 4716):
at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 4716):
at android.app.ActivityThread.main(ActivityThread.java:3649)
E/AndroidRuntime( 4716):
at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 4716):
at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 4716):
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime( 4716):
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime( 4716):
at dalvik.system.NativeStart.main(Native Method)
3.反编译这个apk,发现
ndroid.net.telecast.TransportManager.getInstance这个方法未被编进去
4.对比引用的第三方classes-jarjar.jar,说明这个包是没有问题的,只是eclipse编译时这个方法未被编进去
求大大们看看是神马原因导致的,有么有啥解决方法,thks
共有5个答案
<span class="a_vote_num" id="a_vote_num_
你现在用的ADT用的是什么版本的?
--- 共有 1 条评论 ---
.android.ide.eclipse.adt.overlay_20.0.0.v-391819.jar
,这个我就是因为这adt放到libs下面,之前是jar在自定义的user_lib库里面
(3年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
报错的关键地方是这个
FATAL EXCEPTION: main
E/AndroidRuntime( 4716): java.lang.NoSuchMethodError: android.net.telecast.TransportManager.getInstance
E/AndroidRuntime( 4716):
at test.app.MainActivity.SectionReaderGetInt(MainActivity.java:40)
android.net.telecast.TransportManager.getInstance 这个方法的包有木有啊?
<span class="a_vote_num" id="a_vote_num_
他能编译过去就说明有,是不是有什么包冲突什么的引起的.我以前也遇到过类似错误,是在ADT21下编译就有问题,在ADT20下就没有问题
<span class="a_vote_num" id="a_vote_num_
&?xml version=&1.0& encoding=&UTF-8&?&
&classpath&
&classpathentry kind=&src& path=&src&/&
&classpathentry kind=&src& path=&gen&/&
&classpathentry kind=&con& path=&com.android.ide.eclipse.adt.ANDROID_FRAMEWORK&/&
&classpathentry kind=&con& path=&com.android.ide.eclipse.adt.LIBRARIES&/&
&classpathentry kind=&output& path=&bin/classes&/&
&/classpath&
--- 共有 2 条评论 ---
: .classpath 文件内容
(3年前)&nbsp&
没看明白╮(╯▽╰)╭
这个xml自己新建加的一个xml文件还是在eclipse目录下面哪里配置?
(3年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
jar 包放到libs目录里 完事
更多开发者职位上
有什么技术问题吗?
thearyo...的其它问题
类似的话题

我要回帖

更多关于 xcode 引入第三方工程 的文章

 

随机推荐