本文目录一览:
- 1、用电脑如何修改apk版本号?
- 2、java 获取已安装的程序版本号,在控制面板中可以看到的版本号,怎么获取呢?
- 3、java生成Sqlite数据库,下载到Android设备上,报错,提示版本号不对
- 4、Java如何生成版本号?比如0001 0002 0002
- 5、如何自定义和查看java程序版本号
- 6、用java或者用javascript获取当前应用的版本号的代码。
用电脑如何修改apk版本号?
如何修改apk文件[apk文件修改、图标、美化、去广告]完全教程
一、首先搭建jdk环境。
下载完后,点击安装。然后设置运行环境参数:
用鼠标右击“我的电脑”-属性-高级-环境变量
系统变量-新建-变量名:JAVA_HOME 变量值:D:\Program Files\Java\jdk1.7.0(这是我的安装路径这个不是固定的,比如你安装到C:\Program Files,就填C:\Program Files\Java\jdk1.7.0)
系统变量-编辑-变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;(若已经有Path项,无须另外新建,直接在后面加,但需用;与前面已有的项分隔开)
系统变量-新建-变量名:CLASSPATH 变量值:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
最后测试下环境变量是否设置成功
点开始菜单-运行-在这里输入cmd-回车-输入javac
1.如果出现如下信息:
用法:javac 选项 源文件
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath 路径 指定查找用户类文件的位置
-cp 路径 指定查找用户类文件的位置
-sourcepath 路径 指定查找输入源文件的位置
-bootclasspath 路径 覆盖引导类文件的位置
-extdirs 目录 覆盖安装的扩展目录的位置
-endorseddirs 目录 覆盖签名的标准路径的位置
-d 目录 指定存放生成的类文件的位置
-encoding 编码 指定源文件使用的字符编码
-source 版本 提供与指定版本的源兼容性
-target 版本 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-X 输出非标准选项的提要
-J标志 直接将 标志 传递给运行时系统
恭喜,你的Java环境变量配置成功了!
2.如果出现:
'javac' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
说明这Java环境变量配置出错了,仔细检查下吧!
二、下载APKTools工具包(里面包含:APKTools反编译工具、APKSign签名工具)。下载Notepad代码编辑器(可以修改smali和xml文件)。
在修改之前首先对APK文件内部结构有个了解:
AndroidManifest.xml 程序全局配置文件
classes.dex 这是Dalvik字节码
resources.arsc 编译后的二进制资源文件
META-INF\ 该目录下存放的是签名信息
res\ 该目录存放资源文件
assets\ 该目录可以存放一些配置文件
对应这些文件和目录做些基本的注释和介绍:
AndroidManifest.xml
该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等等信息。需要解包后才能加以阅读。
classes.dex文件
classes.dex是java源码编译后生成的java字节码文件。dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。
resources.arsc
编译后的二进制资源文件。
META-INF目录
META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的
java 获取已安装的程序版本号,在控制面板中可以看到的版本号,怎么获取呢?
eclipse是绿色软件 可直接删除文件夹,如果你下载时是全部安到g盘,那么c盘的应该是其他软件的,不过看你那图是在c有残留,看到sun公司的都是java,环境变量就随便你了,以后可能再用就不用改
java生成Sqlite数据库,下载到Android设备上,报错,提示版本号不对
要是手机java软件的话,就得需要手机支持安装java软件,不过一般的手机差不多都能支持,只是版本的不一样而已···要是你想问java学了之后如何使用的话,java还是比较擅长于web网页的开发和现在流行的安卓技术··
Java如何生成版本号?比如0001 0002 0002
首先还是不太明白你说的这个“生成版本号”是什么意思,如果只是生成一个自增序列的话
1、如果有oracle数据库的话可以利用它的序列生成。
2、没有oracle,用redis也行。
3、没有数据库,那就写个文件来存取吧:
public class Test2 {
public static void main(String[] args) throws IOException {
System.out.println(getSequence("d:\\test\\sequence.txt"));
setSequence("d:\\test\\sequence.txt", "");
System.out.println(getSequence("d:\\test\\sequence.txt"));
}
//读取序列
public static String getSequence(String sequenceFile) throws IOException {
FileInputStream fileInputStream = null;
InputStreamReader inputStreamReader = null;
BufferedReader bufferedReader = null;
try {
File file = new File(sequenceFile);
fileInputStream = new FileInputStream(file);
inputStreamReader = new InputStreamReader(fileInputStream);
bufferedReader = new BufferedReader(inputStreamReader);
// 按行读取字符串
String str;
if ((str = bufferedReader.readLine()) != null) {
return str;
}
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (bufferedReader != null) {
bufferedReader.close();
}
if (inputStreamReader != null) {
inputStreamReader.close();
}
if (fileInputStream != null) {
fileInputStream.close();
}
}
}
//设置序列,如果传入的序列号为空,则在原序列的基础上+1
public static void setSequence(String sequenceFile, String sequence) throws IOException {
if (sequence == null || sequence.isEmpty()) {
String oriSequence = getSequence(sequenceFile);
Objects.requireNonNull(oriSequence);
sequence = String.format("%04d", Integer.valueOf(oriSequence) + 1);
}
FileOutputStream fileOutputStream = null;
OutputStreamWriter outputStreamWriter = null;
BufferedWriter bufferedWriter = null;
try {
File file = new File(sequenceFile);
fileOutputStream = new FileOutputStream(file);
outputStreamWriter = new OutputStreamWriter(fileOutputStream);
bufferedWriter = new BufferedWriter(outputStreamWriter);
bufferedWriter.write(sequence);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bufferedWriter != null) {
bufferedWriter.close();
}
if (outputStreamWriter != null) {
outputStreamWriter.close();
}
if (fileOutputStream != null) {
fileOutputStream.close();
}
}
}
}
代码又挤在一起了:
读序列:
写序列:
运行结果:
先生成好这个文件:
冲!:
如何自定义和查看java程序版本号
可以在主类中设常量记录版本号。
然后命令行执行的时候,多送个参数进去(如version之类的),主类中收到此指令则返回版本号信息。
用java或者用javascript获取当前应用的版本号的代码。
获取当前应用的版本号:
private String getVersionName() throws Exception
{
// 获取packagemanager的实例
PackageManager packageManager = getPackageManager();
// getPackageName()是你当前类的包名,0代表是获取版本信息
PackageInfo packInfo = packageManager.getPackageInfo(getPackageName(),0);
String version = packInfo.versionName;
return version;
}
获取当前系统的版本号:
textView.setText("Product Model: " + android.os.Build.MODEL + ","
+ android.os.Build.VERSION.SDK + ","
+ android.os.Build.VERSION.RELEASE);