本人在Eclipse下建立Android程序调用Jar包,编译过程正常,但是在“Run as Android Application”之后模拟器报错,提示“could not find com.cy.cyLib.cyLib " 之后模拟器中程序退出。
本人刚学习android一个月,这个问题困扰本人几天了,求解决。
以下是实际参考例子:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
一 .jar包的生成
1 )创建一个 java 工程, file-->java project--> project name:cyLib-->finish.
2 ) Package Explorer-->cyLib-->src 右键 -->new-->package--> Name:com.cy.cyLib-->finish.
3 ) Package Explorer-->cyLib-->src-->com.cy.cyLib 右键 -->new-->class--> Name:cyLib-->finish.
生成 cyLib.java 文件,内容如下:
package com.cy.cyLib;
public class cyLib {
}
4 ) Package Explorer-->cyLib--> 右键 -->build path-->configure build path
--> Add External JARs...--> 选择 gooleSDK 自带的 Android.jar 包 -->OK.
导入该包的是因为我们需要调用 Android 的函数, 导入成功后,cyLib工程目录中会添加一个
名为referenced libraries目录,其中包含子目录Android.jar。
5 )修改 cyLib.java 文件内容如下:
03 | importAndroid.util.Log; |
07 | publicstaticvoidmain(String[] args){ |
09 | System. out .println("CY Functions!!!!!!!"); |
16 | Log. d ("==========","======="); |
6 ) Package Explorer-->cyLib--> 右键 -->run as -->java application
运行无误,并在 console 端有如下输出:
CY Functions!!!!!!!
7 )此时就可以 export 了
Package Explorer-->cyLib--> 右键 -->export--> java-->java file-->next
选择所要导出的工程名,填写导出包的路径名
finish, 即可在桌面上生成 cyLib.jar 文件。
二 .jar包的引用
1 ) 新建 Android 应用工程 cyApp
Package Explorer-->cyLib--> 右键 -->build path-->configure build path
-->java build path-->libraries-->add external jars-->选择上一步中生成的cyLib.jar
-->OK即可.
导入成功后,cyLib工程目录中会添加一个名为referenced libraries目录,其中包含子目录 cyLib.jar.
2 ) 然后在 cyApp.java 中就可以引用 cyLib 中的函数了,调用过程如下:
======================cyApp.java===========================
03 | importAndroid.app.Activity; |
04 | importAndroid.os.Bundle; |
05 | importAndroid.widget.TextView; |
07 | import com.cy.cyLib.cyLib; |
09 | publicclasscyAppextendsActivity { |
11 | publiccyLib cylib =newcyLib(); |
13 | /** Called when the activity is first created. */ |
17 | publicvoidonCreate(Bundle savedInstanceState) { |
19 | super.onCreate(savedInstanceState); |
21 | setContentView(R.layout. main ); |
25 | TextView textView = (TextView) findViewById(R.id. textview ); |
27 | textView.setText("cyFuns!!!!!!"); |
运行 cyApp ,即可在 DDMS 中看到 cylib .func1() 打印的信息: ========== =======