我发现我的R.java永远不会更新,因此它不包含有关我的新资源的信息,所以我决定删除它并认为Eclipse会生成一个新资源.但这没有发生,我现在没有R.java.我怎样才能再生一个?
我正在使用Windows 7.
从其中一条评论:"做项目 - > 清理是导致问题的原因.清理删除R.java ......无论出于何种原因,插件都没有重新生成文件."
只是想知道是否有人尝试过使用Android的新Java 7语言功能?我知道Android会读取Java吐出的字节码并将其转换为dex.所以我想我的问题是它能理解Java 7的字节码吗?
我是android世界的新角色,拥有.NET背景.我正在尝试安装Android Studio,但我在Android.com上与开发Android应用程序所需的JDK版本不匹配.
在SDK网页上,它指出需要JDK 6(在系统要求部分下).吉姆威尔逊也坚持他的Pluralsight课程(这是从去年五月开始的新课程),使用版本7和Android SDK将会产生很多麻烦,并且明确只使用JDK 6.
虽然在Android工作室页面(在安装步骤2下),他们解释了如何设置指示正确JDK位置的环境变量.在这里,他们使用JDK 7的路径
选择
Start menu > Computer > System Properties > Advanced System Properties.然后打开Advanced tab > Environment Variables并添加一个JAVA_HOME指向JDK文件夹的新系统变量C:\Program Files\Java\jdk1.7.0_21.
我很确定ADT和Eclipse软件包以及Android Studio软件包都使用相同的SDK,但现在我对我需要安装哪个JDK版本感到困惑.我唯一的目的是在迈出Android开发的第一步时尽可能避免出现问题.
免责声明:我对Pluralsight没有任何意义.我只是跟随课程的普通用户.
我正在Eclipse中更新我的SDK Manager,并且有两个新的下载:
Android L(API20,L预览版)
Android 4.4W(API20)
我很困惑,因为它们都被称为"API 20".我不确定"4.4W"中的"W"是指什么.
我是Android开发的新手.我可以使用在Android中使用JDK 7开发的现有Java代码吗?
这些函数使用xerces dom和xslt以及xpathapi.目前,当我安装Android Eclipse ADT环境时,这些功能都没有编译.我还想知道Android设备本身是否支持JRE 6或7?
使用Ant,我正在尝试在发布模式下构建Android应用程序以进行分发.我的问题出在签署过程中.我使用Export Android Application向导通过Eclipse创建了一个密钥库和别名,如果通过Eclipse导出应用程序,则应用程序已正确签名.当我尝试通过Ant完成相同的过程时,我在build.properties文件中引用了我的密钥库和别名:
key.store=C:\\Users\\a512091\\.android\\release.keystore
key.alias=application
key.store.password=android
key.alias.password=android
Run Code Online (Sandbox Code Playgroud)
构建过程成功,我得到一个Application-release.apk文件.我用jarsigner使这个APK变得非常漂亮,所有文件都有"sm"标签.这是输出的尾部:
jar verified.
Warning:
This jar contains entries whose certificate chain is not validated.
Run Code Online (Sandbox Code Playgroud)
当我尝试将此APK安装到模拟器或设备中时,我得到以下内容:
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
Run Code Online (Sandbox Code Playgroud)
Logcat显示我的CSS文件和图像资产上的签名问题:
11-07 11:06:20.060: WARN/PackageParser(58): Exception reading assets/www/css/base.css in /data/app/vmdl48898.tmp
11-07 11:06:20.060: WARN/PackageParser(58): java.lang.SecurityException: META-INF/XXXXX.SF has invalid digest for assets/www/res/droidhdpi/favorite_off.png in /data/app/vmdl48898.tmp
11-07 11:06:20.060: WARN/PackageParser(58): at java.util.jar.JarVerifier.verifyCertificate(JarVerifier.java:369)
11-07 11:06:20.060: WARN/PackageParser(58): at java.util.jar.JarVerifier.readCertificates(JarVerifier.java:272)
11-07 11:06:20.060: WARN/PackageParser(58): at java.util.jar.JarFile.getInputStream(JarFile.java:392)
11-07 11:06:20.060: WARN/PackageParser(58): at android.content.pm.PackageParser.loadCertificates(PackageParser.java:337)
11-07 11:06:20.060: WARN/PackageParser(58): at android.content.pm.PackageParser.collectCertificates(PackageParser.java:508)
11-07 11:06:20.060: WARN/PackageParser(58): at com.android.server.PackageManagerService.installPackageLI(PackageManagerService.java:5885)
11-07 11:06:20.060: WARN/PackageParser(58): at com.android.server.PackageManagerService.access$2100(PackageManagerService.java:134) …Run Code Online (Sandbox Code Playgroud) 免责声明:我知道签署APK的基本知识,我只对我的一个项目有问题,并且只有在使用Microsoft Windows作为操作系统进行签名时才会出现问题.
我正在使用Maven构建我的APK 并使用maven-jarsigner-plugin进行签名:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<executions>
<execution>
<id>signing</id>
<goals>
<goal>sign</goal>
</goals>
<phase>package</phase>
<inherited>true</inherited>
<configuration>
<archive>target/${project.build.finalName}.apk</archive>
<sigfile>CERT</sigfile>
<keystore>${env.HOME}/.keystore</keystore>
<storepass>${env.KEY_STOREPASS}</storepass>
<keypass>${env.KEY_KEYPASS}</keypass>
<alias>${env.KEY_ALIAS}</alias>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
现在有了我的一个项目,在尝试安装和启动应用程序时出现以下错误:
1360 KB/s (2057872 bytes in 1.477s)
pkg: /data/local/tmp/FX-602P-Droid-5.0.0.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
Run Code Online (Sandbox Code Playgroud)
正如我在第一句中所说:在使用Mac OS X进行签名时,它工作正常.只有在使用Windows 7进行签名时才会失败.
--debug在调用Maven时使用我看到jarsigner被称为ok并且没有报告错误:
[INFO]
[INFO] --- maven-jarsigner-plugin:1.2:sign (signing) @ FX-602P-Droid ---
[DEBUG] org.apache.maven.plugins:maven-jarsigner-plugin:jar:1.2:
[DEBUG] org.apache.maven:maven-plugin-api:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-project:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-settings:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-profile:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-model:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-artifact-manager:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-repository-metadata:jar:2.0.6:compile
[DEBUG] org.apache.maven:maven-plugin-registry:jar:2.0.6:compile
[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile
[DEBUG] junit:junit:jar:3.8.1:compile
[DEBUG] classworlds:classworlds:jar:1.1-alpha-2:compile
[DEBUG] org.apache.maven:maven-artifact:jar:2.0.6:compile …Run Code Online (Sandbox Code Playgroud) 导出我的Android应用程序时,Proguard返回错误代码1.我在我的应用程序中使用twitter4j外部jar.
我已经添加了库jar,rt.jar(为此我下载了最新的jdk1.7,其中包含javax.management.*类),并且还对proguard.cfg文件执行了dontwarn语句.
我包括了injar,libraryjars声明也..
更新
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-dontshrink
-verbose
#-injars bin/classes
#-injars libs
#-outjars bin/classes-processed.jar
-libraryjars <java.home>/jre/lib/rt.jar
-libraryjars <java.home>/lib/tools.jar
-libraryjars /libs/twitter4j-core-3.0.3.jar
-libraryjars /libs/twitter4j-media-support-3.0.3.jar
-libraryjars /libs/linkedin-j-android.jar
-libraryjars /libs/signpost-commonshttp4-1.2.jar
-libraryjars /libs/signpost-core-1.2.1.1.jar
-libraryjars /libs/signpost-jetty6-1.2.1.1.jar
-dontwarn org.apache.**
-dontwarn org.slf4j.**
-dontwarn org.json.*
-dontwarn org.mortbay.**
-dontwarn org.apache.log4j.**
-dontwarn org.apache.commons.logging.**
-dontwarn org.apache.commons.logging.**
-dontwarn org.apache.commons.codec.binary.**
-dontwarn javax.xml.**
-dontwarn javax.management.**
-dontwarn java.lang.management.**
-dontwarn android.support.**
-dontwarn com.google.code.**
-dontwarn oauth.signpost.**
-dontwarn twitter4j.**
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public …Run Code Online (Sandbox Code Playgroud) 我想解决这个错误
R无法解析为变量
我查了许多答案,但我找不到合适的答案; 我尝试了一切.任何人都可以帮助我吗?
我自动创建的主要活动.从以下三行开始显示错误case R.id.button1::
package de.vogella.android.temprature1;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
public class Convert extends Activity {
private EditText text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text = (EditText) findViewById(R.id.editText1);
}
// This method is called at button click because we assigned the name to the
// "On Click property" of the button
public void myClickHandler(View view) {
switch (view.getId()) {
case R.id.button1:
RadioButton celsiusButton = (RadioButton) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用菱形运算符,但我收到以下消息:
-source 1.5不支持菱形运算符(使用-source 7或更高版本启用菱形运算符)
是否可以修复与android的netbeans?
我正在使用Eclipse.如果我将主(Android)项目的合规性级别从1.6更改为1.7,则会出现错误:
Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
如果我将"库"(Java)项目的合规性级别从1.7更改为1.6,则其中的许多代码将变为无效.
是否正在浏览Java项目的代码并修复我的单个选项中的每个错误?
所以我有这个逻辑,每个字符串分割4个字符.像这样的东西
0108011305080508000000 gives 0108 0113 0508 0508 0000 00
Run Code Online (Sandbox Code Playgroud)
我使用的逻辑是
String [] splitErrorCode = inputString.split("(?<=\\G....)");
Run Code Online (Sandbox Code Playgroud)
它在Java中运行良好,但是当我在Android中运行时,我得到了错误的输出.
0108 011305080508000000
我不知道出了什么问题.经过String的split函数后,我意识到Android使用的fastSplit地方,因为Java版本有一个巨大的分裂逻辑.
两个功能都不应该相同吗?为什么这是个问题?有什么意见/建议吗?