小编Dob*_*bbo的帖子

使用Git和Eclipse为您的Android应用程序编号的自动版本

我相信计算机是做重复性任务的最佳选择.我当然不是,我要么忘记,要么(大多数时候)不以一致的方式做事 - 这不是我想要的.

我可能要做的一件事是在发布新版本的Android应用时忘记清单中的版本信息.在过去,我使用过具有自动版本编号功能的配置构建系统,并且我已经习惯了(或者我很懒).

我发现这个Stackoverflow帖子在提出解决方案时非常有用,但是我花了一段时间对它进行微调,以便它按照我想要的方式工作.早期的尝试有时会导致继续建设,这是一个痛苦.所以我想我会在这里发布我的解决方案,希望别人会发现它有用.

versioning git android

14
推荐指数
3
解决办法
8791
查看次数

Android Studio Gradle编程

好的,我在新的Android构建系统上观看了Xavier Ducrohet的YouTube视频.我甚至转而使用Android Studio并对此感到满意.现在我需要自定义构建规则以按照我想要的方式执行操作,其中一个是自动设置清单文件中的codeVersioncodeName.

Xavier在他的一张幻灯片中展示了如何做到这一点:

def getVersionCode() {
    def code = ...
    return code
}

android {
    defaultConfig {
        versionCode getVersionCode()
    }
}
Run Code Online (Sandbox Code Playgroud)

那么有些人可以如此友善地指出我有充足的资源来填补空白点吗?

更具体一点,我想运行一个类似于git describe --dirty | sed -e 's/^v//'确定versionNamegit tag | grep -c ^v获取的脚本versionCode.

谢谢

更新

我试过以下gradle.build脚本但没有成功.它构建得很好,但我安装的应用程序的App Info页面中的版本名称不会更改.

task getVersionName(type:Exec) {
  commandLine '../scripts/version-name.sh'

  //store the output instead of printing to the console:
  standardOutput = new ByteArrayOutputStream()

  //extension method stopTomcat.output() can be used to …
Run Code Online (Sandbox Code Playgroud)

gradle android-studio build.gradle

8
推荐指数
1
解决办法
3446
查看次数

Android 权限、签名和开发者密钥

我正在开发一个具有多个组件的应用程序,每个组件都是一个单独的 Android 应用程序。“核心”应用程序将使用内容提供程序提供对数据库的访问,阅读权限文档“签名”保护是我想要的方式。

我为我的权限定义了一个组,主要是为了我的权限可以很好地显示在应用信息的“权限”部分中我自己的图标上。与android:protectionLevel="normal"他们出现就好了。但是当我使用android:protectionLevel="signature"它们时它们消失了。

<permission-group
    android:name="com.example.permissions.GROUP"
    android:label="@string/lblGroup"
    android:description="@string/descGroup"
    android:icon="@drawable/ic_menu_permissions_group" />

<permission
    android:name="com.example.permission.CONFIG_READ"
    android:permissionGroup="com.example.permissions.GROUP"
    android:protectionLevel="signature"
    android:label="@string/lblConfigRead"
    android:description="@string/descConfigRead" />
<permission
    android:name="com.example.permission.CONFIG_WRITE"
    android:permissionGroup="com.example.permissions.GROUP"
    android:protectionLevel="signature"
    android:label="@string/lblConfigWrite"
    android:description="@string/descConfigWrite" />
Run Code Online (Sandbox Code Playgroud)

鉴于我目前正在开发,因此使用开发人员密钥,是否还有其他一些需要我跳过才能使“签名”保护级别适用于开发人员的问题?

一如既往地感谢您的帮助

史蒂夫

android android-permissions

6
推荐指数
1
解决办法
3418
查看次数

具有抽象类继承的JPA实体

我有一个抽象类,它提供了一些继承的EJB实体的一些常用功能.其中一个是时间戳列.

public abstract class AbstractEntity {

    ...
    private long lastModified;
    ...

    @Column
    public long getLastModified() {
        return lastModified;
    }

    public void setLastModified(long ts) {
       lastModified = ts;
    }
}
Run Code Online (Sandbox Code Playgroud)

@Table
@Entity
public class MyEntity extends AbstractEntity {
    ...
    private Long key;
    private String value;
    ...

    @Id
    public Long getKey() {
        return key;
    }

    public void setKey(Long k) {
        key = k;
    }

    @Column
    public String getValue() {
        return value;
    }

    public void setValue(String txt) {
        value = txt;
        setLastModified(System.currentTimeMillis()); …
Run Code Online (Sandbox Code Playgroud)

ejb java-ee jboss7.x

5
推荐指数
1
解决办法
1万
查看次数

不渲染转换后的路径

我不确定我是否在 Android 中发现了错误,或者我的代码中是否存在错误。我认为这可能是我读过的硬件加速错误的另一种(或新的)表现形式。我在 android 4.2 上运行,但android:hardwareAccelerated="true"在清单文件中设置并不能解决问题。

问题存在于自定义视图中。它有一个复杂的显示,所以Path我不是单独指定所有字段,而是解析一个 SVG 文件并根据<path>元素的数据规范构建路径。SGV 解析器还提取了 SVG 绘图区的宽度和高度,以便View生成在 SVG 空间和空间之间转换的矩阵:

Matrix t = new Matrix();

float scale = Math.min(viewWidth / svgWidth, viewHeight / svgHeight);
t.setScale(scale, scale);
Run Code Online (Sandbox Code Playgroud)

此变换应用于onDraw(Canvas)方法中的画布。问题是有些路径渲染正常,有些则没有。沿着路径渲染的文本也是如此。

我想我已经找到了渲染和未渲染之间的区别:直线。被渲染的文本在一条对角线上,而不是在一条完全水平的线上。将文本路径从水平方向移开会导致文本被渲染。将水平线更改为三次曲线也是如此,控制点位于线本身上 - 因此它呈现为一条直线;从现在开始我将称之为直线曲线。

如果边界框(翻译前或翻译后)的体积为零(boundingBox.left - boundingBox.right == 0boundingBox.top - boundingBox.bottom == 0),Android 加速代码中是否存在过滤路径的错误?也许!但是我还有其他不渲染路径的情况:路径仅由直线组成。即使这些路径的边界框有体积,它们也不会渲染。将路径元素之一从直线更改为直线,整个路径渲染得很好。

当然,从性能的角度来看,我不想将我的一些线条渲染为直线,我假设线条绘制代码比三次曲线代码更快。所以我发这个是想问问其他人是否遇到过这个问题,是否有解决办法。

一如既往地非常感谢。

android drawing

2
推荐指数
1
解决办法
1024
查看次数

获得鉴别者专栏的价值

我有一个使用鉴别器列的JPA实体.但我需要访问鉴别器的值作为实体的一个字段.我怎么样 如果我创建一个与鉴别器列匹配的方法,我在部署时会收到以下错误:

Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: com.example.PortEntity column: type (should be mapped with insert="false" update="false")
Run Code Online (Sandbox Code Playgroud)

实体定义:

@Entity(name="Port")
@DiscriminatorColumn(name="type",
         discriminatorType=DiscriminatorType.STRING,
         length=10)
@DiscriminatorValue(value="port")
@Table(name="vPorts")
@XmlRootElement(name="port")
public class PortEntity {

     ...

     @Column(name="type", length=20, insert=false, update="false")
     @XmlAttribute(name="type")
     public String getType() { ... }

     public void setType(String newType) {... }

     ...

     @Entity(name="SeaPort")
     @DiscriminatorValue(value="seaport")
     @XmlRootElement(name="seaport")
     public static class Sea
     extends PortEntity { ... }



     @Entity(name="AirPort")
     @DiscriminatorValue(value="seaport")
     @XmlRootElement(name="seaport")
     public static class Air
     extends PortEntity { ... }

}
Run Code Online (Sandbox Code Playgroud)

jpa java-ee

2
推荐指数
2
解决办法
5820
查看次数